MCP Code Expert System

by tomsiwik
Verified

local-only server

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

Integrations

  • Supports environment configuration through .env files, enabling customization of knowledge graph settings and Ollama configuration parameters.

  • Provides integration with Ollama for AI-powered code reviews using local models, allowing the MCP server to utilize Ollama's capabilities to generate expert code reviews based on different programming principles.

Sistema experto en código MCP

Un sistema de revisión de código basado en Python que utiliza el Protocolo de Contexto de Modelo (MCP). Ofrece funciones de revisión de código mediante la simulación de personajes expertos como Martin Fowler y Robert C. Martin (Tío Bob).

Características

  • Revisión de código basada en los principios de refactorización de Martin Fowler
  • Revisión de código basada en los principios de Código Limpio de Robert C. Martin
  • Almacenamiento de gráficos de conocimiento de código, revisiones y relaciones
  • Integración con Ollama para reseñas impulsadas por IA
  • Compatibilidad con eventos del lado del servidor (SSE) para la integración web

Prerrequisitos

Python 3.10+

Este proyecto requiere Python 3.10 o superior.

Ollama

Ollama es necesario para las revisiones de código impulsadas por IA.

  1. Instale Ollama para su plataforma:
    • macOS : Descargar desde olama.com
    • Linux : curl -fsSL https://ollama.com/install.sh | sh
    • Windows : Compatibilidad con Windows WSL2 mediante instrucciones para Linux
  2. Extraiga un modelo recomendado:
    ollama pull llama3:8b
  3. Inicie el servidor Ollama:
    ollama serve

Instalación

Ejecute el script de instalación para instalar dependencias y crear el entorno virtual:

chmod +x setup.sh ./setup.sh

Configuración

Edite el archivo .env para configurarlo (créelo desde .env.example si es necesario):

# Knowledge Graph Settings KNOWLEDGE_GRAPH_PATH=data/knowledge_graph.json # Ollama Configuration (local AI models) OLLAMA_HOST=http://localhost:11434 OLLAMA_MODEL=llama3:8b

Uso

Ejecución del servidor

Modo estándar (para integración del cursor)

source .venv/bin/activate python server.py

Modo HTTP/SSE (para integración web)

source .venv/bin/activate python server.py --transport sse

Esto iniciará el servidor en http://localhost:8000/sse para el transporte SSE.

Para puerto personalizado:

python server.py --transport sse --port 9000

Instalación en Cursor

Para instalar en Cursor IDE:

source .venv/bin/activate mcp install server.py --name "Code Expert System"

Herramientas disponibles

El servidor expone estas herramientas:

  • ask_martin : Pídele a Martin Fowler que revise el código y sugiera refactorizaciones
  • ask_bob : Pídele a Robert C. Martin (tío Bob) que revise el código según los principios de Clean Code
  • read_graph : Lee el gráfico de conocimiento completo
  • search_nodes : Busca nodos en el gráfico de conocimiento
  • open_nodes : Abre nodos específicos por sus nombres

Ejemplo de uso

Para revisar un fragmento de código con Martin Fowler:

{ "code": "function calculateTotal(items) {\n var total = 0;\n for (var i = 0; i < items.length; i++) {\n total += items[i].price;\n }\n return total;\n}", "language": "javascript", "description": "Calculate the total price of items" }

Estructura del proyecto

  • server.py : Implementación del servidor principal con integración MCP
  • experts/ : Módulos expertos que implementan las capacidades de revisión de código
    • __init__.py : Modelos e interfaces compartidos
    • martin_fowler/ : Implementación experta de Martin Fowler
    • robert_c_martin/ : Implementación experta de Robert C. Martin
  • knowledge_graph.py : Gráfico de conocimiento para almacenar código y revisiones
  • ollama_service.py : Integración con Ollama para reseñas basadas en IA
  • examples/ : Código de ejemplo para revisión en diferentes idiomas
  • requirements.txt : Dependencias de Python
  • setup.sh : Script de configuración

Arquitectura

El sistema sigue una arquitectura modular:

  1. Capa de servidor : maneja la comunicación del protocolo MCP y enruta las solicitudes
  2. Capa de experto : encapsula la lógica de revisión de código para cada experto
  3. Capa de servicio : proporciona integración de IA y funcionalidad de gráfico de conocimiento

Cada experto implementa una interfaz estándar que permite un manejo consistente y una fácil incorporación de nuevos expertos.

Licencia

Instituto Tecnológico de Massachusetts (MIT)

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

Un sistema basado en Python que proporciona revisiones de código impulsadas por IA a través de personajes expertos simulados como Martin Fowler y Robert C. Martin, utilizando el Protocolo de Contexto de Modelo (MCP).

  1. Features
    1. Prerequisites
      1. Python 3.10+
      2. Ollama
    2. Installation
      1. Configuration
        1. Usage
          1. Running the Server
          2. Installing in Cursor
          3. Available Tools
          4. Example Usage
        2. Project Structure
          1. Architecture
            1. License
              ID: nbrs3glfk1