mcp-codebase-symbols
v1.0.4
Published
MCP server that analyzes codebases and extracts symbols for LLM consumption
Maintainers
Readme
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)
```typescript
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
```bash
# 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! 🚀
