Yellhorn MCP

by msnidal
Verified

local-only server

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

Integrations

  • Analyzes repository content to create context-aware work plans and evaluates code changes through diff analysis against planned implementations.

  • Allows installation of the Yellhorn MCP server package directly from the Python Package Index.

  • Supports testing of the MCP server during development.

MCP de Yellhorn

Un servidor de Protocolo de Contexto de Modelo (MCP) que expone las capacidades de Gemini 2.5 Pro a Claude Code para tareas de desarrollo de software, utilizando todo el código base en el prompt. Este patrón es muy útil para definir el trabajo que realizarán asistentes de código como Claude Code u otros agentes de codificación compatibles con MCP, y para revisar los resultados, garantizando que cumplan con los requisitos originales especificados.

Características

  • Crear planes de trabajo : crea planes de implementación detallados basados en una solicitud y teniendo en cuenta toda su base de código, publicándolos como problemas de GitHub y exponiéndolos como recursos de MCP para su agente de codificación.
  • Revisar diferencias de código : proporciona una herramienta para evaluar las diferencias de Git contra el plan de trabajo original con el contexto de base de código completo y brinda comentarios detallados, lo que garantiza que la implementación no se desvíe de los requisitos originales y brinda orientación sobre qué cambiar para hacerlo.
  • Entornos de desarrollo aislados : crea árboles de trabajo de Git y ramas vinculadas para un flujo de trabajo de desarrollo aislado y optimizado (se puede realizar por separado de la generación del plan de trabajo), lo que permite el desarrollo paralelo con múltiples agentes.
  • Integración perfecta con GitHub : crea automáticamente problemas etiquetados con la vinculación de ramas adecuada en la interfaz de usuario de GitHub, publica revisiones de subproblemas con referencias a problemas del plan de trabajo original.
  • Control de contexto : utilice archivos .yellhornignore para excluir archivos y directorios específicos del contexto de AI, similar a .gitignore
  • Recursos MCP : expone los planes de trabajo como recursos MCP estándar para facilitar su listado y recuperación.

Instalación

# Install from PyPI pip install yellhorn-mcp # Install from source git clone https://github.com/msnidal/yellhorn-mcp.git cd yellhorn-mcp pip install -e .

Configuración

El servidor requiere las siguientes variables de entorno:

  • GEMINI_API_KEY : Su clave API de Gemini (obligatoria)
  • REPO_PATH : Ruta a su repositorio (predeterminado al directorio actual)
  • YELLHORN_MCP_MODEL : Modelo de Gemini a utilizar (predeterminado: "gemini-2.5-pro-exp-03-25")

El servidor también requiere que GitHub CLI ( gh ) esté instalado y autenticado.

Uso

Ejecutando el servidor

# As a standalone server yellhorn-mcp --repo-path /path/to/repo --host 127.0.0.1 --port 8000 # Using the MCP CLI mcp dev yellhorn_mcp.server # Install as a permanent MCP server for Claude Desktop mcp install yellhorn_mcp.server # Set environment variables during installation mcp install yellhorn_mcp.server -v GEMINI_API_KEY=your_key_here -v REPO_PATH=/path/to/repo

Integración con Claude Code

Al trabajar con Claude Code, puede utilizar las herramientas Yellhorn MCP de la siguiente manera:

  1. Iniciar una tarea de proyecto:
    Please generate a workplan with title "[Your Title]" and detailed description "[Your detailed requirements]"
  2. Crear un árbol de trabajo para el plan de trabajo (opcional):
    Please create a worktree for issue #123
  3. Navegue hasta el directorio del árbol de trabajo creado:
    cd [worktree_path] # The path is returned in the response
  4. Vea el plan de trabajo si es necesario:
    # You can run this from anywhere Please get the workplan for issue #123
  5. Realice sus cambios, cree una PR y solicite una revisión:
    # First create a PR using your preferred method (Git CLI, GitHub CLI, or web UI) git add . git commit -m "Implement feature" git push origin HEAD gh pr create --title "[PR Title]" --body "[PR Description]" # You can run this from anywhere Please review the PR comparing "main" and "feature-branch" against the workplan in issue #123

Herramientas

crear_plan_de_trabajo

