MCP Server

Tools Reference

Complete reference for WPNuxt MCP server tools

This page documents all available tools in the WPNuxt MCP server.

WordPress Discovery Tools

wp_connect

Connect to a WordPress site for the current session.

Parameters:

NameTypeRequiredDescription
wordpressUrlstringYesWordPress site URL (e.g., https://your-site.com)

Example:

Connect to https://wordpress.wpnuxt.com

Returns: Site information including title, description, language, and GraphQL endpoint status.


wp_get_site_settings

Fetch WordPress general settings (site title, tagline, URL, etc.).

Parameters: None

Returns: Site title, description, URL, language, and reading settings.


wp_list_content_types

List all content types in WordPress including custom post types.

Parameters: None

Returns: Array of content types with:

  • name - Internal name (e.g., post, page, product)
  • graphqlSingleName - Singular GraphQL name
  • graphqlPluralName - Plural GraphQL name
  • hierarchical - Whether content supports parent/child relationships

wp_list_taxonomies

List all taxonomies (categories, tags, custom taxonomies).

Parameters: None

Returns: Array of taxonomies with GraphQL names and associated content types.


wp_list_menus

List all WordPress navigation menus with their items.

Parameters: None

Returns: Array of menus with:

  • name - Menu name
  • slug - Menu slug
  • locations - Theme locations where menu is assigned
  • items - Menu items with labels, URLs, and hierarchy

wp_detect_plugins

Detect installed WordPress plugins by analyzing the GraphQL schema.

Parameters: None

Returns: Detected plugins including:

  • WooCommerce
  • Advanced Custom Fields (ACF)
  • Yoast SEO
  • WPGraphQL extensions
  • Headless Login for WPGraphQL

wp_list_blocks

Analyze Gutenberg blocks used across the site.

Parameters:

NameTypeRequiredDescription
sampleSizenumberNoNumber of posts/pages to scan (10-100, default 50)

Returns: Block usage statistics including:

  • Core blocks (paragraph, heading, image, etc.)
  • Custom/plugin blocks
  • Usage frequency
  • Sample attributes

Content Fetching Tools

wp_fetch_posts

Fetch posts from WordPress.

Parameters:

NameTypeRequiredDescription
firstnumberNoNumber of posts (1-100, default 10)
afterstringNoCursor for pagination

Returns: Posts with title, excerpt, content, featured image, author, and categories.


wp_fetch_pages

Fetch pages from WordPress.

Parameters:

NameTypeRequiredDescription
firstnumberNoNumber of pages (1-100, default 10)
afterstringNoCursor for pagination

Returns: Pages with title, content, featured image, and parent/child hierarchy.


wp_sample_content

Get sample content for development and testing.

Parameters:

NameTypeRequiredDescription
contentTypestringNoContent type to sample (default: post)
countnumberNoNumber of items (1-10, default 3)

Returns: Sample content items with full data structure.


wp_query

Execute a custom GraphQL query against WordPress.

Parameters:

NameTypeRequiredDescription
querystringYesGraphQL query string
variablesobjectNoQuery variables

Returns: Raw GraphQL response.


Code Generation Tools

wpnuxt_init

Generate a complete WPNuxt project based on WordPress site analysis.

Parameters:

NameTypeRequiredDescription
projectNamestringYesProject folder name
packageManagerstringNopnpm, npm, yarn, or bun (default: pnpm)
includeNuxtUIbooleanNoInclude Nuxt UI v4 (default: true)
generatePagesbooleanNoGenerate page components (default: true)
generateComponentsbooleanNoGenerate content components (default: true)
setupMenusbooleanNoGenerate menu components (default: true)
generateQueriesbooleanNoGenerate GraphQL queries (default: true)

Returns: Complete project files including:

  • nuxt.config.ts
  • package.json
  • app.vue
  • Default layout
  • Home page
  • Environment files

wpnuxt_generate_pages

Generate Nuxt page components for WordPress content types.

Parameters:

NameTypeRequiredDescription
contentTypesstringNoContent types to generate pages for
includeHomebooleanNoGenerate home page (default: true)
includeCatchAllbooleanNoGenerate catch-all route (default: true)
displayPreferencesobjectNoLayout preferences per content type

Returns: Page components with:

  • Archive (index) pages
  • Single item pages
  • Catch-all route for WordPress URIs

wpnuxt_generate_components

Generate Vue components for WordPress content types.

Parameters:

NameTypeRequiredDescription
contentTypesstringNoContent types (default: post, page)
includeTaxonomiesbooleanNoGenerate taxonomy lists (default: true)
includeUtilitiesbooleanNoGenerate utility components (default: true)

Returns: Components including:

  • PostCard.vue / PageCard.vue - Content preview cards
  • PostsList.vue / PagesList.vue - Grid list components
  • CategoriesList.vue / TagsList.vue - Taxonomy lists
  • FeaturedImage.vue - Responsive image component

wpnuxt_generate_queries

Generate custom GraphQL queries for content types.

Parameters:

NameTypeRequiredDescription
contentTypesstringNoContent types to generate queries for
includeFragmentsbooleanNoInclude reusable fragments (default: true)

Returns: GraphQL query files for the extend/queries/ folder.


wpnuxt_generate_block_renderers

Generate Vue components for rendering Gutenberg blocks.

Parameters:

NameTypeRequiredDescription
includeCorebooleanNoInclude core block renderers (default: true)
includeCustombooleanNoInclude custom/plugin blocks (default: true)

Returns: Block renderer components including:

  • BlockRenderer.vue - Main renderer component
  • CoreParagraph.vue, CoreHeading.vue, etc. - Core blocks
  • Custom block components based on detected usage

wpnuxt_setup_menus

Generate navigation menu components.

Parameters:

NameTypeRequiredDescription
menuNamestringNoSpecific menu to generate for
includeNuxtUIbooleanNoUse Nuxt UI components (default: auto-detect)

Returns: Menu components with:

  • Desktop navigation
  • Mobile navigation
  • Dropdown submenus

Utility Tools

wpnuxt_list_composables

List WPNuxt composables available for the project.

Parameters: None

Returns: Available composables with:

  • Default composables (usePosts, usePages, useMenu, etc.)
  • Naming convention explanation
  • Usage examples

wpnuxt_migrate

Analyze a WPNuxt v1 project and detect usage anti-patterns, then generate migration helpers.

Parameters:

NameTypeRequiredDescription
fileContentsarrayYesFiles to scan (path and content)
generateHelpersbooleanNoGenerate compatibility helpers (default: true)

What it scans for:

v1 → v2 Migration Issues:

  • Removed composables (useFeaturedImage, useWPUri, usePrevNextPost, isStaging)
  • Renamed composables (useWPPostsusePosts, useAsyncWPPostsuseLazyPosts)
  • Renamed directives (v-sanitizev-sanitize-html)
  • Removed components (<WPContent>, <ContentRenderer>, <StagingBanner>)
  • Changed configuration options

Usage Anti-Patterns (SSR issues):

  • Composables called inside lifecycle hooks (onMounted, etc.) - breaks SSR
  • Composables called inside functions instead of top level
  • Missing .value access on Refs returned by composables
  • Incorrect data assignment patterns

Example of anti-patterns detected:

<script setup>
// ❌ BAD: Composable inside onMounted breaks SSR
onMounted(async () => {
  const { data } = await usePosts()  // Will not work on server!
  posts.value = data || []           // Missing .value on data
})

// ✅ GOOD: Composable at top level
const { data: posts } = await usePosts()
</script>

Returns:

  • List of issues with file locations, line numbers, and severity
  • Auto-fix suggestions
  • Generated compatibility helper file (app/composables/wpnuxt-compat.ts)
  • Step-by-step migration instructions

See Migration Guide for more details.

Copyright © 2026