Endpunkt
| URL | https://nego.deals/mcp |
|---|---|
| Transport | Streamable HTTP, zustandslos — POST mit JSON-RPC; GET antwortet 405. |
| Auth | OAuth 2.1 mit PKCE (S256), dynamischer Client-Registrierung und Resource Indicators. Ohne gültiges Token antwortet der Server 401 samt WWW-Authenticate-Header — daran findet dein Client den Rest von selbst. |
| Metadaten | https://nego.deals/.well-known/oauth-protected-resourcehttps://nego.deals/.well-known/oauth-authorization-server |
| Discovery | GET https://nego.deals/mcp/info liefert Name, Transport, URL und die Werkzeugliste als JSON. |
Anmelden
Alles, was du eintragen musst, ist die Adresse. Den Rest macht der Client:
- Er ruft
https://nego.deals/mcpauf, bekommt401und liest daraus die Metadaten-Adresse. - Er registriert sich selbst (RFC 7591) und öffnet nego im Browser.
- Du meldest dich mit deiner E-Mail-Adresse an — sechsstelliger Code, wie in der App — und siehst, welche Rechte der Assistent bekommt.
- Er tauscht den Code gegen ein Zugriffstoken (PKCE S256). Das gilt eine Stunde und erneuert sich still, solange die Verbindung besteht.
Es gibt keinen Schlüssel zum Kopieren und keinen, der irgendwo liegen bleibt. In der App zeigt Profil → KI-Assistent verbinden jede verbundene App mit Namen, Rechten und letzter Aktivität; Trennen beendet Zugriff und Erneuerung sofort.
Zwei Rechte
nego:read— suchen und lesen.nego:trade— bieten, antworten, dem Verkäufer schreiben, eigene Anzeigen sehen.
Ein Client, dem nur nego:read erteilt wurde, bekommt die anderen Werkzeuge gar nicht erst zu sehen — er kann sie also nicht versehentlich versuchen.
Die sieben Werkzeuge
search_listingsnego:readDurchsucht aktive Anzeigen: Suchwort, Kategorie, Höchstpreis (Cent), Zustand, Limit (≤ 25).
Beispiel: „Such auf nego nach einem Rennrad in Rahmenhöhe 56 unter 900 €.“
get_listingnego:readAlle Details einer Anzeige: Beschreibung, Attribute, Bild-URLs, Status und ob Angebote möglich sind.
Beispiel: „Zeig mir die Details der Anzeige mit der ID abc123 und sag mir, ob ich verhandeln kann.“
make_offernego:tradeGibt ein Angebot in Cent ab. Der volle Preis wird sofort angenommen und reserviert den Artikel.
Beispiel: „Biete 780 € auf das Rennrad und schreib dazu, dass ich am Samstag abholen kann.“
my_offersnego:tradeLaufende Verhandlungen als Käufer (buying) oder Verkäufer (selling), mit Status und wessen Zug es ist.
Beispiel: „Wo bin ich gerade am Zug? Fass meine offenen Verhandlungen zusammen.“
respond_to_offernego:tradeEin offenes Angebot annehmen, ablehnen oder mit einem Gegenangebot (Cent) beantworten — nur, wenn es dein Zug ist.
Beispiel: „Kontere das Angebot auf meine PlayStation mit 320 €.“
message_sellernego:tradeSchickt dem Verkäufer einer Anzeige eine Chat-Nachricht, z. B. den Abholtermin.
Beispiel: „Frag den Verkäufer, ob das Rad noch da ist und ob Sonntag 11 Uhr passt.“
my_listingsnego:tradeDeine eigenen Anzeigen mit Status und Anzahl offener Angebote.
Beispiel: „Welche meiner Anzeigen haben offene Angebote?“
Alle Werkzeuge antworten mit JSON im Textfeld. Beträge sind Cent (amountCents); menschenlesbare Preise stehen daneben (price). Anzeigen mit example: true stammen vom nego-Team und sind nicht kaufbar.
Konfiguration
Claude Desktop
Einstellungen → Entwickler → Konfiguration bearbeiten (claude_desktop_config.json):
{
"mcpServers": {
"nego": {
"url": "https://nego.deals/mcp"
}
}
}Claude Code
claude mcp add --transport http nego https://nego.deals/mcpCursor
.cursor/mcp.json im Projekt oder global — gleiche Form:
{
"mcpServers": {
"nego": {
"url": "https://nego.deals/mcp"
}
}
}ChatGPT und andere Clients
Überall, wo ein Client einen Remote-MCP-Server annimmt (bei ChatGPT: Einstellungen → Connectors → Erweitert → Entwicklermodus), genügt eine Angabe: die Server-URL https://nego.deals/mcp. Der Client öffnet den Login selbst — wenn er OAuth beherrscht, und das tun alle aktuellen.
Zum Ausprobieren
curl -si https://nego.deals/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | head -3
HTTP/2 401
www-authenticate: Bearer error="invalid_token", …
resource_metadata="https://nego.deals/.well-known/oauth-protected-resource"Ratenbegrenzung
- 240 Anfragen pro Minute je Verbindung. Die Grenze hängt an der Verbindung, nicht an der IP-Adresse — zwei Menschen hinter einem Router sind zwei Verbindungen.
- Darüber antwortet der Server mit
429 rate_limited. Ein abgelaufenes oder getrenntes Token ergibt401 invalid_token— dann hilft ein Refresh, und wenn auch der abgelehnt wird, eine neue Anmeldung.
Was der Server dabei tut
- PKCE (S256) ist Pflicht, auch für Clients mit Secret;
plainwird nicht angeboten. - Weiterleitungsadressen müssen exakt übereinstimmen.
httpnur auflocalhost. - Ein Code gilt einmal. Kommt er ein zweites Mal, wird die ganze Verbindung widerrufen — das ist der Fall, in dem er jemandem in die Hände gefallen ist. Für Refresh-Token gilt dasselbe.
- Resource Indicators (RFC 8707): Ein Token wird nur für
https://nego.deals/mcpausgestellt.
Was Assistenten wissen sollten
make_offermit dem vollen Preis wird sofort angenommen und reserviert den Artikel — vorher rückfragen.- Jedes Angebot eines Assistenten ist im Verhandlungsverlauf als solches gekennzeichnet (
by: "agent"). Der Verkäufer sieht das. - Angebote gelten 48 Stunden. Der volle Ablauf steht in den AGB, Ziffer 5.
- nego wickelt keine Zahlungen ab. Bezahlt wird bei der Übergabe; der Käufer bekommt dafür einen sechsstelligen Code.
- Nachrichten und Anzeigen werden auf verbotene Inhalte geprüft; abgelehnte Inhalte kommen als
content_rejectedzurück.
Fragen oder ein Client, der nicht will? Schreib uns.