Servidor MCP
Hospede um servidor Model Context Protocol para que agentes de programação possam buscar e ler sua documentação diretamente — ferramentas, recursos, documentos de descoberta, filtros de tipo de conteúdo e facetas, e a saída de servidor que ele precisa.
Hospede um servidor Model Context Protocol para que agentes de programação (Claude Code, Cursor, VS Code, conectores do claude.ai) possam buscar e ler sua documentação diretamente — sem scraping. É opcional:
ai: {
mcp: {
enabled: true,
route: "/mcp", // where the server is mounted
},
}
| Opção | Padrão | Descrição |
|---|---|---|
enabled |
false |
Gera e hospeda o servidor MCP. |
route |
/mcp |
Caminho em que o endpoint Streamable-HTTP é montado. |
name |
title | Nome do servidor exibido aos clientes (padrão: o título). |
instructions |
— | Dica de sistema opcional passada aos agentes que se conectam. |
Ferramentas e recursos
O servidor expõe ferramentas somente leitura — search_docs, get_page, list_pages e get_navigation — e cada página como um recurso MCP (resources/list enumera as páginas em suas URLs servidas com o tipo text/markdown; resources/read retorna o Markdown para agentes da página, a mesma saída de get_page), então clientes que anexam contexto por URI podem navegar pela documentação sem chamar uma ferramenta. Ele publica documentos de descoberta em /.well-known/mcp.json e /.well-known/mcp/server-card.json. O server card segue o schema da extensão Server Card da SEP-2127 (name em DNS reverso, endpoints de transporte remotes), com campos de compatibilidade no formato de initialize (serverInfo, capabilities, transports) para scanners construídos com base na revisão anterior da proposta. O menu Connect to MCP de cada página oferece instalação copiar-e-colar para Claude Code, Cursor, VS Code e Codex (exibido assim que deployment.site estiver definido).
search_docs roda seu próprio índice de texto completo, então funciona independentemente do seu provedor de busca — e até mesmo quando a busca está definida como none. O servidor MCP é um recurso separado da busca na página.
As mesmas ferramentas estão disponíveis via HTTP simples como a API JSON, para frameworks que não falam MCP.
Escopo por tipo de conteúdo e facetas
search_docs e list_pages aceitam um filtro opcional contentTypes, restringindo os resultados a páginas dos types de frontmatter informados — ["rfc"], ["blog", "changelog"] — para que um agente trabalhando em um site que mistura documentação com RFCs, runbooks ou políticas consiga limitar a recuperação ao tipo de página de que precisa. Todo resultado informa seu tipo de conteúdo, e a saída de list_pages mostra os tipos em uso.
As duas ferramentas também aceitam um objeto filters que faz correspondência com as facetas que um site declara por tipo de conteúdo (content.types.<type>.facets) — chaves de frontmatter personalizadas cujos valores viram metadados filtráveis:
{
"query": "OpenAPI request schemas",
"contentTypes": ["rfc"],
"filters": { "domain": "architecture", "status": "enforced" }
}
Cada entrada de filters precisa corresponder (os resultados carregam seus valores de faceta, e list_pages mostra os de cada página), então uma base de conhecimento pode conduzir fluxos de trabalho de agentes com divulgação progressiva — enumerar os padrões aplicados, buscar somente dentro deles — sem nenhum servidor próprio.
Saída de servidor obrigatória
O servidor MCP é um endpoint ativo (/mcp), então não pode rodar em um build estático. Mude para a saída de servidor e escolha um adaptador:
deployment: {
output: "server",
adapter: "node", // or "vercel" | "netlify" | "cloudflare"
site: "https://docs.example.com",
}
Um build estático com ai.mcp.enabled falha imediatamente com uma mensagem pedindo que você defina deployment.output como server. Veja Deployment para os adaptadores. Depois de implantado, conecte-se pelo Claude Code com:
claude mcp add --transport http my-docs https://docs.example.com/mcp