Docs MCP Server
Cria uma base de conhecimento pessoal e sempre atualizada para IA, indexando documentação de sites, GitHub, npm, PyPI e arquivos locais.
Documentação
Grounded Docs: O Especialista em Documentação Atualizada da Sua IA
Docs MCP Server resolve o problema de alucinações de IA e conhecimento desatualizado ao fornecer um índice de documentação pessoal e sempre atualizado para seu assistente de codificação com IA. Ele busca documentações oficiais de sites, GitHub, npm, PyPI e arquivos locais, permitindo que sua IA consulte exatamente a versão que você está usando.

✨ Por que o Grounded Docs MCP Server?
A alternativa open-source ao Context7, Nia e Ref.Tools.
- ✅ Contexto Atualizado: Busca documentação diretamente de fontes oficiais sob demanda.
- 🎯 Específico por Versão: Consultas visam as versões exatas das bibliotecas do seu projeto.
- 💡 Reduz Alucinações: Fundamenta LLMs em documentação real.
- 🔒 Privado e Local: Executa inteiramente na sua máquina; seu código nunca sai da sua rede.
- 🧩 Ampla Compatibilidade: Funciona com qualquer cliente compatível com MCP (Claude, Cline, etc.).
- 📁 Múltiplas Fontes: Indexa sites, repositórios GitHub, pastas locais e arquivos zip.
- 📄 Suporte Rico a Arquivos: Processa HTML, Markdown, PDF, documentos Office (Word, Excel, PowerPoint), OpenDocument, RTF, EPUB, Jupyter Notebooks e 90+ linguagens de código-fonte.
📄 Formatos Suportados
| Categoria | Formatos |
|---|---|
| Documentos | PDF, Word (.docx/.doc), Excel (.xlsx/.xls), PowerPoint (.pptx/.ppt), OpenDocument (.odt/.ods/.odp), RTF, EPUB, FictionBook, Jupyter Notebooks |
| Arquivos | ZIP, TAR, TAR gzipado (conteúdos são extraídos e processados individualmente) |
| Web | HTML, XHTML |
| Markup | Markdown, MDX, reStructuredText, AsciiDoc, Org Mode, Textile, R Markdown |
| Código-fonte | TypeScript, JavaScript, Python, Go, Rust, C/C++, Java, Kotlin, Ruby, PHP, Swift, C#, e muitos outros |
| Dados | JSON, YAML, TOML, CSV, XML, SQL, GraphQL, Protocol Buffers |
| Config | Dockerfile, Makefile, Terraform/HCL, INI, dotenv, Bazel |
Consulte Formatos Suportados para a referência completa, incluindo tipos MIME e detalhes de processamento.
🚀 Início Rápido
CLI Primeiro
Para agentes e scripts, a CLI geralmente é a forma mais simples de usar o Grounded Docs.
1. Indexe a documentação (requer Node.js 22+):
npx @arabold/docs-mcp-server@latest scrape react https://react.dev/reference/react
Para sites de documentação SPA com roteamento por hash, ative a preservação de hash explicitamente:
npx @arabold/docs-mcp-server@latest scrape my-spa https://docs.example.com/#/guide --preserve-hashes
2. Consulte o índice:
npx @arabold/docs-mcp-server@latest search react "useEffect cleanup" --output yaml
3. Busque uma única página como Markdown:
npx @arabold/docs-mcp-server@latest fetch-url https://react.dev/reference/react/useEffect
Comportamento de Saída
- Comandos estruturados usam JSON limpo no stdout por padrão em execuções não interativas.
- Use
--output json|yaml|toonpara escolher um formato estruturado. - Comandos de texto simples, como
fetch-url, mantêm seu payload de texto no stdout. - Diagnósticos passam pelo logger compartilhado e são mantidos fora do stdout em execuções não interativas.
- Use
--quietpara suprimir diagnósticos que não são erros ou--verbosepara ativar a saída de depuração.
Habilidades do Agente
O diretório skills/ contém Agent Skills que ensinam assistentes de codificação com IA a usar a CLI — cobrindo busca de documentação, gerenciamento de índice e busca de URLs.
MCP Server
Se você quiser um endpoint MCP de longa duração para Claude, Cline, Copilot, Gemini CLI ou outros clientes MCP:
1. Inicie o servidor:
npx @arabold/docs-mcp-server@latest
2. Abra a Web UI em http://localhost:6280 para adicionar documentação.
3. Conecte seu cliente de IA adicionando isto às suas configurações MCP (ex.: claude_desktop_config.json):
{
"mcpServers": {
"docs-mcp-server": {
"type": "sse",
"url": "http://localhost:6280/sse"
}
}
}
Consulte Conectando Clientes para VS Code (Cline, Roo) e outras opções de configuração.
scrape_docs também aceita preserveHashes: true para sites de documentação que usam roteamento no lado do cliente baseado em hash.
Use apenas para SPAs com roteamento por hash; sites normais geralmente usam fragmentos de hash para âncoras na página.
Alternativa: Execute com Docker
docker run --rm \
-v docs-mcp-data:/data \
-v docs-mcp-config:/config \
-p 6280:6280 \
ghcr.io/arabold/docs-mcp-server:latest \
--protocol http --host 0.0.0.0 --port 6280
🧠 Configure o Modelo de Embedding (Recomendado)
Usar um modelo de embedding é opcional, mas melhora drasticamente a qualidade da busca ao habilitar a busca semântica por vetores.
Exemplo: Ative OpenAI Embeddings
OPENAI_API_KEY="sk-proj-..." npx @arabold/docs-mcp-server@latest
Consulte Modelos de Embedding para configurar Ollama, Gemini, Azure e outros.
📚 Documentação
Primeiros Passos
- Instalação: Guias detalhados de configuração para Docker, Node.js (npx) e modo Embedded.
- Conectando Clientes: Como conectar Claude, VS Code (Cline/Roo) e outros clientes MCP.
- Uso Básico: Usando a Web UI, CLI e scraping de arquivos locais.
- Configuração: Referência completa para arquivos de configuração e variáveis de ambiente.
- Formatos Suportados: Referência completa de formatos de arquivo e tipos MIME.
- Modelos de Embedding: Configure OpenAI, Ollama, Gemini e outros provedores.
- Benchmark de Qualidade de Busca: Meça a qualidade de recuperação com métricas de RI + pontuações avaliadas por LLM; pré-requisitos, como executar, como interpretar resultados.
SPAs com Roteamento por Hash
- Use
--preserve-hashes, MCPpreserveHashesou a caixa de seleção "Preserve Hash Routes" da Web UI apenas para sites de documentação que roteiam com URLs como#/guide. - Quando ativado com
scrapeMode=fetch, o scraper atualiza automaticamente o trabalho para Playwright porque o fetch simples não consegue avaliar rotas de hash no lado do cliente. - A atualização reutiliza a configuração
preserveHashesarmazenada por padrão, e os pontos de entrada de atualização da CLI/Web podem substituí-la explicitamente.
Web Scraping Otimizado para Markdown
- Scrapes e atualizações da web verificam automaticamente
llms.txtno subcaminho da documentação e na raiz do site antes do rastreamento normal. Quando encontrados, os links selecionados se tornam sementes adicionais de rastreamento, e páginas descobertas dessa forma preferem variantes de URL.mdcomo/guide/index.html.mdou/page.html.mdantes de recorrer à página original. - Requisições web enviam
Accept: text/markdown, text/html;q=0.9, */*;q=0.8por padrão. Servidores que suportam negociação de conteúdo Markdown, incluindo Cloudflare Markdown for Agents, podem retornar Markdown diretamente para que o scraper ignore a conversão de HTML para Markdown, resultando em saída mais limpa. - Esse comportamento é automático e não requer configuração. Cabeçalhos
Acceptpersonalizados são preservados quando fornecidos.
Conceitos-Chave e Arquitetura
- Modos de Implantação: Standalone vs. Distribuído (Docker Compose).
- Autenticação: Protegendo seu servidor com OAuth2/OIDC.
- Segurança: Limites de confiança, endurecimento da implantação e controles de acesso de saída.
- Telemetria: Coleta de dados de uso com foco em privacidade.
- Arquitetura: Mergulho profundo no design do sistema.
🤝 Contribuindo
Aceitamos contribuições! Consulte CONTRIBUTING.md para diretrizes de desenvolvimento e instruções de configuração.
Licença
Este projeto é licenciado sob a Licença MIT. Consulte LICENSE para detalhes.