MCP Documentation Server
Provides project documentation, database schema, business rules, and search capabilities as context for Claude Code, enabling more accurate code generation and query writing.
README
MCP Documentation Server
Um servidor MCP (Model Context Protocol) especializado em servir documentação como contexto para o Claude Code. Este MCP permite que o Claude Code tenha acesso automático à documentação do seu projeto, banco de dados e regras de negócio.
🎯 Objetivo
Maximizar a performance e precisão do Claude Code fornecendo:
- ✅ Documentação do banco de dados (schema, relacionamentos, tipos)
- ✅ Regras de negócio e validações
- ✅ Arquitetura do projeto e padrões de código
- ✅ Exemplos de queries e integrações
- ✅ Busca inteligente na documentação
🚀 Funcionalidades
Ferramentas Disponíveis
-
list-documentation
- Lista todos os arquivos de documentação disponíveis
- Mostra tipo, tamanho e última modificação
-
read-document
- Lê um arquivo de documentação completo
- Suporta Markdown, JSON, SQL e texto
-
search-documentation
- Busca um termo em toda a documentação
- Retorna linhas com contexto e número
-
search-section
- Busca seções específicas em Markdown
- Case-insensitive
-
get-documentation-index
- Retorna índice organizado da documentação
- Agrupa por tipo (banco, arquitetura, queries, etc)
-
get-query-context
- Retorna contexto combinado para SQL
- Inclui DATABASE.md + BUSINESS_LOGIC.md
- Otimizado para escrever queries
📋 Como Usar
Instalação
npm install
npm run build
Configuração
- Coloque seus arquivos de documentação em um diretório
docs/:
projeto/
├── docs/
│ ├── DATABASE.md
│ ├── ARCHITECTURE.md
│ ├── BUSINESS_LOGIC.md
│ ├── QUERY_EXAMPLES.md
│ └── database_metadata.json
├── src/
└── ...
- Configure no seu
claude_desktop_config.json:
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"documentation": {
"command": "node",
"args": ["C:\\caminho\\completo\\para\\build\\main.js"]
}
}
}
Mac/Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"documentation": {
"command": "node",
"args": ["/caminho/completo/para/build/main.js"]
}
}
}
Uso com Claude Code
Cenário 1: Listar Documentação
Você: "Quais documentos estão disponíveis?"
Claude Code:
1. Usa: list-documentation
2. Mostra todos os arquivos
Cenário 2: Ler Documentação Específica
Você: "Leia DATABASE.md para entender a estrutura do banco"
Claude Code:
1. Usa: read-document("DATABASE.md")
2. Obtém toda a documentação
3. Usa para gerar queries corretas
Cenário 3: Buscar Informação
Você: "Qual é o status disponível para pedidos?"
Claude Code:
1. Usa: search-documentation("status")
2. Encontra em BUSINESS_LOGIC.md
3. Retorna a definição
Cenário 4: Obter Contexto para Query
Você: "Baseado na documentação, crie uma query que..."
Claude Code:
1. Usa: get-query-context()
2. Obtém DATABASE.md + BUSINESS_LOGIC.md
3. Entende estrutura + regras
4. Escreve query correta
Cenário 5: Buscar Seção
Você: "Mostre a seção de Relacionamentos do DATABASE"
Claude Code:
1. Usa: search-section("DATABASE.md", "Relacionamentos")
2. Retorna apenas aquela seção
📁 Estrutura de Documentação Recomendada
docs/
├── DATABASE.md # Schema do banco (gerado automaticamente)
│ ├── Índice de tabelas
│ ├── Estrutura de cada tabela
│ └── Relacionamentos
│
├── ARCHITECTURE.md # Estrutura do projeto
│ ├── Camadas
│ ├── Padrões usados
│ └── Estrutura de pastas
│
├── BUSINESS_LOGIC.md # Regras de negócio
│ ├── Entidade 1 (Cliente)
│ ├── Entidade 2 (Pedido)
│ └── Validações
│
├── QUERY_EXAMPLES.md # Exemplos de queries
│ ├── SELECT básico
│ ├── JOINs
│ └── Agregações
│
├── database_schema.sql # SQL com CREATE TABLE (gerado)
└── database_metadata.json # Metadados em JSON (gerado)
🔧 Arquitetura
Segue padrão Domain-Driven Design com camadas:
-
Domain (
src/domain):- Modelos de documentação
- Interfaces de erro
-
Infrastructure (
src/infrastructure):FileSystemService: Lê e busca em arquivos- Cache de documentos
- Parser de Markdown
-
Application (
src/application):DocumentationService: Lógica de negócio- Busca e formatação
- Contexto para queries
-
Interface (
src/interface):DocumentationToolsController: Registra ferramentas MCP- Schemas Zod para validação
📊 Performance
Cache
- TTL de 5 minutos para arquivos lidos
- Evita I/O desnecessário
- Limpeza automática
Busca
- Busca literal rápida
- Regex para padrões complexos
- Resultados organizados por arquivo
Tamanho
- Cada ferramenta retorna dados otimizados
- Contexto para queries truncado (2000 chars max)
- Índice leve para navegação
🎓 Exemplos Práticos
Exemplo 1: Criar Função com Contexto Completo
Você: "Leia DATABASE.md e BUSINESS_LOGIC.md, depois crie uma função
que valida se um pedido pode ser editado"
MCP faz:
1. Usa: get-query-context()
2. Obtém DATABASE.md (estrutura pedidos)
3. Obtém BUSINESS_LOGIC.md (regras - status = rascunho)
4. Claude Code gera ValidarPedidoService com lógica correta
Exemplo 2: Buscar Padrão de Código
Você: "Como declaramos DTOs baseado em ARCHITECTURE.md?"
MCP faz:
1. Usa: search-section("ARCHITECTURE.md", "DTO")
2. Retorna exemplos
3. Claude Code segue o padrão
Exemplo 3: Listar Relacionamentos
Você: "Quais são os relacionamentos de FK no banco?"
MCP faz:
1. Usa: search-documentation("FOREIGN KEY")
2. Encontra em DATABASE.md
3. Mostra todas as FKs
🛠️ Scripts
npm run build # Compila TypeScript
npm run build:unix # Compila + chmod (Linux/Mac)
npm run server # Inicia o MCP (desenvolvimento)
🔐 Segurança
- ✅ Não executa código dos documentos
- ✅ Lê apenas de arquivos existentes
- ✅ Sem acesso a diretórios exteriores
- ✅ Caching seguro com TTL
📝 Integração com MCP MySQL
Para máxima performance, use ambos os MCPs:
{
"mcpServers": {
"documentation": {
"command": "node",
"args": ["/path/to/mcp-doc/build/main.js"]
},
"mysql": {
"command": "node",
"args": ["/path/to/mcp-mysql/build/main.js"],
"env": {
"DB_HOST": "localhost",
"DB_USER": "root",
"DB_PASSWORD": "senha",
"DB_NAME": "primebd"
}
}
}
}
Workflow:
- Claude Code pede help
- MCP Documentation fornece contexto (estrutura, regras)
- Claude Code entende o que fazer
- MCP MySQL executa as queries
- Resultado é processado e exibido
🚀 Próximos Passos
-
Gere documentação do banco:
cd ../mcp-mysql && npm run extract-schema -
Copie os arquivos para
docs/ -
Inicie o MCP Documentation
-
Configure no Claude Desktop
-
Comece a programar com contexto completo!
📚 Referências
📄 Licença
ISC
Desenvolvido com ❤️ para Claude Code
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.