Code Knowledge MCP Server

local-only server

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

Integrations

  • Provides knowledge management tool for code repositories, suggesting integration with Git repositories

  • References cloning from a GitHub repository as part of the setup process

  • Uses Ollama for efficient embedding generation, requiring it to be installed and running for vector operations

Herramienta de conocimiento de código

Una herramienta de gestión del conocimiento para repositorios de código que utiliza incrustaciones vectoriales. Esta herramienta ayuda a mantener y consultar el conocimiento sobre su código fuente mediante técnicas avanzadas de incrustación.

Construcción e instalación

1. Construya el paquete

Primero, debes crear los archivos de distribución:

# Clone the repository git clone https://github.com/yourusername/code-knowledge-tool.git cd code-knowledge-tool # Create and activate a virtual environment python -m venv venv source venv/bin/activate # Install build tools python -m pip install --upgrade pip build # Build the package python -m build

Esto creará dos archivos en el directorio dist/:

  • code_knowledge_tool-0.1.0-py3-none-any.whl (archivo de rueda para la instalación)
  • code_knowledge_tool-0.1.0.tar.gz (distribución fuente)

2. Instalar el paquete

Prerrequisitos

  1. Asegúrese de que Ollama esté instalado y ejecutándose:
# Install Ollama (if not already installed) curl https://ollama.ai/install.sh | sh # Start Ollama service ollama serve
  1. Instalar el paquete:
Opción 1: Instalar desde el archivo de rueda (recomendado para su uso)
# Navigate to where you built the package cd /path/to/code_knowledge_tool # Install from the wheel file pip install dist/code_knowledge_tool-0.1.0-py3-none-any.whl
Opción 2: Instalar en modo editable (recomendado para desarrollo)

Esta opción es la mejor si desea modificar la herramienta o contribuir a su desarrollo:

# Assuming you're already in the code-knowledge-tool directory # and have activated your virtual environment # Install in editable mode with development dependencies pip install -e ".[dev]"

Integración con RooCode/Cline

  1. Copia la configuración de MCP a tu configuración:

Para Cline (VSCode):

# Open the settings file open ~/Library/Application\ Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json

Añade esta configuración:

{ "mcpServers": { "code_knowledge": { "command": "python", "args": ["-m", "code_knowledge_tool.mcp_tool"], "env": { "PYTHONPATH": "${workspaceFolder}" } } } }

Para RooCode:

# Open the settings file open ~/Library/Application\ Support/RooCode/roocode_config.json

Agregue la misma configuración que la anterior.

  1. Reinicie RooCode/Cline para cargar la nueva herramienta.

Uso como banco de memoria y proveedor de contexto RAG

Esta herramienta puede servir como banco de memoria de su proyecto y proveedor de contexto RAG. Para configurarlo:

  1. Copie la plantilla proporcionada a su proyecto:
cp clinerules_template.md /path/to/your/project/.clinerules
  1. Personalice las reglas y patrones en .clinerules para las necesidades de su proyecto

La plantilla incluye instrucciones completas para:

  • Gestión de la base de conocimientos
  • Flujos de trabajo de desarrollo basados en RAG
  • Directrices de calidad del código
  • Prácticas de gestión de la memoria

Consulte clinerules_template.md para obtener detalles completos de configuración y uso.

Características

  • Almacenamiento vectorial local para el conocimiento del código
  • Generación eficiente de incrustaciones con Ollama
  • Compatibilidad con múltiples tipos de archivos
  • Comprensión de código sensible al contexto
  • Integración con RooCode y Cline a través de MCP
  • Aumento de contexto basado en RAG
  • Almacenamiento persistente de conocimiento

Requisitos

  • Python 3.8 o superior
  • Servicio Ollama ejecutándose localmente
  • chromadb para operaciones vectoriales

Desarrollo

Ejecución de pruebas

El proyecto sigue un enfoque de pruebas que prioriza la integración, centrándose en la funcionalidad integral y el cumplimiento del contrato MCP. El conjunto de pruebas consta de:

  1. Pruebas de contrato MCP
    • Registro y ejecución de herramientas
    • Gestión de recursos
    • Operaciones de conocimiento
    • Manejo de errores
  2. Pruebas de compilación de paquetes
    • Verificación de la instalación
    • Resolución de dependencia
    • Inicialización del servidor MCP
    • Funcionalidad básica

Para ejecutar las pruebas:

# Install test dependencies pip install -e ".[dev]" # Run all tests pytest # Run specific test suites pytest tests/integration/test_mcp_contract.py -v # MCP functionality pytest tests/integration/test_package_build.py -v # Installation verification

Requisitos del entorno de prueba:

# Ensure Ollama is running ollama serve

Las pruebas utilizan un directorio temporal (test_knowledge_store) que se limpia automáticamente entre ejecuciones de pruebas.

Para obtener más detalles sobre la estrategia y los patrones de prueba, consulte la documentación en docs/ .

Distribución futura

Si desea que este paquete esté disponible a través de pip (es decir, pip install code-knowledge-tool ), deberá:

  1. Registrar una cuenta en PyPI
  2. Instalar twine: pip install twine
  3. Sube tu distribución: twine upload dist/*

Sin embargo, por ahora, utilice los métodos de instalación y compilación locales descritos anteriormente.

Licencia

Licencia MIT

-
security - not tested
F
license - not found
-
quality - not tested

Proporciona un banco de memoria de proyecto y un proveedor de contexto RAG para una mejor comprensión y gestión del código a través de incrustaciones vectoriales, integrado con RooCode y Cline.

  1. Building and Installing
    1. 1. Build the Package
    2. 2. Install the Package
  2. Integration with RooCode/Cline
    1. Using as Memory Bank and RAG Context Provider
      1. Features
        1. Requirements
          1. Development
            1. Running Tests
          2. Future Distribution
            1. License
              ID: prkz57y7a2