Yellhorn MCP
Ein Model Context Protocol (MCP)-Server, der Gemini 2.5 Pro und OpenAI-Funktionen für Claude Code für Softwareentwicklungsaufgaben bereitstellt und dabei Ihre gesamte Codebasis in der Eingabeaufforderung nutzt. Dieses Muster ist äußerst nützlich, um die Arbeit von Code-Assistenten wie Claude Code oder anderen MCP-kompatiblen Programmieragenten zu definieren und die Ergebnisse zu überprüfen, um sicherzustellen, dass sie den genau festgelegten ursprünglichen Anforderungen entsprechen.
Merkmale
- Arbeitspläne erstellen : Erstellt detaillierte Implementierungspläne basierend auf einer Eingabeaufforderung und unter Berücksichtigung Ihrer gesamten Codebasis, veröffentlicht sie als GitHub-Probleme und stellt sie als MCP-Ressourcen für Ihren Codieragenten bereit
- Code-Diffs beurteilen : Bietet ein Tool zum Bewerten von Git-Diffs im Vergleich zum ursprünglichen Arbeitsplan mit vollständigem Codebasiskontext und liefert detailliertes Feedback, um sicherzustellen, dass die Implementierung nicht von den ursprünglichen Anforderungen abweicht, und gibt Hinweise, was geändert werden muss, um dies zu erreichen.
- Nahtlose GitHub-Integration : Erstellt automatisch gekennzeichnete Probleme und veröffentlicht beurteilte Unterprobleme mit Verweisen auf die Probleme des ursprünglichen Arbeitsplans.
- Kontextsteuerung : Verwenden Sie
.yellhornignore
-Dateien, um bestimmte Dateien und Verzeichnisse aus dem KI-Kontext auszuschließen, ähnlich wie.gitignore
- MCP-Ressourcen : Stellt Arbeitspläne als Standard-MCP-Ressourcen zur einfachen Auflistung und Abfrage bereit
Installation
Konfiguration
Der Server benötigt die folgenden Umgebungsvariablen:
GEMINI_API_KEY
: Ihr Gemini-API-Schlüssel (erforderlich für Gemini-Modelle)OPENAI_API_KEY
: Ihr OpenAI-API-Schlüssel (erforderlich für OpenAI-Modelle)REPO_PATH
: Pfad zu Ihrem Repository (standardmäßig das aktuelle Verzeichnis)YELLHORN_MCP_MODEL
: Zu verwendendes Modell (Standard: „gemini-2.5-pro-preview-03-25“). Verfügbare Optionen:- Gemini-Modelle: „gemini-2.5-pro-preview-03-25“, „gemini-2.5-flash-preview-04-17“
- OpenAI-Modelle: „gpt-4o“, „gpt-4o-mini“, „o4-mini“, „o3“
Der Server erfordert außerdem die Installation und Authentifizierung der GitHub CLI ( gh
).
Verwendung
Erste Schritte
VSCode/Cursor-Setup
Um Yellhorn MCP in VSCode oder Cursor zu konfigurieren, erstellen Sie im Stammverzeichnis Ihres Arbeitsbereichs eine Datei .vscode/mcp.json
mit dem folgenden Inhalt:
Claude Code Setup
Um Yellhorn MCP direkt mit Claude Code zu konfigurieren, fügen Sie Ihrem Projekt eine .mcp.json
Datei auf Stammebene mit folgendem Inhalt hinzu:
Werkzeuge
Arbeitsplan erstellen
Erstellt ein GitHub-Problem mit einem detaillierten Arbeitsplan basierend auf dem Titel und der ausführlichen Beschreibung.
Eingabe :
title
: Titel für das GitHub-Problem (wird als Problemtitel und -überschrift verwendet)detailed_description
: Detaillierte Beschreibung des Arbeitsplanscodebase_reasoning
: (optional) Steuern Sie, ob eine KI-Verbesserung durchgeführt wird:"full"
: (Standard) Verwenden Sie KI, um den Arbeitsplan mit vollständigem Codebasiskontext zu verbessern"lsp"
: Verwenden Sie KI mit leichtgewichtigem Codebasiskontext (Funktions-/Methodensignaturen, Klassenattribute und Strukturfelder für Python und Go)."none"
: KI-Verbesserung überspringen, die bereitgestellte Beschreibung unverändert verwenden
debug
: (optional) Wenn auftrue
gesetzt, wird dem Problem ein Kommentar mit der vollständigen Eingabeaufforderung hinzugefügt, die für die Generierung verwendet wurde.
Ausgabe :
- JSON-Zeichenfolge mit:
issue_url
: URL zum erstellten GitHub-Problemissue_number
: Die GitHub-Problemnummer
Arbeitsplan abrufen
Ruft den mit einem Arbeitsplan verknüpften Arbeitsplaninhalt (GitHub-Problemtext) ab.
Eingabe :
issue_number
: Die GitHub-Problemnummer für den Arbeitsplan.
Ausgabe :
- Der Inhalt der Arbeitsplanausgabe als Zeichenfolge
Richter_Arbeitsplan
Löst eine asynchrone Code-Beurteilung aus, die zwei Git-Referenzen (Branches oder Commits) mit einem in einem GitHub-Problem beschriebenen Arbeitsplan vergleicht. Erstellt nach der Ausführung (im Hintergrund) asynchron ein GitHub-Unterproblem mit der Beurteilung.
Eingabe :
issue_number
: Die GitHub-Problemnummer für den Arbeitsplan.base_ref
: Basis-Git-Referenz (Commit-SHA, Branch-Name, Tag) zum Vergleich. Standardmäßig „main“.head_ref
: Head-Git-Ref (Commit-SHA, Branch-Name, Tag) zum Vergleich. Standardmäßig „HEAD“.codebase_reasoning
: (optional) Steuern Sie, welcher Codebase-Kontext bereitgestellt wird:"full"
: (Standard) Vollständigen Codebasiskontext verwenden"lsp"
: Verwenden Sie einen leichteren Codebasiskontext (nur Funktionssignaturen für Python und Go sowie vollständige Diff-Dateien)."none"
: Codebasiskontext für schnellste Verarbeitung vollständig überspringen
debug
: (optional) Wenn auftrue
gesetzt, wird dem Unterproblem ein Kommentar mit der vollständigen Eingabeaufforderung hinzugefügt, die für die Generierung verwendet wurde
Ausgabe :
- Eine Bestätigungsnachricht, dass die Beurteilungsaufgabe eingeleitet wurde
Ressourcenzugriff
Yellhorn MCP implementiert auch die standardmäßige MCP-Ressourcen-API, um Zugriff auf Arbeitspläne zu ermöglichen:
list-resources
: Listet alle Arbeitspläne auf (GitHub-Probleme mit dem Label yellhorn-mcp)get-resource
: Ruft den Inhalt eines bestimmten Arbeitsplans nach Ausgabenummer ab
Auf diese kann über die Standard-MCP-CLI-Befehle zugegriffen werden:
Entwicklung
CI/CD
Das Projekt verwendet GitHub Actions für kontinuierliche Integration und Bereitstellung:
- Testen : Läuft automatisch bei Pull-Anfragen und pusht in den Hauptzweig
- Fusseln mit Flake8
- Formatprüfung mit Schwarz
- Testen mit pytest
- Veröffentlichen : Veröffentlicht automatisch auf PyPI, wenn ein Versionstag gepusht wird
- Das Tag muss mit der Version in pyproject.toml übereinstimmen (z. B. v0.2.2).
- Erfordert ein PyPI-API-Token, das als GitHub-Repository-Geheimnis gespeichert ist (PYPI_API_TOKEN).
So veröffentlichen Sie eine neue Version:
- Version in pyproject.toml und yellhorn_mcp/__init__.py aktualisieren
- Aktualisieren Sie CHANGELOG.md mit den neuen Änderungen
- Änderungen festschreiben:
git commit -am "Bump version to XYZ"
- Kennzeichnen Sie das Commit:
git tag vX.YZ
- Änderungen pushen und taggen:
git push && git push --tags
Eine Historie der Änderungen finden Sie im Änderungsprotokoll .
Ausführlichere Anweisungen finden Sie im Benutzerhandbuch .
Lizenz
MIT
You must be authenticated.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Ein MCP-Server, der Gemini 2.5 Pro mit Claude Code verbindet und es Benutzern ermöglicht, detaillierte Implementierungspläne basierend auf ihrer Codebasis zu erstellen und Feedback zu Codeänderungen zu erhalten.
Related MCP Servers
- AsecurityFlicenseAqualityAn MCP server implementation that leverages Google's Gemini API to provide analytical problem-solving capabilities through sequential thinking steps without code generation.Last updated -114JavaScript
- -securityAlicense-qualityThe ultimate Gemini API interface for MCP hosts, intelligently selecting models for the task at hand—delivering optimal performance, minimal token cost, and seamless integration.Last updated -6TypeScriptMIT License
- -security-license-qualityAn MCP server implementation that allows using Google's Gemini AI models (specifically Gemini 1.5 Pro) through Claude or other MCP clients via the Model Context Protocol.Last updated -1JavaScript
- AsecurityAlicenseAqualityA dedicated server that wraps Google's Gemini AI models in a Model Context Protocol (MCP) interface, allowing other LLMs and MCP-compatible systems to access Gemini's capabilities like content generation, function calling, chat, and file handling through standardized tools.Last updated -163TypeScriptMIT License