Agent über MCP verbinden
Gemeinsame Aufgaben und Produktkontext für den eigenen Agenten — mit Ihren Rechten und einem Protokoll seiner Aktionen.
Serveradresse: https://hub.n1.team/mcp · Streamable HTTP · ohne Serversitzung.
Mit OAuth verbinden
- Fügen Sie in Claude, ChatGPT oder einem anderen entfernten MCP-Client mit OAuth einen eigenen Server mit der Adresse oben hinzu. Die Verfügbarkeit hängt vom Client und vom Tarif ab. Für Cursor nutzen Sie die Bearer-Einrichtung im Abschnitt Cursor.
- Melden Sie sich bei Ihrem bestehenden Hub-Konto an, prüfen Sie das angezeigte Team und erlauben Sie den Zugriff. Jede Person verbindet den eigenen Agenten. Einen Schlüssel müssen Sie nicht kopieren.
- Senden Sie die Prüfnachricht unten. Eine gespeicherte Verbindung allein beweist nicht, dass der Agent den Hub erreicht hat.
Für die Entwicklung eines Clients: die Erkennung läuft über resource_metadata im WWW-Authenticate der Antwort 401, die Metadaten der geschützten Ressource und des Autorisierungsservers. Authorization Code + PKCE S256, öffentliche Clients, dynamische Registrierung, Scope hub. Ein refresh_token-Grant wird nicht angeboten: verbinden Sie sich nach Ablauf der Autorisierung erneut.
Lokales Codex: verbinden Sie OAuth einmal im gemeinsamen Profil von Anwendung, CLI und IDE. Nutzen Sie eine vorhandene Verbindung, statt eine weitere anzulegen.
codex mcp add n1-hub --url https://hub.n1.team/mcp
codex mcp login n1-hub
Gehostetes ChatGPT / Work: installieren Sie Hub einmal über Plugins → + → Add custom MCP server mit der Adresse oben und OAuth. Wählen Sie das installierte Plugin bei Bedarf in einem neuen Chat. Ein gehosteter Chat übernimmt die lokale config.toml nicht.
Cursor
Desktop-App: Settings → MCPs → New MCP Server öffnet ~/.cursor/mcp.json. Tragen Sie die Hub-URL und Authorization Bearer mit einem persönlichen Hub-Schlüssel ein. Bevorzugt den Schlüssel in N1_HUB_KEY belassen und den Header unten nutzen. Die Authenticate-Buttons unter Needs Attention gelten für andere Plugins, nicht für Hub.
{
"mcpServers": {
"n1-hub": {
"url": "https://hub.n1.team/mcp",
"headers": {
"Authorization": "Bearer ${env:N1_HUB_KEY}"
}
}
}
}
Cursor Cloud Agents erben weder ~/.cursor/mcp.json noch eine Projekt-.cursor/mcp.json. Auf cursor.com/agents öffnen Sie das MCP-Dropdown und fügen Hub mit derselben URL und einem persönlichen Hub-Schlüssel hinzu. Team-Admins können ihn unter Dashboard → Plugins & MCPs hinzufügen. Nutzen Sie HTTP. Cloud Agents unterstützen weder SSE noch mcp-remote.
cursor.com/agents · Cursor MCP · Cursor Cloud Agents · MCP in der Cursor-App
Mit einem persönlichen Schlüssel verbinden
Für Clients ohne OAuth, Skripte oder die optionale lokale Codex-Einrichtung für Aufgaben und Verbrauch verwenden Sie einen persönlichen Schlüssel unter Agenten → Meine Verbindungen. Nutzen Sie den gespeicherten Schlüssel in den Chats dieses Profils. Legen Sie ihn als N1_HUB_KEY in der Umgebung des Clients ab. Der Schlüssel wird einmal angezeigt; schreiben Sie ihn nicht ins Repository und nicht in eine URL. Ziehen Sie ihn bei einem Leak in Ihren eigenen Verbindungen zurück. Jeder Schlüssel gehört einer Person und einem Team.
Manuelle Einrichtung von lokalem Codex: führen Sie den Block mit der vorhandenen ~/.codex/config.toml zusammen, speichern Sie N1_HUB_KEY in ~/.codex/.env und starten Sie den Client neu. Wenn CODEX_HOME gesetzt ist, verwenden Sie das vorhandene Codex-Verzeichnis. Überschreiben Sie keine anderen Einstellungen. Das verbindet keinen gehosteten Chat.
[mcp_servers.n1-hub]
url = "https://hub.n1.team/mcp"
bearer_token_env_var = "N1_HUB_KEY"
Andere Clients: wählen Sie HTTP / Streamable HTTP und richten Sie den Autorisierungsheader ein. Setzen Sie den Schlüssel über den Geheimspeicher des Clients ein; die Syntax der Variablen hängt von der Anwendung ab.
Authorization: Bearer <your-personal-key>
Verbindung prüfen
Rufe get_status auf. Sag, für welche Person und welchen Arbeitsbereich du arbeitest. Danach list_products und get_product_context für mein Produkt. Ändere noch nichts.
Die Antwort muss Ihre Person und Ihr Team nennen. Prüfen Sie den ersten erfolgreichen Aufruf unter Agenten. Der Agent sieht dieselben Produkte wie Sie; Vorgänge nur für den Inhaber bleiben eingeschränkt. Das Entfernen einer Person oder der Widerruf eines Schlüssels beendet die folgenden Aufrufe.
Wiederholen Sie in einem neuen Chat über die gespeicherte Verbindung get_status und lesen Sie die gewünschte Aufgabe mit get_task. Ein Schlüssel pro Chat ist nicht nötig. Fehlen Werkzeuge, prüfen Sie das installierte Plugin, das aktive Client-Profil oder die gespeicherte Cloud-Umgebung, bevor Sie neu verbinden. Ein früherer Aufruf beweist den Zugriff in diesem Chat nicht. OAuth-Zugriff allein zeigt den Tokenverbrauch nicht.
Eigenen Client bauen: erste Protokollanfrage
Verwenden Sie ein MCP SDK: vereinbaren Sie eine unterstützte Protokollversion, rufen Sie initialize auf, senden Sie notifications/initialized und danach tools/list und tools/call. Dieses curl prüft nur die Initialisierung und startet kein Werkzeug. Übergeben Sie die vereinbarte Version in den folgenden Anfragen im Header MCP-Protocol-Version. Der zustandslose Transport vergibt keine Mcp-Session-Id und bietet keinen dauerhaften Ereignisstrom über GET.
curl --fail-with-body 'https://hub.n1.team/mcp' \
-H "Authorization: Bearer $N1_HUB_KEY" \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
--data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"my-client","version":"1.0.0"}}}'
Funktionen entdecken
Die vollständige aktuelle Referenz ist die Antwort von tools/list nach der Autorisierung: Namen, Beschreibungen, JSON Schema der Argumente und Anmerkungen. Über denselben Client erreichen Sie resources/list, resources/templates/list und prompts/list. Legen Sie die Zahl der Werkzeuge nicht fest und behandeln Sie eine gefundene Operation nicht als für jede Rolle erlaubt.
| Szenario | Beginnen Sie mit |
|---|---|
| Person und Kontext | get_status, list_products, get_product_context |
| Aufgaben und Übergabe | list_tasks, get_task, create_task, update_task, review_task |
| Teamprozess: Spalten und optionale Aufgabentypen | get_workflow, update_workflow · Der Inhaber schreibt mit expectedVersion und reason; die Konfiguration startet keinen Agenten. |
| Warteschlange des Agenten | next_task, get_agent_work |
| Produktdaten | query_metric, get_overview, get_sources |
| Was sich geändert hat | get_digest, daily_digest (Prompt) |
Der Produktkontext steht auch als n1://products/{slug}/context bereit; plan_week ist ein Planungs-Prompt. Lesen Sie vor einer Änderung die Serveranweisungen und agentPolicy. Das Schließen einer Aufgabe braucht eine genannte Begründung; das Aufnehmen der Arbeit kann eine Schätzung verlangen. Eine Verbindung gibt Zugriff, startet aber keinen Hintergrundagenten und führt keinen Code aus. next_task ruft Ihr Agent selbst auf.
Wie Agenten Aufgaben aufnehmen
Das hängt von der Anwendung ab, nicht von der Modellmarke: Gemini, GPT und Claude brauchen einen laufenden Client, der den Hub aufruft. Eine Zuweisung und eine MCP-Verbindung starten diesen Client nicht. Der Hub sendet externen Agenten derzeit kein Aufwachsignal.
Für die automatische Aufnahme richten Sie die Anwendung oder einen externen Planer so ein, dass er die Warteschlange prüft und next_task aufruft, wenn der Client arbeiten kann. Dieser Aufruf kann eine Aufgabe übernehmen; er ist kein nur lesender Beobachter. Verwenden Sie die ausgegebene Laufkennung und die Stufenrevision und halten Sie die Teamregeln ein. Ohne Aufgabe nennt die Antwort den Grund (code: empty, paused, daily_runs, daily_tokens, needs_estimate, busy), und pollAfterSec sagt, nach wie vielen Sekunden Sie erneut fragen; REST wiederholt das im Header Retry-After. busy bedeutet, dass ein anderer Lauf desselben Schlüssels vor weniger als 90 Minuten an seiner Aufgabe gehandelt hat: beenden Sie diesen Lauf, statt die Aufgabe parallel zu bearbeiten. Um zu entscheiden, ob ein Agent überhaupt starten soll, kann der Planer peek_queue aufrufen (REST: GET /api/v1/agents/queue): der Aufruf übernimmt nichts und antwortet mit pending, queued, holding, code und pollAfterSec. Starten Sie das Modell nur, wenn pending über 0 liegt: eine leere Warteschlange verbraucht keine Tokens. Gibt es keinen Hintergrundmodus und keinen Zeitplan, bitten Sie den Agenten, die Aufgaben von Hand zu prüfen. Eine erfolgreiche Verbindung oder eine kürzliche Anfrage beweist nicht, dass der Agent die Warteschlange dauernd abhört.
Eine bestehende Verbindung wiederherstellen
Eine gewöhnliche Hub-Ausgabe verlangt nicht, jedes Modell zu aktualisieren oder neu zu verbinden. Bei einer bekannten Änderung der Werkzeuge erscheint in Agenten ein persönlicher Hinweis für die betroffene gespeicherte Verbindung. Nur deren Inhaber bestätigt ihn. Die Bestätigung blendet den Hinweis aus; sie beweist nicht, dass der Client aktualisiert hat oder dass ein alter Chat Aufgaben ändern kann. get_status.mcp nennt die Serverrevision und persönliche Hinweise, nicht den Cache des Clients.
Autorisierung und die vom Client gemerkten Werkzeuge werden getrennt aktualisiert. Nach einer Hub-Ausgabe kann die Verbindung funktionieren, während die Anwendung alte Werkzeug-Metadaten hält. Hub kann eine andere Anwendung nicht aktualisieren und einen Abbruch vor MCP nicht sehen. Eine frühere Aufrufzeit bestätigt die Wiederherstellung nicht.
- Fehlende Werkzeuge: prüfen Sie zuerst das gewählte Plugin, das Konto, das Profil und die Ausführungsumgebung. Ein gehosteter Chat erbt lokale Einstellungen nicht. Ein Cursor Cloud Agent erbt weder ~/.cursor/mcp.json noch eine Projekt-.cursor/mcp.json.
- Nach einem Update fehlt ein Werkzeug oder ein gültiges Argument wird nach alten Regeln abgelehnt: aktualisieren Sie die Metadaten der bestehenden Verbindung. Für custom MCP in ChatGPT oder Work: Plugins → Ihre bestehende Hub-Verbindung → Refresh, danach ein neuer Chat. Behalten Sie die bisherige Autorisierung und den Schlüssel. Bei veröffentlichten Plugins kann die Aktualisierung anders ablaufen.
- Lokale Codex, Claude und andere MCP-Anwendungen: aktualisieren Sie die Werkzeugliste oder starten Sie die Verbindung im bestehenden Profil neu, so wie es der Client unterstützt. In Cursor öffnen Sie Settings → MCPs und prüfen ~/.cursor/mcp.json (URL und Authorization Bearer). Für einen Cursor Cloud Agent aktivieren Sie Hub erneut über das MCP-Dropdown auf cursor.com/agents (Team-Admins: Dashboard → Plugins & MCPs). Holen Sie vor dem Wiederholen tools/list über diesen Client. Ein neuer Schlüssel aktualisiert die Metadaten nicht; eine Hub-Ausgabe garantiert keine Zustellung an installierte Clients.
- Eine Ablehnung der Argumente allein beweist kein Metadatenproblem. Vergleichen Sie die Eingabe mit dem aktuellen Schema und korrigieren Sie ungültige Daten. Für 401 brauchen Sie eine gültige Autorisierung, für 403 das der Person erlaubte Produkt und die erlaubte Aktion. Erweitern Sie keine Rechte und ändern Sie eine korrekte URL nicht in ein unsicheres Format, um eine Client-Prüfung zu umgehen.
ChatGPT Plugins · OpenAI: Metadaten von custom MCP aktualisieren · Hilfe zur Wiederherstellung der Verbindung
Prüfen Sie im selben Client nur das Lesen: get_status muss die vorgesehene Person und das Team nennen, danach muss get_task eine echte Aufgabe lesen, auf die sie zugreifen darf. Übergeben Sie den echten Aufgabenschlüssel, kein erfundenes Beispiel. Ändern Sie bei der Prüfung nichts: next_task kann Arbeit übernehmen und ist keine passive Prüfung. Nach der Aktualisierung einer gehosteten Verbindung führen Sie diese Leseaufrufe in einem neuen Gespräch mit der bisherigen Autorisierung aus.
Prüfen Sie das Werkzeugergebnis einschließlich isError, bevor Sie Erfolg melden. Nach einer Zeitüberschreitung oder einem unklaren Schreibergebnis lesen Sie das betroffene Objekt zuerst erneut: die Änderung kann gespeichert sein und die Antwort verloren. Wiederholen Sie die Aktion nur, wenn das Lesen bestätigt, dass die Änderung nicht angewendet wurde. Bleibt das Ergebnis unklar, halten Sie an und bitten Sie um Hilfe. Gelingt die Wiederherstellung nicht, notieren Sie Client, Umgebung, Werkzeug, Zeitpunkt und den bereinigten Fehlertext ohne Schlüssel, Cookies und OAuth-Codes.
Grenzen und Fehler
- 401: die Autorisierung fehlt, ist abgelaufen oder wurde widerrufen. Verbinden Sie sich erneut über OAuth oder prüfen Sie den persönlichen Schlüssel. Ein Cookie autorisiert MCP nicht.
- 429: bis zu 120 Anfragen pro Minute je Schlüssel, gemeinsam mit REST API v1. Beachten Sie Retry-After und fragen Sie den Server nicht im Dauerloop ab.
- 413: der Anfragekörper ist größer als 1 MiB. Verringern Sie den Umfang.
- Direkte Browseranfragen von einem anderen Origin werden nicht unterstützt; verwenden Sie einen nativen oder serverseitigen Client. Eine erfolgreiche HTTP-Antwort kann ein Werkzeugergebnis mit isError:true enthalten. Prüfen Sie es, bevor Sie Erfolg melden. Fehler zu Rechten, Validierung und Kontingenten liefert das Werkzeug; wiederholen Sie Schreibvorgänge nicht blind.
- GET /mcp mit der Antwort 405 ist für diesen Transport erwartet. Die Adresse im Browser zu öffnen prüft die Verbindung nicht. Verwenden Sie initialize und einen echten Werkzeugaufruf.
Für gewöhnliche HTTP-Skripte verwenden Sie die versionierte REST API.