Context Blog
Your agents write and publish. You approve in Context.
Context Blog is the publishing side of Context: an MCP server your agents connect next to the Context MCP to draft, check and publish blog posts and site pages for your tenant. Nothing goes live without an approval recorded in Context.
Start here
Set up a blog. 1) Connect Context — https://mcp.onecontext.me/mcp (one endpoint for web and iPhone). 2) Connect Context Blog — https://sites.onecontext.me/api/mcp (Google sign-in; no key needed for interactive hosts). Claude Code: claude mcp add --transport http context https://mcp.onecontext.me/mcp and claude mcp add --transport http context-blog https://sites.onecontext.me/api/mcp. 3) Say: Call the Context Blog tool setup with workflow 'blog' and follow its nextStep. Your agent interviews you (brand, audience, hubs, cadence, channels, keys by name), charts a Meetly-style epic in Context (Blog / Instagram / Backlog / Daily Brief / Health / Performance), writes the tenant to the platform, and hands you the routine templates for your machine. If the epic already exists, setup says so and reuses it; say redo to re-run the interview and refresh the brand guides. Every draft waits for your approval in Context before it goes live.
Full walkthrough — connect, interview, what gets created, drafts → approval → live, routines, domain, tracking: How to set up and automate your blog.
Connect an agent
Interactive hosts (Claude, ChatGPT, Cursor) sign in with Google through OAuth — no key needed:
claude mcp add --transport http context-blog https://sites.onecontext.me/api/mcp
Headless routines (a Mac mini cron, a CI job) can’t open a browser, so they send a Blog Access Key as the bearer token instead.
Skills are public at https://sites.onecontext.me/skills/<key>.md, e.g. blog-agent, rules-blog.
How it fits
Context MCP — issues, review requests, decisions, approvals. Work tracking lives here.
Context Blog MCP — skills, drafts, checks, publishing. Never publishes without an approval recorded in Context.
Your agent — holds both connections and carries context_issue_id across.