Model Context Protocol (MCP) support via @nuxtjs/mcp-toolkit.
Your site exposes tools and resources that AI agents like Claude can query for page data and search.
npx nuxi module add @nuxtjs/mcp-toolkit
export default defineNuxtConfig({
modules: [
'nuxt-ai-ready',
'@nuxtjs/mcp-toolkit',
],
})
See @nuxtjs/mcp-toolkit docs for server configuration.
Add to Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"my-site": {
"command": "npx",
"args": ["-y", "@nuxtjs/mcp-client", "https://example.com/mcp"]
}
}
}
list_pagesReturns page metadata as JSON. Cached 1 hour.
Parameters: None
Response:
[
{
"route": "/docs/getting-started",
"title": "Getting Started",
"description": "Quick start guide",
"headings": "h1:Getting Started|h2:Installation",
"updatedAt": "2025-01-15T10:30:00Z"
}
]
search_pages_fuzzyFuzzy search across pages via Fuse.js. Searches title, description, and route. Cached 5 minutes.
Parameters:
| Param | Type | Description |
|---|---|---|
query | string | Search query |
limit | number | Max results (default: 10) |
Response:
[
{
"route": "/docs/installation",
"title": "Installation",
"description": "Install the module",
"score": 0.15
}
]
resource://nuxt-ai-ready/pagesPage listing as JSON. Same data as list_pages tool. Cached 1 hour.
Use resources when agents need static data without parameters.
MCP tools return data from prerendered pages stored in page-data.jsonl.
| Environment | Data Source |
|---|---|
| Dev mode | Empty (no prerender data) |
| Production | Virtual module reads JSONL |
For full MCP functionality, test with a production build (nuxi generate).
Disable specific features:
export default defineNuxtConfig({
aiReady: {
mcp: {
tools: false, // Disable all tools
resources: false, // Disable all resources
},
}
})