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.
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 analisadoanalyzeJs(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óriosmaxDepth: 3- Analisa a raiz e dois níveis de subdiretóriosmaxDepth: 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