Crea un problema de GitHub con un plan de trabajo detallado basado en el título y la descripción detallada.

Aporte :

  • title : Título del problema de GitHub (se usará como título y encabezado del problema)
  • detailed_description : Descripción detallada del plan de trabajo

Producción :

  • Cadena JSON que contiene:
    • issue_url : URL del problema de GitHub creado
    • issue_number : El número de problema de GitHub

crear_árbol_de_trabajo

Crea un árbol de trabajo git con una rama vinculada para el desarrollo aislado a partir de un problema de plan de trabajo existente.

Aporte :

  • issue_number : El número de problema de GitHub para el plan de trabajo

Producción :

  • Cadena JSON que contiene:
    • worktree_path : Ruta al directorio del árbol de trabajo de Git creado
    • branch_name : Nombre de la rama creada para el árbol de trabajo
    • issue_url : URL del problema de GitHub asociado

obtener_plan_de_trabajo

Recupera el contenido del plan de trabajo (cuerpo del problema de GitHub) asociado con un plan de trabajo.

Aporte :

  • issue_number : el número de problema de GitHub para el plan de trabajo.

Producción :

  • El contenido del plan de trabajo emitido como una cadena

revisión_del_plan_de_trabajo

Inicia una revisión de código asincrónica que compara dos referencias de Git (ramas o confirmaciones) con un plan de trabajo descrito en una incidencia de GitHub. Crea una subincidencia de GitHub con la revisión asincrónica tras su ejecución (en segundo plano).

Aporte :

  • issue_number : el número de problema de GitHub para el plan de trabajo.
  • base_ref : Referencia base de Git (SHA de confirmación, nombre de la rama, etiqueta) para comparación. El valor predeterminado es 'main'.
  • head_ref : Referencia principal de Git (SHA de confirmación, nombre de la rama, etiqueta) para comparación. El valor predeterminado es 'HEAD'.

Producción :

  • Un mensaje de confirmación de que se ha iniciado la tarea de revisión

Acceso a recursos

Yellhorn MCP también implementa la API de recursos estándar de MCP para proporcionar acceso a los planes de trabajo:

  • list-resources : enumera todos los planes de trabajo (problemas de GitHub con la etiqueta yellhorn-mcp)
  • get-resource : recupera el contenido de un plan de trabajo específico por número de problema

Se puede acceder a ellos a través de los comandos CLI estándar de MCP:

# List all workplans mcp list-resources yellhorn-mcp # Get a specific workplan by issue number mcp get-resource yellhorn-mcp 123

Desarrollo

# Install development dependencies pip install -e ".[dev]" # Run tests pytest

CI/CD

El proyecto utiliza GitHub Actions para la integración y la implementación continuas:

  • Prueba : se ejecuta automáticamente en solicitudes de extracción y se envía a la rama principal
    • Pelusa con escamas8
    • Comprobación de formato con negro
    • Pruebas con pytest
  • Publicación : se publica automáticamente en PyPI cuando se envía una etiqueta de versión
    • La etiqueta debe coincidir con la versión en pyproject.toml (por ejemplo, v0.2.2)
    • Requiere un token de API de PyPI almacenado como un secreto del repositorio de GitHub (PYPI_API_TOKEN)

Para lanzar una nueva versión:

  1. Actualizar la versión en pyproject.toml
  2. Confirmar cambios: git commit -am "Bump version to XYZ"
  3. Etiqueta la confirmación: git tag vX.YZ
  4. Enviar cambios y etiquetar: git push && git push --tags

Para obtener instrucciones más detalladas, consulte la Guía de uso .

Licencia

Instituto Tecnológico de Massachusetts (MIT)

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Un servidor MCP que conecta Gemini 2.5 Pro con Claude Code, lo que permite a los usuarios generar planes de implementación detallados basados en su base de código y recibir comentarios sobre los cambios en el código.

  1. Features
    1. Installation
      1. Configuration
        1. Usage
          1. Running the server
          2. Integration with Claude Code
        2. Tools
          1. create_workplan
          2. create_worktree
          3. get_workplan
          4. review_workplan
        3. Resource Access
          1. Development
            1. CI/CD
          2. License
            ID: w0azmxm46z