npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

mcp-codebase-symbols

v1.0.4

Published

MCP server that analyzes codebases and extracts symbols for LLM consumption

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 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! 🚀