{"slug": "your-coding-agent-can-now-write-the-launch-post-for-the-feature-it-just-helped", "title": "Your coding agent can now write the launch post for the feature it just helped you ship", "summary": "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.", "body_md": "I ship a feature, and then I don't tell anyone about it.\n\nNot 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.\n\nSo 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.\n\n`> write a LinkedIn and X post about the feature I just shipped, then schedule both for Tuesday morning`\n\nThat's the whole interaction now. It stays in the session I'm already in.\n\nWhat's actually behind it\n\nThe 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.\n\nYou 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.\n\nThat'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.\n\nEight 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.\n\nThe tool surface\n\nSixteen tools, over streamable HTTP. Eight of them read:\n\nTool What it does\n\n`list_workspaces The workspaces this token can see`\n\nlist_channels Connected accounts and whether the plan covers them\n\nlist_brains The Website Brains in this workspace\n\nquery_brain Retrieve product context for a question\n\nget_current_plan The current weekly content plan and its items\n\nget_plan_usage Allowance usage against the plan's caps\n\nlist_scheduled_posts Posts committed to publish in the coming days\n\nget_analytics Engagement totals per platform over a window\n\nSix of them write:\n\nTool What it does\n\n`compose_post One platform-native post from an idea, grounded in the Brain`\n\nplan_week Runs Plan My Week across the whole content calendar\n\nschedule_post Commits a draft to a time\n\ncancel_scheduled_post Pulls a scheduled post back to draft\n\napprove_plan_item Approves a plan item into a scheduled post\n\npublish_now Queues for immediate delivery\n\nTwo 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.\n\ncompose_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.\n\nConnecting it\n\n`bash`\n\nclaude mcp add --transport http cadencz https://api.cadencz.com/mcp \\\n\n--header \"Authorization: Bearer cdz_mcp_...\"\n\nAny 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.\n\nTokens 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.\n\nThe security model, because you're going to ask\n\nA token that can drive your social accounts is a serious thing to hand to an agent, so three properties matter.\n\nA 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.\n\nThe 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.\n\nThe 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.\n\nconnect_channel_link returns a URL where a human connects a platform. It never accepts credentials.\n\npublish_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.\n\nAnd 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.\n\nRefusals are structured\n\nA refused call comes back as something the model can act on rather than a wall of prose:\n\n`json`\n\n{\n\n\"code\": \"plan_allowance_exceeded\",\n\n\"message\": \"...\",\n\n\"allowance\": \"AI generation\",\n\n\"limit\": 400,\n\n\"used\": 400\n\n}\n\nThe 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.\n\nThings it deliberately doesn't do\n\nIt 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.\n\nTry it\n\nFree plan, no card: cadencz.com. MCP is included from Pro.\n\nIf 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.", "url": "https://wpnews.pro/news/your-coding-agent-can-now-write-the-launch-post-for-the-feature-it-just-helped", "canonical_source": "https://dev.to/akshay_sharma_06637368320/your-coding-agent-can-now-write-the-launch-post-for-the-feature-it-just-helped-you-ship-14g0", "published_at": "2026-09-03 11:00:07+00:00", "updated_at": "2026-09-03 11:25:03.779243+00:00", "lang": "en", "topics": ["developer-tools", "ai-agents", "ai-products", "ai-tools"], "entities": ["Cadencz", "Claude Code", "MCP", "LinkedIn", "X"], "alternates": {"html": "https://wpnews.pro/news/your-coding-agent-can-now-write-the-launch-post-for-the-feature-it-just-helped", "markdown": "https://wpnews.pro/news/your-coding-agent-can-now-write-the-launch-post-for-the-feature-it-just-helped.md", "text": "https://wpnews.pro/news/your-coding-agent-can-now-write-the-launch-post-for-the-feature-it-just-helped.txt", "jsonld": "https://wpnews.pro/news/your-coding-agent-can-now-write-the-launch-post-for-the-feature-it-just-helped.jsonld"}}