Code Context Provider MCP

Fornece contexto de código e análise para assistentes de IA usando parsers WebAssembly Tree-sitter.

Documentação

Code Context Provider MCP

Servidor MCP que fornece contexto de código e análise para assistentes de IA. Extrai estrutura de diretórios e símbolos de código usando parsers Tree-sitter em WebAssembly com Zero Dependências Nativas.

Discord Licença: MIT PyPi

Recursos

  • Gera estrutura de árvore de diretórios
  • Analisa arquivos JavaScript/TypeScript e Python
  • Extrai símbolos de código (funções, variáveis, classes, imports, exports)
  • Compatível com o protocolo MCP para integração perfeita com assistentes de IA

Uso Rápido (Configuração MCP)

Instalação via Smithery

Para instalar o Code Context Provider para Claude Desktop automaticamente via Smithery:

npx -y @smithery/cli install @AB498/code-context-provider-mcp --client claude

Windows

{
  "mcpServers": {
    "code-context-provider-mcp": {
      "command": "cmd.exe",
      "args": [
        "/c",
        "npx",
        "-y",
        "code-context-provider-mcp@latest"
      ]
    }
  }
}

MacOS/Linux

{
  "mcpServers": {
    "code-context-provider-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "code-context-provider-mcp@latest"
      ]
    }
  }
}

OU instale globalmente com npm:

npm install -g code-context-provider-mcp

Em seguida, use-o executando:

code-context-provider-mcp # if you're not using @latest, you may want to clear the cache for latest version using `Remove-Item -Path "$env:LOCALAPPDATA\npm-cache\_npx" -Recurse -Force` for windows and `rm -rf ~/.npm/_npx` for linux/macos

Ferramentas Disponíveis

get_code_context

Analisa um diretório e retorna sua estrutura junto com os símbolos de código (opcional).

Parâmetros:

  • absolutePath (string, obrigatório): Caminho absoluto do diretório a ser analisado
  • analyzeJs (booleano, opcional): Se deve analisar arquivos JavaScript/TypeScript e Python (padrão: false)
  • includeSymbols (booleano, opcional): Se deve incluir símbolos de código na resposta (padrão: false)
  • symbolType (enum, opcional): Tipo de símbolos a incluir se includeSymbols for true (opções: 'functions', 'variables', 'classes', 'imports', 'exports', 'all', padrão: 'all')
  • filePatterns (array de strings, opcional): Padrões de arquivo a analisar (ex.: ['.js', '.py', 'config.*'])
  • maxDepth (número, opcional): Profundidade máxima do diretório a analisar (padrão: 5 níveis)

Observação: Funções anônimas são filtradas automaticamente dos resultados.

Exemplo de Texto de Saída na Chamada da Ferramenta

Directory structure for: C:\Users\Admin\Desktop\mcp\context-provider-mcp

Code Analysis Summary:
- Files analyzed: 3
- Total functions: 29
- Total variables: 162
- Total classes: 0

Note: Symbol analysis is supported for JavaScript/TypeScript (.js, .jsx, .ts, .tsx) and Python (.py) files only.

Code analysis limited to a maximum depth of 5 directory levels (default).

├── index.js (39 KB)
│   └── [Analyzed: 22 functions, 150 variables, 0 classes]
│       Functions:
│       - initializeTreeSitter [39:0]
│       - getLanguageFromExtension [107:0]
│       - getPosition [138:24]

Exemplos de Padrões de Arquivo

Você pode usar o parâmetro filePatterns para especificar quais arquivos analisar. Isso é útil para projetos complexos com múltiplas linguagens ou arquivos específicos de interesse.

Exemplos:

  • ["*.js", "*.py"] - Analisa todos os arquivos JavaScript e Python
  • ["config.*"] - Analisa todos os arquivos de configuração, independentemente da extensão
  • ["package.json", "*.config.js"] - Analisa o package.json e qualquer arquivo de configuração JavaScript
  • [".ts", ".tsx", ".py"] - Analisa arquivos TypeScript e Python (usando o formato de extensão)

A correspondência de padrões de arquivo oferece suporte a:

  • Padrões glob simples com curingas (*)
  • Extensões de arquivo diretas (com ou sem o ponto)
  • Nomes de arquivo exatos

Lidando com Projetos Grandes

Para projetos muito grandes, você pode usar o parâmetro maxDepth para limitar a profundidade com que a ferramenta percorrerá os diretórios:

  • maxDepth: 2 - Analisa apenas o diretório raiz e um nível de subdiretórios
  • maxDepth: 3 - Analisa a raiz e dois níveis de subdiretórios
  • maxDepth: 0 - Analisa apenas os arquivos no diretório raiz

Isso é particularmente útil quando:

  • Trabalhando com monorepos grandes
  • Analisando projetos com muitas dependências
  • Focando apenas no código-fonte principal e não em bibliotecas de terceiros

Linguagens Suportadas

A análise de símbolos de código é suportada para:

  • JavaScript (.js)
  • JSX (.jsx)
  • TypeScript (.ts)
  • TSX (.tsx)
  • Python (.py)

Usar o parâmetro filePatterns permite incluir outros tipos de arquivo na estrutura do diretório, embora a análise simbólica possa ser limitada.

Desenvolvimento

[Desenvolvimento] Configurando o Ambiente de Desenvolvimento

# Clone the repository
git clone https://github.com/your-username/code-context-provider-mcp.git
cd code-context-provider-mcp

# Install dependencies
npm install

# Set up WASM parsers
npm run setup

[Desenvolvimento] Pós-Instalação

Após a instalação, o script prepare do pacote é executado automaticamente para baixar os parsers WASM. Se por algum motivo o download falhar, os usuários podem executar a configuração manualmente:

npx code-context-provider-mcp-setup

Licença

MIT

Para mais informações ou ajuda