Wie ein MCP-Server in den Claude-Verzeichnis-Eintrag kam
Der Solo-Entwickler hinter dem Social-Media-Planer Fuxux wollte Posts direkt aus Claude heraus planen. Der Weg bis zur Aufnahme in Claudes MCP-Verzeichnis brachte einige Hürden mit sich.

Ich bin Alex. Ich habe Fuxux im Alleingang entwickelt. Es ist ein Scheduler für Social Media: Man schreibt einen Beitrag einmal und er wird an Instagram, TikTok, YouTube, LinkedIn, X, Threads, Bluesky, Pinterest und einige weitere Plattformen verteilt, jeweils mit einer eigenen Bildunterschrift.
Ich wollte nur eines: Claude öffnen, „plane das für LinkedIn morgen um 9 Uhr" eintippen, und es passiert tatsächlich. Fuxux hatte bereits einen MCP-Server, aber der funktionierte mit einem API-Key, den man in seinen Client einfügt. Für Cursor völlig in Ordnung. Nutzlos für Claudes Verzeichnis und für ChatGPT, weil es dort keine Stelle gibt, an der man einen Key einfügen könnte. Die erwarten, dass dein Server die Anmeldung selbst übernimmt.
Der Großteil der Arbeit bestam am Ende aus kleinen Dingen, die dir niemand sagt. Also hier sind sie, in der Reihenfolge, in der ich auf sie gestoßen bin.
Wenn eine Anfrage ohne Credentials einging, gab ich einen 200 mit einer Fehlermeldung darin zurück. Fand ich vernünftig. Ist es nicht. Ein Client, der die Anmeldung unterstützt, startet den Vorgang nur, wenn er ein echtes 401 erhält plus einen Header, der ihm sagt, wo er suchen soll:
HTTP / 1.1 401 Unauthorized WWW-Authenticate: Bearer resource_metadata="https://www.fuxux.com/.well-known/oauth-protected-resource", scope="mcp" Enter fullscreen mode Exit fullscreen mode Ohne diesen Header sagt der Client nur, dass die Verbindung fehlgeschlagen ist, und gibt dir nichts weiter an die Hand.
Ich erwartete, dass sich jeder Client über die dynamische Client-Registrierung selbst registriert, weil genau das die älteren Beispiele zeigen. Dann verband ich Claude, und es rief sie nie auf.
Claude sendet eine Client-ID, die eine URL ist. Man ruft diese URL auf und erhält ein kleines Dokument mit dem Namen des Clients und dem Ort, an den der Nutzer zurückgeschickt werden soll. ChatGPT macht dasselbe mit einem eigenen Dokument. Man muss also beide Wege unterstützen:
ChatGPT hatte noch eine Überraschung für mich. Sein Dokument nennt token_endpoint_auth_method: "private_key_jwt" und listet ["none", "private_key_jwt"] als unterstützt auf. Mein Code akzeptierte none als einzige Methode, weshalb ChatGPT-Nutzer meine Seite „Diese Anmeldeanfrage ist ungültig" zu sehen bekamen. Die Lösung war, jeden Client zu akzeptieren, der none als unterstützt angibt, und ihn als öffentlichen Client mit PKCE zu behandeln.
Und deren Prüf-Scan kontrolliert deine Tools. Jedes Tool muss readOnlyHint, destructiveHint und openWorldHint ausdrücklich angeben. Es markierte mein „Update Post"-Tool, weil ich es als nicht destruktiv eingestuft hatte. Verständlich. Das Bearbeiten eines Beitrags kann eine Bildunterschrift überschreiben, die man nicht zurückbekommt.
Claude Code und andere Terminal-Tools lauschen auf http://localhost und wählen jedes Mal einen neuen Port. Wenn man die Rückkehradresse als exakten String vergleicht, funktioniert eine Anmeldung einmal und schlägt beim nächsten Mal fehl. Bei localhost muss man den Port ignorieren (das steht in RFC 8252).
Manche Apps kehren zu ihrem eigenen Schema zurück, etwa something://callback. Diese akzeptiere ich bisher nicht, nur https und localhost. Diese Apps verwenden vorerst noch einen API-Key mit Fuxux. Ich habe das auf der Einrichtungsseite so geschrieben, statt es zu verschleiern.
Das hier hatte ich nicht kommen sehen. Ein Verzeichnis, das meinen Server stündlich prüft, markierte ihn plötzlich als nicht erreichbar. Nichts war kaputt. Deren Prüfung ruft den Server ohne Credentials auf, was früher einen 200 lieferte und jetzt einen 401. Ich musste in deren Dashboard gehen und ein Testkonto autorisieren. Gewusst habe ich es nur, weil sie mir eine E-Mail geschickt haben.
Wenn du irgendwo gelistet bist, prüfe deine Einträge am Tag der Umstellung.
Wenn jemand Claude mit Fuxux verbindet, erklärt ihm der Bildschirm, was Claude tun können wird. Ich habe sichergestellt, dass der Code das durchsetzt, nicht nur der Text:
Außerdem habe ich reduziert, was die Tools zurückgeben. „Who am I" liefert deine E-Mail-Adresse, deinen Namen und deinen Tarif. Nichts anderes verlässt das System.
Der Eintrag ging live, und ich hatte meinen besten Tag überhaupt: 12 Anmeldungen, davon 10 über Claude. Das sind mehr, als ich normalerweise in einer Woche bekomme.
Zwei Tage später sah ich mir an, was diese Leute getan hatten. Einer der 12 hatte ein Social-Media-Konto verbunden. Einer.
Was noch auf meiner Liste steht, ist ein Schritt „Verbinde dein erstes Konto" direkt nach der Freigabe.
Wenn du also für eines dieser Verzeichnisse entwickelst: Teste es als jemand, der noch nie auf deiner Seite war. Das sind die Leute, die auftauchen.
Sobald es verbunden ist, kann man so etwas fragen:
Es funktioniert über Claude (es ist in Claudes Verzeichnis ), Claude Code, ChatGPT und Cursor, und für Codex gibt es ebenfalls eine Einrichtungsseite. Jedes davon dauert etwa eine Minute:
Es gibt einen kostenlosen Tarif: 3 Social-Media-Konten und 5 Beiträge pro Monat, keine Kreditkarte nötig. Genug, um das Ganze aus deinem Assistenten auszuprobieren und zu sehen, ob es zu deiner Arbeitsweise passt.
Wenn du deinen eigenen MCP-Server entwickelst und bei einem der obigen Schritte nicht weiterkommst, frag in den Kommentaren. Ich bin da vermutlich schon drübergestolpert.
DEV SUPPORTS DEV SUPPORTS DEV SUPPORTS Follow Beigetreten am 9. Oktober 2026 • 10. Oktober Dropdown-Menü Link kopieren Ausblenden Du musst dein Konto verifizieren. Enter fullscreen mode Exit fullscreen mode tr.ee/dev-to
Automatisch übersetzt. Das Original auf Englisch ist unten aufklappbar.
Original (Englisch) anzeigen
I'm Alex. I build Fuxux on my own. It's a social media scheduler: you write a post once and it goes out to Instagram, TikTok, YouTube, LinkedIn, X, Threads, Bluesky, Pinterest and a few more, each with its own caption.
I wanted one thing: to open Claude, type "schedule this for LinkedIn tomorrow at 9", and have it actually happen. Fuxux already had an MCP server, but it worked with an API key you paste into your client. Fine for Cursor. Useless for Claude's directory and for ChatGPT, because there is nowhere to paste a key. They want your server to handle sign-in.
Most of the work turned out to be small things nobody tells you. So here they are, in the order I hit them.
When a request came in without credentials, I returned a 200 with an error message inside. Felt reasonable. It isn't. A client that supports sign-in only starts the flow when it gets a real 401 plus a header telling it where to look:
HTTP / 1.1 401 Unauthorized WWW-Authenticate: Bearer resource_metadata="https://www.fuxux.com/.well-known/oauth-protected-resource", scope="mcp" Enter fullscreen mode Exit fullscreen mode Without that header the client just says the connection failed and gives you nothing else to go on.
I expected every client to register itself with dynamic client registration, because that's what the older examples show. Then I connected Claude and it never called it.
Claude sends a client id that is a URL. You fetch that URL and it gives you a small document with the client's name and where to send the user back. ChatGPT does the same thing with its own document. So you need to support both ways:
ChatGPT had one more surprise for me. Its document says token_endpoint_auth_method: "private_key_jwt" and lists ["none", "private_key_jwt"] as supported. My code only accepted none as the method, so ChatGPT users got my "this sign-in request is not valid" page. The fix was to accept any client that lists none as supported, and treat it as a public client with PKCE.
And their review scan checks your tools. Every tool has to say readOnlyHint, destructiveHint and openWorldHint out loud. It flagged my "update post" tool because I had marked it as not destructive. Fair. Editing a post can overwrite a caption you can't get back.
Claude Code and other terminal tools listen on http://localhost and pick a new port each time. If you compare the return address as an exact string, a sign-in works once and fails the next time. For localhost you have to ignore the port (it's in RFC 8252).
Some apps come back to their own scheme, like something://callback. I don't accept those yet, only https and localhost. So those apps still use an API key with Fuxux for now. I wrote that on the setup page instead of pretending.
This one I didn't see coming. A directory that checks my server every hour suddenly marked it as unhealthy. Nothing was broken. Their check calls the server with no credentials, which used to get a 200 and now got a 401. I had to go into their dashboard and authorise a test account. I only knew because they emailed me.
If you're listed anywhere, check your listings the day you switch.
When someone connects Claude to Fuxux, the screen tells them what Claude will be able to do. I made sure the code enforces it, not just the text:
I also cut down what the tools send back. "Who am I" returns your email, name and plan. Nothing else leaves.
The listing went live and I had my best day ever: 12 sign-ups, 10 of them from Claude. That's more than I usually get in a week.
Two days later I looked at what those people had done. One of the 12 had connected a social account. One.
What's still on my list is a "connect your first account" step right after you approve.
So if you're building for one of these directories: test it as someone who has never been on your site. That's who shows up.
Once it's connected, this is the kind of thing you can ask:
It works from Claude (it's in Claude's directory ), Claude Code, ChatGPT and Cursor, and there's a setup page for Codex too. Each one takes about a minute:
There's a free plan: 3 social accounts and 5 posts a month, no card. Enough to try the whole thing from your assistant and see if it fits how you work.
If you're building your own MCP server and get stuck on any of the steps above, ask in the comments. I've probably hit it.
Expand DEV SUPPORTS DEV SUPPORTS DEV SUPPORTS Follow Joined Oct 9, 2026 • Oct 10 Dropdown menu Copy link Hide You need to verify your account. Enter fullscreen mode Exit fullscreen mode tr.ee/dev-to