Every messaging platform invents its own API: its own keys, its own webhook format, its own idea of an error. Put five of them behind one product and a team ends up maintaining five integrations that happen to share a logo. We went the other way.
What is the same everywhere
- The key. One API key in an X-API-KEY header reaches the LinkedIn API, the Inbox API, the WhatsApp API, the Discord API and the X API. The key decides the organization, and the organization decides what may be named.
- The boundary. Anything that is not your organization's answers 404 — not 403 — so a guessed id learns nothing.
- The errors. One JSON shape, {"type":"errors/<code>","status":<n>,"detail":"..."}, with a detail written to be shown to a person.
- The webhooks. One set of endpoints, signed the same way, carrying the LinkedIn API's events and every channel's alike.
- The plan. Seats, counted by whichever you have most of, on one subscription and one 30-day trial.
What it buys an AI agent
An MCP server is a list of tools and a promise about how they behave. Because every channel keeps the same promise, one AI agent can carry all of them without learning five dialects: the all-in-one agent at /mcp has every tool, and each channel's agent — /inbox/mcp, /whatsapp/mcp, /discord/mcp, /x/mcp — carries just its own, for an assistant that should touch one channel and nothing else.
The same agents work in Claude, in ChatGPT, in anything else that speaks MCP, and inside a project room, where the people see each call and its answer as it happens.
The cost of all this is that the channels are a little less themselves. A platform's own oddities are still there, and each reference says where; they are just behind the same door.
Questions people ask
Should an assistant get the all-in-one agent or one channel's?
One channel's, when that is all it should touch: an assistant that answers WhatsApp has no reason to hold the LinkedIn tools. The all-in-one agent is for the assistant you work with yourself.
Can one webhook endpoint take every channel's events?
Yes. Register it once with the events you want, from the LinkedIn API and from every channel together, and check the same signature on all of them.