Tools Reference
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:
| Name | Type | Required | Description |
|---|---|---|---|
wordpressUrl | string | Yes | WordPress 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 namegraphqlPluralName- Plural GraphQL namehierarchical- 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 nameslug- Menu sluglocations- Theme locations where menu is assigneditems- 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:
| Name | Type | Required | Description |
|---|---|---|---|
sampleSize | number | No | Number 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:
| Name | Type | Required | Description |
|---|---|---|---|
first | number | No | Number of posts (1-100, default 10) |
after | string | No | Cursor for pagination |
Returns: Posts with title, excerpt, content, featured image, author, and categories.
wp_fetch_pages
Fetch pages from WordPress.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
first | number | No | Number of pages (1-100, default 10) |
after | string | No | Cursor for pagination |
Returns: Pages with title, content, featured image, and parent/child hierarchy.
wp_sample_content
Get sample content for development and testing.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
contentType | string | No | Content type to sample (default: post) |
count | number | No | Number of items (1-10, default 3) |
Returns: Sample content items with full data structure.
wp_query
Execute a custom GraphQL query against WordPress.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
query | string | Yes | GraphQL query string |
variables | object | No | Query variables |
Returns: Raw GraphQL response.
Code Generation Tools
wpnuxt_init
Generate a complete WPNuxt project based on WordPress site analysis.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
projectName | string | Yes | Project folder name |
packageManager | string | No | pnpm, npm, yarn, or bun (default: pnpm) |
includeNuxtUI | boolean | No | Include Nuxt UI v4 (default: true) |
generatePages | boolean | No | Generate page components (default: true) |
generateComponents | boolean | No | Generate content components (default: true) |
setupMenus | boolean | No | Generate menu components (default: true) |
generateQueries | boolean | No | Generate GraphQL queries (default: true) |
Returns: Complete project files including:
nuxt.config.tspackage.jsonapp.vue- Default layout
- Home page
- Environment files
wpnuxt_generate_pages
Generate Nuxt page components for WordPress content types.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
contentTypes | string | No | Content types to generate pages for |
includeHome | boolean | No | Generate home page (default: true) |
includeCatchAll | boolean | No | Generate catch-all route (default: true) |
displayPreferences | object | No | Layout 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:
| Name | Type | Required | Description |
|---|---|---|---|
contentTypes | string | No | Content types (default: post, page) |
includeTaxonomies | boolean | No | Generate taxonomy lists (default: true) |
includeUtilities | boolean | No | Generate utility components (default: true) |
Returns: Components including:
PostCard.vue/PageCard.vue- Content preview cardsPostsList.vue/PagesList.vue- Grid list componentsCategoriesList.vue/TagsList.vue- Taxonomy listsFeaturedImage.vue- Responsive image component
wpnuxt_generate_queries
Generate custom GraphQL queries for content types.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
contentTypes | string | No | Content types to generate queries for |
includeFragments | boolean | No | Include 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:
| Name | Type | Required | Description |
|---|---|---|---|
includeCore | boolean | No | Include core block renderers (default: true) |
includeCustom | boolean | No | Include custom/plugin blocks (default: true) |
Returns: Block renderer components including:
BlockRenderer.vue- Main renderer componentCoreParagraph.vue,CoreHeading.vue, etc. - Core blocks- Custom block components based on detected usage
wpnuxt_setup_menus
Generate navigation menu components.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
menuName | string | No | Specific menu to generate for |
includeNuxtUI | boolean | No | Use 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:
| Name | Type | Required | Description |
|---|---|---|---|
fileContents | array | Yes | Files to scan (path and content) |
generateHelpers | boolean | No | Generate compatibility helpers (default: true) |
What it scans for:
v1 → v2 Migration Issues:
- Removed composables (
useFeaturedImage,useWPUri,usePrevNextPost,isStaging) - Renamed composables (
useWPPosts→usePosts,useAsyncWPPosts→useLazyPosts) - Renamed directives (
v-sanitize→v-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
.valueaccess 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.