Skip to main content
Glama
MCP Codebase Symbols Server

MCP Codebase Symbols Server

by klimadev

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

Related MCP server: Scantool - File Scanner MCP

🛠️ 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 install

2. 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\projeto

O servidor irá:

  1. ✅ Carregar o .gitignore do projeto

  2. ✅ Varrer todos os arquivos de código

  3. ✅ Extrair símbolos de cada arquivo

  4. ✅ 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 inconsistente

2. Onboarding de Novos Devs

Me explique a arquitetura do projeto em C:\meu\app

3. Refatoração

Analise C:\legacy\code e sugira como modernizar a estrutura

4. 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 .gitignore para não expor arquivos sensíveis

📝 Licença

MIT


Desenvolvido para tornar a análise de código por LLMs mais eficiente e poderosa! 🚀

Available Tools

2 tools
analyze_codebaseA

Analyzes a codebase and returns a comprehensive LLM-optimized markdown with all symbols (functions, classes, methods, interfaces, types, etc.) and their file paths. Respects .gitignore rules. Perfect for giving LLMs complete understanding of code structure in a single request.

Inputs: path (required).

read_codebaseA

Reads the full content of all code files in a directory respecting .gitignore rules and returns in a structured format. WARNING: This tool can generate very large responses, use on smaller directories or specific subdirectories.

Inputs: path (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 2 tools

    Disambiguation4/5

    The two tools have distinct primary purposes: analyze_codebase focuses on extracting symbols and structure for LLM understanding, while read_codebase returns full file content in a structured format. However, both involve reading codebases with .gitignore respect, which could cause some confusion about when to use each, though their descriptions clearly differentiate between symbol analysis vs. full content retrieval.

    Naming Consistency5/5

    Both tools follow a consistent verb_noun pattern with snake_case naming (analyze_codebase and read_codebase). The verbs 'analyze' and 'read' are distinct yet related, maintaining a predictable and readable convention throughout the tool set.

    Tool Count3/5

    With only 2 tools, the server feels thin for a codebase symbols domain, as it might lack operations like filtering symbols, updating analyses, or handling specific file types. While the tools cover core reading and analysis, the count is borderline minimal for typical MCP server scopes, which often include 3-15 tools for comprehensive functionality.

    Completeness3/5

    The server provides basic read and analyze operations, but there are notable gaps for a symbols-focused domain. Missing tools might include querying specific symbols, updating symbol databases, or handling incremental changes, which could limit agent workflows. However, the existing tools cover fundamental needs for codebase understanding, allowing agents to work around some limitations.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      Enables AI assistants to understand and navigate codebases through structural analysis. Provides code mapping, symbol search, and impact analysis using ast-grep for accurate parsing of Python, JavaScript, TypeScript, and Go projects.
      4
      52
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      Analyzes source code structure across multiple languages using tree-sitter, extracting classes, functions, methods, and metadata with precise line numbers for efficient codebase exploration and AI-assisted development.
      13
      3
      MIT