The Model Context Protocol lets an AI assistant call tools in another service. For Clienzo, it means an assistant can look at your connected accounts, create a post, schedule it, check how it did and retry it where it failed — inside the same conversation where you wrote it.
Why bother
People already draft posts with an assistant. The last step — getting that text onto five networks — is exactly the boring part Clienzo exists to remove. An MCP server puts Clienzo where the writing happens.
Few, boring tools
The server has eight tools: list the available networks, list your connected accounts, create a post, list posts, get one post, delete a post, read analytics, and retry a post on the accounts where it failed.
They map closely onto the public API from part 11, with the same permissions behind them. Small tools with plain names are easier for a model to pick correctly than a few clever ones.
Stateless on purpose
Each request is one complete exchange. No sessions, no long-lived connection. Clienzo runs on a platform where the server instance that answered the first call may be gone by the second, so anything kept in memory between calls would be a bug waiting to happen.
When a tool fails — a caption too long for a network, an account that needs reconnecting — the failure comes back as a tool result the model can read and act on, not as a protocol error.
API key first, OAuth second
The first version took an API key in a header. That works for Claude Code, Cursor and anything else where you can set a header — but not for the one-click connectors in hosted assistants. Those need OAuth.
Adding OAuth taught me a few things the spec does not make obvious:
- Clients may register in two ways: by pointing at a published metadata document, or by registering dynamically. The first is now preferred; a client only picks it if the server advertises it correctly, and otherwise silently falls back to the second.
- Desktop tools redirect back to
localhoston a random port, so redirect matching has to ignore the port. - There is no machine-to-machine flow: every connection needs a person to approve it. That is why API keys stay. Nothing approves a consent screen at 3 a.m. for a script.
MCP is available on every plan and does not use up an API key slot.
Next: Autopilot, the first feature that writes posts for you — and checks its own facts.
Originally published on jonasnguyen.com, where I write about building Clienzo and the next startups.
Top comments (0)