Persistent-Code MCP Server

Integrations

  • Used in the example workflow to design and implement a Todo app, with the MCP server tracking components and providing consistent implementation guidance.

  • Offers code component management for Python projects, including semantic search, relationship tracking, and implementation status monitoring across development sessions.

Servidor MCP de código persistente con LlamaIndex

Un servidor de Protocolo de Contexto de Modelo (MCP) que crea y mantiene un grafo de conocimiento semántico del código generado por Claude. Impulsado por LlamaIndex, permite mantener el contexto entre sesiones con funciones avanzadas de búsqueda semántica sin necesidad de que todo el código base esté presente en la ventana de contexto.

Problema y solución

Al desarrollar software con Claude:

  • Las ventanas de contexto son limitadas, lo que dificulta trabajar con bases de código grandes
  • El contexto del código anterior se pierde entre sesiones
  • A Claude le falta una comprensión persistente de la estructura del proyecto.
  • Se requiere una explicación redundante del código en cada sesión.
  • Mantener la consistencia en la implementación es un desafío

Persistent-Code resuelve estos problemas mediante:

  • Creación de un gráfico de conocimiento de los componentes del código y sus relaciones
  • Seguimiento del estado de implementación de cada componente
  • Proporcionar herramientas para navegar, consultar y comprender la base del código.
  • Recopilación del contexto mínimo necesario para tareas de codificación específicas
  • Mantener un conocimiento persistente en todas las sesiones de chat

Integración de LlamaIndex

Persistent-Code aprovecha LlamaIndex para proporcionar una mejor comprensión semántica:

  1. Búsqueda semántica : encuentre componentes de código según el significado, no solo palabras clave
  2. Incrustaciones de vectores : el código se incrusta en el espacio vectorial para la coincidencia de similitudes
  3. Gráfico de conocimiento : las relaciones entre los componentes se rastrean semánticamente
  4. Recuperación contextual : el código relacionado se recupera en función de la relevancia semántica

Esta integración le permite a Claude comprender su base de código a un nivel más profundo:

  • Encuentre funciones según lo que hacen, no solo por cómo se llaman
  • Obtenga componentes de código más relevantes al preparar el contexto
  • Comprender mejor las relaciones entre los componentes
  • Recupere con mayor precisión ejemplos de implementaciones similares

Instalación

Prerrequisitos

  • Python 3.10 o superior
  • Gestor de paquetes UV (recomendado) o pip

Configuración

# Clone repository git clone https://github.com/your-username/persistent-code-mcp.git cd persistent-code-mcp # Set up environment with UV uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate uv pip install -r requirements.txt # Or with pip python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt

Uso

Inicialización de un proyecto

python -m persistent_code init --project-name "YourProject"

Iniciando el servidor

python -m persistent_code serve --project-name "YourProject"

Configuración de Claude para escritorio

  1. Edite su archivo de configuración de Claude for Desktop:
    • Ubicación: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Agregue la siguiente configuración:
{ "mcpServers": { "persistent-code": { "command": "path to python in venv", "args": [ "-m", "persistent_code", "serve", "--project-name", "default" ], "cwd": "persistent-code-mcp", "env": { "PYTHONPATH": "abs path to persistent-code-mcp" } } } }
  1. Reiniciar Claude para escritorio
  2. Conéctese a su servidor MCP preguntándole a Claude sobre su código

Herramientas disponibles

Gestión de gráficos de conocimiento

  • add_component : Agrega un nuevo componente de código al gráfico
  • update_component : Actualizar un componente existente
  • add_relationship : Crea una relación entre componentes

Recuperación de código y navegación

  • get_component : recupera un componente por ID o nombre
  • find_related_components : Encuentra componentes relacionados con un componente determinado
  • search_code : Busca en la base de código semánticamente

Gestión de estado

  • update_status : Actualizar el estado de implementación de un componente
  • get_project_status : recupera el estado de implementación en todo el proyecto
  • find_next_tasks : Sugerir los siguientes componentes lógicos a implementar

Conjunto de contexto

  • prepare_context : ensamblar el contexto mínimo para una tarea específica
  • continue_implementation : Proporciona contexto para continuar implementando un componente
  • get_implementation_plan : Generar un plan para implementar componentes pendientes

Análisis de código

  • analyze_code : Analiza el código y actualiza el gráfico de conocimiento.

Ejemplo de flujo de trabajo

  1. Inicializar un proyecto:
    python -m persistent_code init --project-name "TodoApp"
  2. Iniciar el servidor:
    python -m persistent_code serve --project-name "TodoApp"
  3. Pídele a Claude que diseñe tu proyecto:
    Can you help me design a Todo app with Python and FastAPI? Let's start with the core data models.
  4. Claude creará componentes y los rastreará en el gráfico de conocimiento.
  5. Continuar el desarrollo en una sesión posterior:
    Let's continue working on the Todo app. What's our implementation status?
  6. Claude recuperará el estado actual y sugerirá los próximos pasos.
  7. Implementar componentes específicos:
    Let's implement the task completion endpoint for our Todo app
  8. Claude recuperará el contexto relevante y proporcionará una implementación consistente.

Uso de la búsqueda semántica

Con la integración de LlamaIndex, ahora puedes usar un lenguaje más natural para encontrar componentes:

Find me all code related to handling task completion

Claude utilizará la búsqueda semántica para encontrar componentes relevantes, incluso si no contengan explícitamente las palabras "finalización de tarea".

Ejecución de la demostración de LlamaIndex

Hemos incluido un script de demostración para mostrar las capacidades semánticas:

# Activate your virtual environment source .venv/bin/activate # or source venv/bin/activate # Run the demo python examples/llama_index_demo.py

Esto demostrará cómo analizar una aplicación de Calendario y realizar búsquedas semánticas de funcionalidad.

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

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

Crea y mantiene un gráfico de conocimiento semántico del código que permite mantener el contexto en las sesiones con Claude, proporcionando capacidades de búsqueda avanzadas sin requerir toda la base de código en la ventana de contexto.

  1. Problem & Solution
    1. LlamaIndex Integration
      1. Installation
        1. Prerequisites
        2. Setting Up
      2. Usage
        1. Initializing a Project
        2. Starting the Server
        3. Configuring Claude for Desktop
      3. Available Tools
        1. Knowledge Graph Management
        2. Code Retrieval and Navigation
        3. Status Management
        4. Context Assembly
        5. Code Analysis
      4. Example Workflow
        1. Using Semantic Search
          1. Running the LlamaIndex Demo
            1. Contributing
              1. License
                ID: 9g4urtrzk8