Code Context Provider MCP

Proporciona contexto y análisis de código para asistentes de IA utilizando analizadores Tree-sitter basados en WebAssembly.

Documentación

Code Context Provider MCP

Servidor MCP que proporciona contexto de código y análisis para asistentes de IA. Extrae la estructura de directorios y símbolos de código utilizando analizadores WebAssembly Tree-sitter con cero dependencias nativas.

Discord Licencia: MIT PyPi

Características

  • Generar estructura de árbol de directorios
  • Analizar archivos JavaScript/TypeScript y Python
  • Extraer símbolos de código (funciones, variables, clases, importaciones, exportaciones)
  • Compatible con el protocolo MCP para una integración perfecta con asistentes de IA

Uso Rápido (Configuración MCP)

Instalación mediante Smithery

Para instalar Code Context Provider para Claude Desktop automáticamente mediante 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"
      ]
    }
  }
}

O instalar globalmente con npm:

npm install -g code-context-provider-mcp

Luego úsalo ejecutando:

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

Herramientas Disponibles

get_code_context

Analiza un directorio y devuelve su estructura junto con símbolos de código (opcional).

Parámetros:

  • absolutePath (cadena, obligatorio): Ruta absoluta al directorio a analizar
  • analyzeJs (booleano, opcional): Si se deben analizar archivos JavaScript/TypeScript y Python (predeterminado: false)
  • includeSymbols (booleano, opcional): Si se deben incluir símbolos de código en la respuesta (predeterminado: false)
  • symbolType (enumeración, opcional): Tipo de símbolos a incluir si includeSymbols es true (opciones: 'functions', 'variables', 'classes', 'imports', 'exports', 'all', predeterminado: 'all')
  • filePatterns (matriz de cadenas, opcional): Patrones de archivos a analizar (p. ej. ['.js', '.py', 'config.*'])
  • maxDepth (número, opcional): Profundidad máxima de directorio a analizar (predeterminado: 5 niveles)

Nota: Las funciones anónimas se filtran automáticamente de los resultados.

Ejemplo de Salida de Texto en Llamada a Herramienta

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]

Ejemplos de Patrones de Archivos

Puedes usar el parámetro filePatterns para especificar qué archivos analizar. Esto es útil para proyectos complejos con múltiples lenguajes o archivos específicos de interés.

Ejemplos:

  • ["*.js", "*.py"] - Analizar todos los archivos JavaScript y Python
  • ["config.*"] - Analizar todos los archivos de configuración independientemente de la extensión
  • ["package.json", "*.config.js"] - Analizar package.json y cualquier archivo de configuración JavaScript
  • [".ts", ".tsx", ".py"] - Analizar archivos TypeScript y Python (usando formato de extensión)

La coincidencia de patrones de archivos admite:

  • Patrones glob simples con comodines (*)
  • Extensiones de archivo directas (con o sin el punto)
  • Nombres de archivo exactos

Manejo de Proyectos Grandes

Para proyectos muy grandes, puedes usar el parámetro maxDepth para limitar la profundidad con la que la herramienta recorrerá los directorios:

  • maxDepth: 2 - Analizar solo el directorio raíz y un nivel de subdirectorios
  • maxDepth: 3 - Analizar la raíz y dos niveles de subdirectorios
  • maxDepth: 0 - Analizar solo archivos en el directorio raíz

Esto es particularmente útil cuando:

  • Se trabaja con monorepos grandes
  • Se analizan proyectos con muchas dependencias
  • Se enfoca solo en el código fuente principal y no en bibliotecas de terceros

Lenguajes Soportados

El análisis de símbolos de código está soportado para:

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

Usar el parámetro filePatterns permite incluir otros tipos de archivos en la estructura del directorio, aunque el análisis simbólico puede ser limitado.

Desarrollo

[Desarrollo] Configuración del Entorno de Desarrollo

# 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

[Desarrollo] Post-Instalación

Después de la instalación, el script prepare del paquete se ejecuta automáticamente para descargar los analizadores WASM. Si por alguna razón la descarga falla, los usuarios pueden ejecutar manualmente la configuración:

npx code-context-provider-mcp-setup

Licencia

MIT

Para más información o ayuda