Integrations
Enables sending prompts and files to Gemini 2.5 Pro with support for large context (up to 1M tokens). Offers two main tools: 'second-opinion' for getting model responses on file content, and 'expert-review' for receiving code change suggestions formatted as SEARCH/REPLACE blocks.
mcp-sage
Ein MCP-Server (Model Context Protocol), der Tools zum Senden von Eingabeaufforderungen an OpenAIs O3-Modell oder Googles Gemini 2.5 Pro basierend auf der Token-Anzahl bereitstellt. Die Tools betten alle referenzierten Dateipfade (rekursiv für Ordner) in die Eingabeaufforderung ein. Dies ist nützlich, um Zweitmeinungen oder detaillierte Codeüberprüfungen von einem Modell einzuholen, das große Mengen Kontext präzise verarbeiten kann.
Begründung
Ich nutze Claude Code intensiv. Es ist ein großartiges Produkt, das sich gut für meinen Workflow eignet. Neuere Modelle mit großem Kontextumfang scheinen jedoch besonders nützlich für komplexere Codebasen zu sein, die mehr Kontext benötigen. Dadurch kann ich Claude Code weiterhin als Entwicklungstool verwenden und gleichzeitig die umfangreichen Kontextfunktionen von O3 und Gemini 2.5 Pro nutzen, um den begrenzten Kontext von Claude Code zu erweitern.
Modellauswahl
Der Server wählt automatisch das entsprechende Modell basierend auf der Token-Anzahl und den verfügbaren API-Schlüsseln aus:
- Für kleinere Kontexte (≤ 200.000 Token): Verwendet das O3-Modell von OpenAI (wenn OPENAI_API_KEY festgelegt ist)
- Für größere Kontexte (> 200.000 und ≤ 1 Mio. Token): Verwendet Google Gemini 2.5 Pro (wenn GEMINI_API_KEY festgelegt ist)
- Wenn der Inhalt 1 Million Token überschreitet: Gibt einen informativen Fehler zurück
Fallback-Verhalten:
- API-Schlüssel-Fallback :
- Wenn OPENAI_API_KEY fehlt, wird Gemini für alle Kontexte innerhalb seines 1M-Token-Limits verwendet
- Wenn GEMINI_API_KEY fehlt, können nur kleinere Kontexte (≤ 200K Tokens) mit O3 verarbeitet werden
- Wenn beide API-Schlüssel fehlen, wird ein informativer Fehler zurückgegeben
- Fallback auf Netzwerkkonnektivität :
- Wenn die OpenAI-API nicht erreichbar ist (Netzwerkfehler), greift das System automatisch auf Gemini zurück
- Dies bietet Widerstandsfähigkeit gegen vorübergehende Netzwerkprobleme bei einem Anbieter
- Erfordert, dass GEMINI_API_KEY festgelegt ist, damit der Fallback funktioniert
Inspiration
Dieses Projekt ist von zwei anderen Open-Source-Projekten inspiriert:
- simonw/files-to-prompt für die Dateikomprimierung
- asadm/vibemode für die Idee und die Aufforderung, das gesamte Repo für umfassende Bearbeitungsvorschläge an Gemini zu senden
- PhialsBasement/Chain-of-Recursive-Thoughts -Inspiration für das Sage-Plan-Tool
Überblick
Dieses Projekt implementiert einen MCP-Server, der drei Tools bereitstellt:
sage-opinion
- Nimmt eine Eingabeaufforderung und eine Liste von Datei-/Verzeichnispfaden als Eingabe entgegen
- Packt die Dateien in ein strukturiertes XML-Format
- Misst die Token-Anzahl und wählt das entsprechende Modell aus:
- O3 für ≤ 200.000 Token
- Gemini 2.5 Pro für > 200.000 und ≤ 1 Mio. Token
- Sendet die kombinierte Eingabeaufforderung + Kontext an das ausgewählte Modell
- Gibt die Antwort des Modells zurück
sage-review
- Nimmt eine Anweisung für Codeänderungen und eine Liste von Datei-/Verzeichnispfaden als Eingabe entgegen
- Packt die Dateien in ein strukturiertes XML-Format
- Misst die Token-Anzahl und wählt das entsprechende Modell aus:
- O3 für ≤ 200.000 Token
- Gemini 2.5 Pro für > 200.000 und ≤ 1 Mio. Token
- Erstellt eine spezielle Eingabeaufforderung, die das Modell anweist, Antworten mithilfe von SEARCH/REPLACE-Blöcken zu formatieren
- Sendet den kombinierten Kontext + die Anweisung an das ausgewählte Modell
- Gibt Bearbeitungsvorschläge zurück, die als Such-/Ersetzungsblöcke formatiert sind, um die Implementierung zu vereinfachen
sage-plan
- Nimmt eine Eingabeaufforderung entgegen, in der ein Implementierungsplan und eine Liste von Datei-/Verzeichnispfaden als Eingabe angefordert werden
- Packt die Dateien in ein strukturiertes XML-Format
- Orchestriert eine Multi-Modell-Debatte, um einen hochwertigen Implementierungsplan zu erstellen
- Die Modelle kritisieren und verfeinern die Pläne der anderen in mehreren Runden
- Gibt den erfolgreichen Implementierungsplan mit detaillierten Schritten zurück
sage-plan - Multi-Modell- und Selbstdebatten-Workflows
Das Tool sage-plan
fragt nicht ein einzelnes Modell nach einem Plan. Stattdessen orchestriert es eine strukturierte Debatte , die über eine oder mehrere Runden läuft, und bittet dann ein separates Richtermodell (oder dasselbe Modell im CoRT-Modus), den Gewinner auszuwählen.
1. Multi-Modell-Debattenfluss
Wichtige Phasen der Multimodell-Debatte:
Einrichtungsphase
- Das System ermittelt die verfügbaren Modelle, wählt einen Richter aus und weist Token-Budgets zu
Runde 1
- Generierungsphase - Jedes verfügbare Modell (A, B, C usw.) schreibt parallel seinen eigenen Implementierungsplan
- Kritikphase - Jedes Modell überprüft alle anderen Pläne (niemals seine eigenen) und erstellt parallel dazu strukturierte Kritiken
Runden 2 bis N (N ist standardmäßig 3)
- Synthesephase – Jedes Modell verbessert seinen vorherigen Plan anhand der erhaltenen Kritik (Modelle arbeiten parallel)
- Konsensprüfung - Das Richtermodell bewertet die Ähnlichkeit zwischen allen aktuellen Plänen
- Bei einem Ergebnis ≥ 0,9 wird die Debatte vorzeitig beendet und es geht weiter zum Urteil.
- Kritikphase - Wenn kein Konsens erreicht wird UND wir nicht in der Endrunde sind, kritisiert jedes Modell alle anderen Pläne erneut (parallel).
Urteilsphase
- Nach Abschluss aller Runden (oder Erreichen eines frühen Konsenses) gilt für das Richtermodell (standardmäßig O3):
- Wählt den besten Plan aus ODER führt mehrere Pläne zu einem besseren zusammen
- Bietet einen Vertrauenswert für die Auswahl/Synthese
2. Selbstdebattenfluss – Einzelmodell verfügbar
Wenn nur ein Modell verfügbar ist, wird ein Chain of Recursive Thoughts (CoRT) -Ansatz verwendet:
- Initial Burst - Das Modell generiert drei verschiedene Pläne, die jeweils einen anderen Ansatz verfolgen
- Verfeinerungsrunden – Für jede nachfolgende Runde (2 bis N, Standard N=3):
- Das Modell überprüft alle bisherigen Pläne
- Es kritisiert sie intern und identifiziert Stärken und Schwächen
- Es entsteht ein neuer, verbesserter Plan, der die Einschränkungen früherer Pläne berücksichtigt.
- Endgültige Auswahl – Der zuletzt erstellte Plan wird zum endgültigen Implementierungsplan
Was tatsächlich im Code passiert (Kurzreferenz)
Phase / Funktionalität | Code-Speicherort | Hinweise |
---|---|---|
Eingabeaufforderungen zur Generierung | prompts/debatePrompts.generatePrompt | Fügt die Überschrift „# Implementierungsplan (Modell X)“ hinzu. |
Kritikanregungen | prompts/debatePrompts.critiquePrompt | Verwendet die Abschnitte „## Kritik an Plan {ID}“ |
Syntheseaufforderungen | prompts/debatePrompts.synthesizePrompt | Model überarbeitet eigenen Plan |
Konsensprüfung | debateOrchestrator.checkConsensus | Judge-Modell gibt JSON mit consensusScore zurück |
Urteil | prompts/debatePrompts.judgePrompt | Richter gibt „# Endgültiger Implementierungsplan“ + Vertrauen zurück |
Aufforderung zur Selbstdebatte | prompts/debatePrompts.selfDebatePrompt | Kette-von-Rekursiven-Gedanken- Schleife |
Leistungs- und Kostenüberlegungen
⚠️ Wichtig: Das Sage-Plan-Tool kann:
- Die Fertigstellung nimmt viel Zeit in Anspruch (5–10 Minuten bei mehreren Modellen).
- Verbrauchen Sie erhebliche API-Token aufgrund mehrerer Diskussionsrunden
- Verursachen höhere Kosten als Einzelmodellansätze
Typische Ressourcennutzung:
- Multi-Modell-Debatte: 2-4x mehr Token als ein Single-Modell-Ansatz
- Bearbeitungszeit: 5-10 Minuten, abhängig von der Komplexität und der Modellverfügbarkeit
- API-Kosten: 0,30–1,50 $ pro Planerstellung (variiert je nach verwendeten Modellen und Plankomplexität)
Voraussetzungen
- Node.js (v18 oder höher)
- Ein Google Gemini API-Schlüssel (für größere Kontexte)
- Ein OpenAI-API-Schlüssel (für kleinere Kontexte)
Installation
Umgebungsvariablen
Legen Sie die folgenden Umgebungsvariablen fest:
OPENAI_API_KEY
: Ihr OpenAI-API-Schlüssel (für O3-Modell)GEMINI_API_KEY
: Ihr Google Gemini API-Schlüssel (für Gemini 2.5 Pro)
Verwendung
Fügen Sie Ihrer MCP-Konfiguration nach dem Erstellen mit npm run build
Folgendes hinzu:
Sie können auch an anderer Stelle festgelegte Umgebungsvariablen verwenden, beispielsweise in Ihrem Shell-Profil.
Eingabeaufforderung
Um eine zweite Meinung zu etwas zu bekommen, fragen Sie einfach nach einer zweiten Meinung.
Um eine Codeüberprüfung zu erhalten, fordern Sie eine Codeüberprüfung oder eine Expertenüberprüfung an.
Beide profitieren von der Bereitstellung von Pfaden zu Dateien, die Sie in den Kontext aufnehmen möchten. Wenn diese jedoch weggelassen werden, leitet das Host-LLM wahrscheinlich ab, was aufgenommen werden soll.
Debuggen und Überwachen
Der Server stellt detaillierte Überwachungsinformationen über die MCP-Protokollierungsfunktion bereit. Diese Protokolle umfassen:
- Token-Nutzungsstatistiken und Modellauswahl
- Anzahl der in der Anfrage enthaltenen Dateien und Dokumente
- Metriken zur Anforderungsverarbeitungszeit
- Fehlerinformationen bei Überschreitung des Token-Limits
Protokolle werden über die notifications/message
des MCP-Protokolls gesendet, um sicherzustellen, dass sie die JSON-RPC-Kommunikation nicht beeinträchtigen. MCP-Clients mit Protokollierungsunterstützung zeigen diese Protokolle entsprechend an.
Beispielprotokolleinträge:
Verwenden der Tools
Sage-Opinion-Tool
Das Tool sage-opinion
akzeptiert die folgenden Parameter:
prompt
(Zeichenfolge, erforderlich): Die Eingabeaufforderung, die an das ausgewählte Modell gesendet werden sollpaths
(Array von Zeichenfolgen, erforderlich): Liste der Dateipfade, die als Kontext einbezogen werden sollen
Beispiel für einen MCP-Toolaufruf (mit JSON-RPC 2.0):
Sage-Review-Tool
Das Tool sage-review
akzeptiert die folgenden Parameter:
instruction
(Zeichenfolge, erforderlich): Die spezifischen Änderungen oder Verbesserungen, die erforderlich sindpaths
(Array von Zeichenfolgen, erforderlich): Liste der Dateipfade, die als Kontext einbezogen werden sollen
Beispiel für einen MCP-Toolaufruf (mit JSON-RPC 2.0):
Die Antwort enthält SEARCH/REPLACE-Blöcke, die Sie zum Implementieren der vorgeschlagenen Änderungen verwenden können:
Sage-Plan-Tool
Das Tool sage-plan
akzeptiert die folgenden Parameter:
prompt
(Zeichenfolge, erforderlich): Beschreibung, wofür Sie einen Implementierungsplan benötigenpaths
(Array von Zeichenfolgen, erforderlich): Liste der Dateipfade, die als Kontext einbezogen werden sollen
Beispiel für einen MCP-Toolaufruf (mit JSON-RPC 2.0):
Die Antwort enthält einen detaillierten Implementierungsplan mit:
- Allgemeine Architekturübersicht
- Konkrete Umsetzungsschritte
- Erforderliche Dateiänderungen
- Teststrategie
- Mögliche Herausforderungen und Abhilfemaßnahmen
Dieser Plan profitiert von der kollektiven Intelligenz mehrerer KI-Modelle (oder einer gründlichen Selbstüberprüfung durch ein einzelnes Modell) und enthält in der Regel robustere, durchdachtere und detailliertere Empfehlungen als ein Single-Pass-Ansatz.
Ausführen der Tests
So testen Sie die Tools:
Hinweis : Die Ausführung des Sage-Plan-Tests kann 5–15 Minuten dauern, da er eine Debatte mehrerer Modelle orchestriert.
Projektstruktur
src/index.ts
: Die Hauptimplementierung des MCP-Servers mit Tooldefinitionensrc/pack.ts
: Tool zum Packen von Dateien in ein strukturiertes XML-Formatsrc/tokenCounter.ts
: Dienstprogramme zum Zählen von Token in einer Eingabeaufforderungsrc/gemini.ts
: Implementierung des Gemini-API-Clientssrc/openai.ts
: OpenAI API-Clientimplementierung für das O3-Modellsrc/debateOrchestrator.ts
: Multi-Modell-Debattenorchestrierung für Sage-Plansrc/prompts/debatePrompts.ts
: Vorlagen für Debattenanregungen und -anweisungentest/run-test.js
: Test für das Sage-Opinion-Tooltest/test-expert.js
: Test für das Sage-Review-Tooltest/run-sage-plan.js
: Test für das Sage-Plan-Tooltest/test-o3.js
: Test für die Modellauswahllogik
Lizenz
ISC
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Ein MCP-Server, der Tools zum Einholen von Zweitmeinungen oder detaillierten Codeüberprüfungen von Gemini 2.5 Pro bereitstellt, indem er Dateiinhalte in Eingabeaufforderungen einbettet und so die Verarbeitung großer Codebasen mit umfangreichem Kontext ermöglicht.
Related MCP Servers
- -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 that automatically generates documentation, test plans, and code reviews for code repositories by analyzing directory structures and code files using AI models via OpenRouter API.Last updated -3TypeScriptCreative Commons Zero v1.0 Universal
- -securityAlicense-qualityAn MCP server that analyzes codebases and generates contextual prompts, making it easier for AI assistants to understand and work with code repositories.Last updated -2PythonMIT License
- -securityAlicense-qualityAn MCP server that reviews code with the sarcastic and cynical tone of a grumpy senior developer, helping identify issues in PRs and providing feedback on code quality.Last updated -2210JavaScriptMIT License