Den MCP-Server nutzen
Diese Anleitung zeigt, wie du einen externen MCP-Client — Claude Code, einen Editor, den MCP Inspector — mit dem eigenen Werkzeugserver von Control Center verbindest.
Control Center registriert 110 Werkzeuge und stellt sie über das Model
Context Protocol bereit, Protokollversion 2024-11-05. Ganze
Werkzeugfamilien, die du erwarten könntest, fehlen: Es gibt keine Werkzeuge
für Besprechungen oder den Kalender und keine für Projekte.
Den Endpunkt finden
Abschnitt betitelt „Den Endpunkt finden“Die MCP-Oberfläche teilt sich den Listener von cc_server. Einen eigenen
MCP-Port gibt es nicht.
| Endpunkt | Methode | Zweck |
|---|---|---|
/mcp |
POST |
Streamable-HTTP-Transport — darüber spricht ein Client |
/mcp |
DELETE |
Eine Sitzung beenden |
/sse |
GET |
Benachrichtigungsstrom per Server-Sent Events |
Eine lokale Standardinstallation erreichst du also unter
http://127.0.0.1:9030/mcp.
- Geh zu Einstellungen → Server → MCP-Server
- Lies die Karte MCP-Server — sie zeigt Läuft oder Gestoppt und den Port, auf dem sie lauscht
Bei einer Neuinstallation ist die Oberfläche standardmäßig an, deshalb funktioniert ein Loopback-Client ohne Abstecher in die Einstellungen. Beim App-Start starten steuert, ob sie nach einem Neustart wieder hochkommt; Starten / Stoppen gelten nur für die Sitzung und ändern diese Einstellung nicht.
Der Server bindet standardmäßig Loopback, deshalb erreichst du den Endpunkt
nur von der Maschine, auf der cc_server läuft, außer du hast ihn mit
--bind any gestartet.
Einen Client verbinden
Abschnitt betitelt „Einen Client verbinden“Richte deinen Client auf den Streamable-HTTP-Endpunkt. Die genaue Form der Konfiguration ist Sache deines Clients; die URL bleibt dieselbe.
{ "mcpServers": { "control-center": { "type": "http", "url": "http://127.0.0.1:9030/mcp" } }}Claude Code
Abschnitt betitelt „Claude Code“Claude Code übernimmt das nicht aus einer .mcp.json im Projekt —
projektbezogene MCP-Server liegen hinter einer Freigabeabfrage, die ein
nicht-interaktives claude -p nie beantwortet. Übergib die Konfiguration
ausdrücklich:
claude --mcp-config /path/to/mcp.json --strict-mcp-config--strict-mcp-config sorgt dafür, dass Claude nur diese Datei nutzt, damit
derselbe Server nicht zusätzlich aus dem Projekt entdeckt und doppelt
registriert wird.
Kontrollpunkt: Bitte den Client, seine Werkzeuge aufzulisten. Du solltest
Einträge mcp__* sehen, die Tickets, Bereiche, Gedächtnis, den Code-Graph
und die Review abdecken.
MCP über den Host hinaus bereitstellen
Abschnitt betitelt „MCP über den Host hinaus bereitstellen“- Unter Einstellungen → Server → MCP-Server, in der Zeile Authentifizierungstoken, drücke Setzen und füge ein Token ein
- Sende es als
Authorization: Bearer <token>bei jeder AnfragePOST /mcp
Eine Oberfläche ohne Token lehnt jeden Aufrufer außerhalb von Loopback mit 403 ab. Das ist absichtlich fail-closed: Erst das Token macht den Dienst außerhalb des Hosts überhaupt möglich.
Änderungen am Token gelten sofort für die laufende Oberfläche — kein Neustart.
Jeden Aufruf auf einen Arbeitsbereich begrenzen
Abschnitt betitelt „Jeden Aufruf auf einen Arbeitsbereich begrenzen“Jedes Werkzeug, das arbeitsbereichsbezogene Daten berührt, verlangt
workspace_id. Ein Aufruf ohne das Feld wird abgelehnt, statt gegen irgendeinen
„aktuellen“ Arbeitsbereich aufgelöst zu werden:
{ "workspace_id": "acme", "title": "Fix login bug", "priority": "high"}Die ID ist die aus der URL im Browser oder in der App:
/workspaces/<workspace_id>/…. Die einzigen Ausnahmen sind Werkzeuge, die
wirklich arbeitsbereichsübergreifend sind, etwa list_workspaces und die
Newsfeed-Werkzeuge — der Newsfeed gilt pro Benutzer, und ein Agent hat keinen
eigenen Benutzer, deshalb arbeiten diese Werkzeuge mit den Feeds des
Server-Besitzers.
Werkzeuge mit Repo-Bezug prüfen zusätzlich, dass das Repo mit diesem Arbeitsbereich verknüpft ist.
Wissen, was die Oberfläche ablehnt
Abschnitt betitelt „Wissen, was die Oberfläche ablehnt“- Modus-Gating. Ein Aufruf wird serverseitig gegen den Modus des Bereichs
des aufrufenden Agenten aufgelöst. Ein Agent in einem Nur-Lese-Modus
erreicht ein schreibendes Werkzeug nicht, indem er
space_idweglässt — der Modus wird stattdessen aus seinem aktiven Lauf ermittelt. - Schutzregeln für Aktionen. Verändernde Werkzeuge deklarieren ihre Effektklassen und durchlaufen dieselbe Richtlinie wie der Rest des Produkts. Siehe Schutzregeln konfigurieren.
- Bestätigung. Manche zerstörenden Werkzeuge bauen eine Bestätigungsnutzlast, die freigegeben werden muss, bevor der Aufruf weitergeht.
Der volle Katalog steht in tools/list, ohne dass bei der Entdeckung etwas
ausgeblendet wird — ein externer MCP-Client weigert sich, ein Werkzeug
aufzurufen, das nicht in seiner zwischengespeicherten Liste steht. Werkzeuge
zu verstecken macht sie kaputt, statt die Liste aufzuräumen.
Fehlerbehebung
Abschnitt betitelt „Fehlerbehebung“Der Client sieht keine Werkzeuge
Abschnitt betitelt „Der Client sieht keine Werkzeuge“- Prüfe, ob die Karte MCP-Server Läuft anzeigt
- Prüfe, ob der Port zu deinem
cc_server-Port passt - Bei Claude Code prüfe, ob du
--mcp-configund--strict-mcp-configübergeben hast
403 von einer Maschine, die nicht der Server ist
Abschnitt betitelt „403 von einer Maschine, die nicht der Server ist“Es ist kein Bearer-Token konfiguriert. Setze eines und sende es mit.
Ein Werkzeugaufruf scheitert mit „Missing or invalid argument: workspace_id“
Abschnitt betitelt „Ein Werkzeugaufruf scheitert mit „Missing or invalid argument: workspace_id““Füge workspace_id hinzu. Einen impliziten Arbeitsbereich gibt es nicht.
Ein Werkzeugaufruf wird als unbekannt abgelehnt
Abschnitt betitelt „Ein Werkzeugaufruf wird als unbekannt abgelehnt“MCP-Tools listet den Katalog. Rufe den Namen genau so auf, wie er dort steht.