MCP Codebase Symbols Server 🚀
Um servidor MCP (Model Context Protocol) que analisa sua codebase completa e extrai todos os símbolos (funções, classes, métodos, interfaces, etc.) em um markdown otimizado para LLMs.
✨ Características
- 🔍 Análise Completa: Varre recursivamente toda a codebase
- 🚫 Respeita .gitignore: Ignora automaticamente arquivos/pastas do
.gitignore - 🌐 Multi-linguagem: Suporte para 10+ linguagens de programação
- 📊 Símbolos Detalhados: Extrai funções, classes, métodos, interfaces, types, enums, etc.
- 🎯 LLM-Ready: Markdown otimizado para economia de tokens e máxima clareza
- ⚡ Uma Única Requisição: Entenda toda a estrutura do código instantaneamente
🛠️ Linguagens Suportadas
- JavaScript / TypeScript (.js, .jsx, .ts, .tsx, .mjs, .cjs)
- Python (.py)
- Java (.java)
- Go (.go)
- Rust (.rs)
- C / C++ (.c, .cpp, .cc, .h, .hpp)
- PHP (.php)
- Ruby (.rb)
- C# (.cs)
- Swift, Kotlin, Scala, R
📦 Instalação
1. Instalar Dependências
npm install2. Compilar o Projeto
npm run build🔧 Configuração
Claude Desktop
Adicione ao seu arquivo de configuração do Claude Desktop (claude_desktop_config.json):
Windows: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"codebase-symbols": {
"command": "node",
"args": [
"C:\\Users\\darci\\desenvolvimento\\MyCode MCP\\dist\\index.js"
]
}
}
}Outros Clientes MCP
Configure o servidor apontando para:
node C:\Users\darci\desenvolvimento\MyCode MCP\dist\index.js🎯 Como Usar
Após configurar o servidor no seu cliente MCP (como Claude Desktop), você pode usar a tool analyze_codebase:
Exemplo de Uso
No Claude Desktop ou outro cliente MCP:
Analise a codebase em C:\meu\projetoO servidor irá:
- ✅ Carregar o
.gitignoredo projeto - ✅ Varrer todos os arquivos de código
- ✅ Extrair símbolos de cada arquivo
- ✅ Gerar markdown estruturado
Output Exemplo
# Codebase Structure
**Base Path:** `C:\meu\projeto`
**Total Files:** 42
**Total Symbols:** 328
---
## 📁 src/services
### 📄 `userService.ts`
**Path:** `src/services/userService.ts`
**Symbols:** 8
**Classes:**
- `UserService` (Line 10)export class UserService {
**Methods:**
- `getUser` (Line 15)
- `createUser` (Line 23)
- `updateUser` (Line 31)
**Functions:**
- `validateEmail` (Line 45)export function validateEmail(email: string): boolean {
🎨 Por Que Isso é Útil?
Para LLMs
- 📉 Economia de Tokens: Não precisa enviar o código inteiro, apenas os símbolos
- 🧠 Contexto Completo: LLM entende toda a estrutura de uma vez
- 🎯 Precisão: Pode navegar e entender arquiteturas complexas
- ⚡ Performance: Uma única requisição vs. múltiplas
Para Desenvolvedores
- 📚 Documentação Automática: Overview instantâneo da codebase
- 🔍 Code Navigation: Encontre símbolos e suas localizações rapidamente
- 📊 Análise Arquitetural: Visualize a estrutura do projeto
- 🤖 AI-Assisted Coding: LLMs podem dar melhores sugestões com contexto completo
🚀 Scripts Disponíveis
# Compilar o projeto
npm run build
# Compilar e watch para mudanças
npm run watch
# Iniciar o servidor (após compilar)
npm start📋 Tool: analyze_codebase
Parâmetros
path(string, obrigatório): Caminho absoluto para o diretório da codebase a analisar
Retorno
Markdown estruturado contendo:
- Estatísticas gerais (total de arquivos, símbolos)
- Estrutura de diretórios
- Para cada arquivo:
- Path relativo - Símbolos encontrados (classes, funções, etc.) - Números de linha - Assinaturas de código
🔥 Casos de Uso
1. Code Review Assistido por IA
Analise a codebase em C:\projeto\backend e me diga se há algum padrão inconsistente2. Onboarding de Novos Devs
Me explique a arquitetura do projeto em C:\meu\app3. Refatoração
Analise C:\legacy\code e sugira como modernizar a estrutura4. Documentação Automática
Crie documentação técnica baseada na codebase em C:\api🛡️ Privacidade
- ✅ Roda localmente na sua máquina
- ✅ Nenhum código é enviado para servidores externos
- ✅ Apenas símbolos/estrutura são extraídos, não o código completo
- ✅ Respeita
.gitignorepara não expor arquivos sensíveis
📝 Licença
MIT
Desenvolvido para tornar a análise de código por LLMs mais eficiente e poderosa! 🚀
