Your coding agent can now write the launch post for the feature it just helped you ship Cadencz has launched an MCP server that lets developers use Claude Code to write and schedule social media posts about features they just shipped, without leaving their coding session. The server leverages a 'Website Brain' that stores product context and voice, and includes sixteen tools for reading and writing content across platforms. Eight agents work off the stored context, including one that rejects weak drafts, improving output quality. I ship a feature, and then I don't tell anyone about it. Not out of laziness. The context switch is the problem. I'm deep in a branch, the thing works, and announcing it means leaving the terminal, opening a doc, re-explaining my product to a chat window that has never heard of it, rewriting the result for three platforms, and finding a scheduler. By the time I've done that I've lost the thread I was on, so I don't do it, and the feature ships in silence. So we built an MCP server for it. Claude Code already knows what I just built — it helped me build it. It should be able to write the post too. write a LinkedIn and X post about the feature I just shipped, then schedule both for Tuesday morning That's the whole interaction now. It stays in the session I'm already in. What's actually behind it The server is the MCP surface for Cadencz, which is a social workspace for founders. The important part for this post is not the app, it's the thing the app has that a raw model doesn't: a Website Brain. You point it at your URL once. It reads your positioning, your audience, the proof points you actually have, and how you already write. That gets stored. Every draft afterwards starts from your real product rather than from a prompt where you've re-typed "we're a B2B SaaS that helps teams..." for the fortieth time. That's the difference between an AI that writes posts and an AI that knows what you built. It's most of why AI social content reads like it could belong to anyone — the model has a memory of your prompt, not of your product. Eight agents work off that same stored context. One reads the site, one works out the brand, one writes your voice guide, one plans, one drafts, and one exists purely to reject weak drafts before a human sees them. That last one produces nothing and improved the output more than any of the others. The tool surface Sixteen tools, over streamable HTTP. Eight of them read: Tool What it does list workspaces The workspaces this token can see list channels Connected accounts and whether the plan covers them list brains The Website Brains in this workspace query brain Retrieve product context for a question get current plan The current weekly content plan and its items get plan usage Allowance usage against the plan's caps list scheduled posts Posts committed to publish in the coming days get analytics Engagement totals per platform over a window Six of them write: Tool What it does compose post One platform-native post from an idea, grounded in the Brain plan week Runs Plan My Week across the whole content calendar schedule post Commits a draft to a time cancel scheduled post Pulls a scheduled post back to draft approve plan item Approves a plan item into a scheduled post publish now Queues for immediate delivery Two are owner-only and don't even appear in tools/list for a token that can't use them: connect channel link and get subscription. compose post writes for the target platform rather than producing one blob you paste everywhere. LinkedIn and X have never rewarded the same shape, and cross-posting one paragraph is the fastest way to be ignored on both. Connecting it bash claude mcp add --transport http cadencz https://api.cadencz.com/mcp \ --header "Authorization: Bearer cdz mcp ..." Any client that sends a static Authorization header works the same way — Claude Code, Claude Desktop, Codex CLI, Cursor. It's also listed in the official MCP registry as com.cadencz/cadencz, so anything that reads from there can find it. Tokens are minted at Settings → MCP by an account owner. The raw string is shown exactly once; the backend stores only its sha256, so there's nothing to re-reveal and no support path that hands it back to you. The security model, because you're going to ask A token that can drive your social accounts is a serious thing to hand to an agent, so three properties matter. A token acts as the person who minted it, role included. A scheduler's token can compose, schedule and approve. It cannot connect platforms or see billing — those tools don't appear in its tools/list at all, rather than appearing and then failing. The plan gate runs per request, not at mint time. Downgrade below Pro and every existing token stops working on the next call. Remove a member and their tokens die with the seat check. The tools that move money don't exist. No checkout, no cancel, no billing portal, nothing that mints credentials. A leaked token must not be able to buy or cancel a plan, and the way to guarantee that is to never build the tool. connect channel link returns a URL where a human connects a platform. It never accepts credentials. publish now requires confirm: true as a separate argument. Publishing is irreversible, so it takes a second deliberate decision rather than one that can be inferred from an ambiguous instruction. And underneath all of it: nothing publishes without human approval, and there's no setting to turn that off. We built the toggle, looked at it, deleted it. Plenty of tools will post autonomously. A founder's voice is the whole asset in the first two years, and handing it to an autopilot to save twenty minutes a week is how everyone ends up sounding identical. Refusals are structured A refused call comes back as something the model can act on rather than a wall of prose: json { "code": "plan allowance exceeded", "message": "...", "allowance": "AI generation", "limit": 400, "used": 400 } The codes mirror the app's own 402/403 surface — plan allowance exceeded, plan required, plan feature not included, platform post limit reached, schedule window, seat paused, feature disabled. Every tool resolves the token to the same actor the HTTP API uses and calls the same services, so allowances and quotas fire identically whether the request came from a browser or an agent. There's no second code path to drift. Things it deliberately doesn't do It won't post without you. It won't touch billing. It won't take a platform credential. It won't invent a metric to make a post punchier — the Brain rejects claims it can't ground in your actual site, which is the single feature I'd keep if I had to drop the rest. Try it Free plan, no card: cadencz.com. MCP is included from Pro. If you're running an MCP server of your own and want the publishing gotchas — the apex DNS record, the LibreSSL thing, why your auth wall makes you invisible to directories — I wrote those up separately. They cost me a day.