Code Context MCP Server

by fkesheh
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Allows cloning and processing of local git repositories, extracting code context from different branches and files for semantic search.

Servidor MCP de contexto de código

Un servidor de Protocolo de Contexto de Modelo (MCP) para proporcionar contexto de código desde repositorios Git locales. Este servidor permite:

  1. Clonar repositorios git localmente
  2. Ramas y archivos de proceso
  3. Generar incrustaciones para fragmentos de código
  4. Realizar una búsqueda semántica sobre el código

Características

  • Utiliza repositorios git locales en lugar de la API de GitHub
  • Almacena datos en una base de datos SQLite
  • Divide el código en fragmentos semánticos
  • Genera incrustaciones para fragmentos de código usando Ollama
  • Proporciona búsqueda semántica sobre el código.

Prerrequisitos

  • Node.js (v16+)
  • Git
  • Ollama con un modelo de incrustación

Instalación

# Clone the repository git clone <repository-url> cd code-context-mcp # Install dependencies npm install # Build the project npm run build

Configuración

Establezca las siguientes variables de entorno:

  • DATA_DIR : Directorio para la base de datos SQLite (predeterminado: '~/.codeContextMcp/data')
  • REPO_CACHE_DIR : Directorio para repositorios clonados (predeterminado: '~/.codeContextMcp/repos')

Usando Ollama

Para realizar incrustaciones más rápidas y potentes, puedes usar Ollama:

# Install Ollama from https://ollama.ai/ # Pull an embedding model (unclemusclez/jina-embeddings-v2-base-code is recommended) ollama pull unclemusclez/jina-embeddings-v2-base-code

Uso

Uso con Claude Desktop

Agregue la siguiente configuración a su archivo de configuración de Claude Desktop ( claude_desktop_config.json ):

{ "mcpServers": { "code-context-mcp": { "command": "/path/to/your/node", "args": ["/path/to/code-context-mcp/dist/index.js"] } } }

Herramientas

El servidor proporciona la siguiente herramienta:

consultaRepo

Clona un repositorio, procesa el código y realiza una búsqueda semántica:

{ "repoUrl": "https://github.com/username/repo.git", "branch": "main", // Optional - defaults to repository's default branch "query": "Your search query", "keywords": ["keyword1", "keyword2"], // Optional - filter results by keywords "filePatterns": ["**/*.ts", "src/*.js"], // Optional - filter files by glob patterns "excludePatterns": ["**/node_modules/**"], // Optional - exclude files by glob patterns "limit": 10 // Optional - number of results to return, default: 10 }

El parámetro branch es opcional. Si no se proporciona, la herramienta usará automáticamente la rama predeterminada del repositorio.

El parámetro keywords es opcional. Si se proporciona, los resultados se filtrarán para incluir únicamente los fragmentos que contengan al menos una de las palabras clave especificadas (coincidencia sin distinción entre mayúsculas y minúsculas).

Los parámetros filePatterns y excludePatterns son opcionales. Permiten filtrar los archivos que se procesan y buscan mediante patrones glob (p. ej., **/*.ts para todos los archivos TypeScript).

Esquema de base de datos

El servidor utiliza SQLite con el siguiente esquema:

  • repository : almacena información sobre los repositorios
  • branch : almacena información sobre las ramas
  • file : almacena información sobre los archivos
  • branch_file_association : Asocia archivos con ramas
  • file_chunk : almacena fragmentos de código y sus incrustaciones

Licencia

Instituto Tecnológico de Massachusetts (MIT)

-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor MCP que proporciona búsqueda semántica en repositorios git locales, lo que permite a los usuarios clonar repositorios, procesar ramas y buscar código a través de fragmentos de código vectorizado.

  1. Features
    1. Prerequisites
      1. Installation
        1. Configuration
          1. Using Ollama
        2. Usage
          1. Using with Claude Desktop
        3. Tools
          1. queryRepo
        4. Database Schema
          1. License
            ID: ciwrw699vq