wishlist-mcp
wishlist-mcp
Der gehostete MCP-Server für wishlist.fit. Er lässt Claude, ChatGPT oder Codex deine Wunschliste in deinem Namen lesen und aktualisieren.
https://mcp.wishlist.fit/mcpVerbinde ihn über app.wishlist.fit/connect – dort findest du die Einrichtungsschritte pro Client. Du brauchst zuerst ein Konto bei wishlist; dieser Server erstellt niemals eines.
Was es ist
Ein reiner OAuth-2.1-Resource-Server, vorgelagert der wishlist-REST-API. Er besitzt keine Datenbank und keine Geschäftsregeln. Sichtbarkeit, Rate-Limits und die Behandlung von Einladungen leben vollständig in der wishlist-API; dieser Server erbt sie, indem er diese API mit dem eigenen Access-Token des Benutzers aufruft.
Diese Trennung ist beabsichtigt. Die Alternative – ein zweiter Dienst mit eigener Kopie der Regeln – führt dazu, dass zwei Oberflächen stillschweigend beginnen, sich darüber zu widersprechen, wer was sehen darf.
Claude / ChatGPT / Codex
│ MCP over HTTP, bearer token
▼
this server ──── verifies the token (issuer + audience)
│
│ the same token, forwarded
▼
api.wishlist.fit ──── applies visibility, rate limits, invite rules
│
▼
PostgresWorkOS AuthKit ist der Autorisierungsserver. Dieser Server stellt nichts aus und zeigt keinen Zustimmungsbildschirm; er prüft nur, was AuthKit signiert hat.
Die Tools
Vierzehn, eines pro Sache, die du in der Web-App bereits von Hand erledigen kannst. Parität ist die Regel: keine Agent-only-Privilegien und nichts, was die App selbst nicht kann.
Tool | Art |
| lesen |
| lesen |
| lesen |
| lesen |
| lesen |
| lesen |
| lesen |
| lesen |
| schreiben |
| schreiben |
| schreiben |
| schreiben |
| destruktiv |
| destruktiv |
wishlist_get_gift_guide gibt das Profil und die Wunschliste einer Person zusammen zurück.
Es ist der Grund, warum überhaupt jemand diesen Server anbindet; ohne ihn kostet der Weg des
Geschenkgebers drei Roundtrips.
Die beiden destruktiven Tools tragen destructiveHint: true, damit Clients, die
irreversible Aktionen bestätigen, zuerst nachfragen. Das Senden einer Einladung schreibt eine
echte Person an und kann nicht rückgängig gemacht werden. Eine Einladung anzunehmen ist
gegenseitig: Der Einladende erhält Zugriff auf deine nur für deinen Kreis sichtbaren Felder,
so wie du Zugriff auf seine erhältst.
Eine Verbindung für alles
Es gibt keine Scopes. WorkOS kann keine benutzerdefinierten solcher abbilden, also trägt eine Verbindung die gesamte Tool-Oberfläche. Der Schutz bei Schreiboperationen ist verhaltensbasiert und nicht strukturell: die Annotationen oben, die Tool-Beschreibungen und die Rate-Limits, die die API anwendet.
Lokal ausführen
uv sync
cp .env.example .env # point it at a local API and the Local WorkOS environment
uv run python -m wishlist_mcp.mainuv run pytest
uv run ruff format --check . && uv run ruff check .Die Tests stubben die wishlist-API mit respx. Sie prüfen die eigentliche Aufgabe dieses
Servers: Tokens verifizieren, Anfragen formen und API-Fehler in Sätze umwandeln, auf die ein
Modell reagieren kann. Die Regeln selbst gehören zur API und werden dort getestet.
Konfiguration
Jede Variable trägt das Präfix WISHLIST_MCP_. Siehe .env.example.
| Variabele | Zweck |
| ----------------- | ------------------------------------------------------------- ---- |
| API_BASE_URL | Die aufzurufende wishlist-REST-API |
| AUTHKIT_DOMAIN | Issuer von WorkOS AuthKit. Leer bedeutet Der Server weigert sich zu starten |
| RESOURCE_URI | Kanonische URI. Die Audience jedes Tokens muss exakt mit ihr übereinstimmen |
| HOST | Auf jedem anderen Host antwortet Der Server mit 404 |
| API_TIMEOUT | Wartezeit in Sekunden auf der API |
RESOURCE_URI muss den in WorkOS konfigurierten Ressourcenindikator Zeichen für
Zeichen entsprechen, einschließlich des Pfads. /mcp pfad. Eine Abweichung ist der
häufigste Grund dafür, dass ein Client die Verbindung verweigert.
Dinge, die du wissen solltest, bevor du das änderst
Jeder dieser Punkte ist ein Bug, der einmal Produktion erreicht hat.
get_http_headers()entferntauthorization. Frag es explizit an. Andernfalls meldet jeder Tool-Aufruf „no access token“, währendinitializeundtools/listweiterhin gelingen, weil die beantwortet sind, bevor ein Tool-Code läuft. Ein grüner Handshake ist kein Nachweis, dass die Tools funktionieren.Die MCP-App ist onder der Wurzel gemountet und besitzt einen eigenen Pfad. Wenn man sie unter
/mcpmountet, leitet Starlette/mcpauf/mcp/um, und die Adresse, die jedem Client ausgehändigt wird, hat keinen angehängten Slash.X-Forwarded-Protowird vertraut. Cloud Run terminiert TLS, so que out her, jede generierte URL behauptet,http://zu verwenden. Zusammen mit dem Redirect oben bedeutete das damals, dass ein Client sein Bearer-Token im Klartextien gesendet hätte.FastMCPs Lebenszyklus ist an die der App verkettet. Das Mounten einer ASGI-App startet deren Lebenszyklus nicht; ohne ihn scheitert jeder Tool-Aufruf mit „Task group is not initialized“, während die Unit-Tests weiterlaufen.
TestClientfolgt Redire, indem es Standard ist. Gibfollow_redirects=Falseweiter, wenn geprüft wird, dass ein Pfad direkt antwortet.
Deployment
Cloud Run, asia-southeast1, im selben Projekt wie der Rest von wishlist. main wird bei
Push deployed. Die Infrastruktur liegt in wishlist-infrastructure.
Lizenz
MIT. Siehe LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Cloud-hosted MCP server for durable AI memory
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/teslakoile/wishlist-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server