Skip to main content
Glama
teslakoile

wishlist-mcp

by teslakoile

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/mcp

Verbinde 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
        │
        ▼
     Postgres

WorkOS 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

wishlist_search_people

lesen

wishlist_get_gift_guide

lesen

wishlist_get_profile

lesen

wishlist_get_wishlist

lesen

wishlist_get_my_profile

lesen

wishlist_get_my_wishlist

lesen

wishlist_list_circle

lesen

wishlist_preview_invite

lesen

wishlist_add_item

schreiben

wishlist_update_item

schreiben

wishlist_update_my_profile

schreiben

wishlist_accept_invite

schreiben

wishlist_create_invite

destruktiv

wishlist_delete_item

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.main
uv 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() entfernt authorization. Frag es explizit an. Andernfalls meldet jeder Tool-Aufruf „no access token“, während initialize und tools/list weiterhin 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 /mcp mountet, leitet Starlette /mcp auf /mcp/ um, und die Adresse, die jedem Client ausgehändigt wird, hat keinen angehängten Slash.

  • X-Forwarded-Proto wird 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.

  • TestClient folgt Redire, indem es Standard ist. Gib follow_redirects=False weiter, 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.

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all MCP Connectors

Latest Blog Posts

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