Pub Studio
Resources

Hooking Claude Into Your Publishing Pipeline: An MCP Deep Dive

What the Pub Studio MCP server actually exposes, how Claude uses it, and the design decisions behind treating an AI agent as a first-class user.

  • #MCP
  • #AI
  • #Engineering
  • #Automation

Hooking Claude Into Your Publishing Pipeline

Pub Studio exposes its core publishing workflow through the Model Context Protocol (MCP). This means any MCP-capable client — Claude Desktop, Claude Code, custom agents — can read your scheduled queue, draft new posts, adapt copy per platform, and queue them for review.

This post walks through what the server exposes and why we made the choices we did.

What the server exposes

The MCP server surfaces a small, deliberately constrained set of tools:

  • list_channels — connected platforms and their current health
  • get_queue — scheduled and draft posts in a window
  • create_draft — propose a new post into a draft state
  • adapt_for_channel — convert a draft for a specific platform
  • get_brand_voice — read brand voice notes
  • get_recent_posts — recent published posts for context

That's it. There's no publish_now, no delete_post, no change_billing. The agent can draft and propose. Humans approve and schedule. We picked this boundary on purpose: it keeps the failure mode of a misbehaving agent recoverable.

Why "draft" is a first-class state

Agents propose. Humans dispose. Every tool that creates new content lands in a draft state by default. Drafts can't be published. They can be edited, scheduled (which moves them out of draft), or thrown away.

This shape means a 3 AM Claude session full of bad ideas costs you nothing. You wake up, scroll through the drafts, archive the ones that aren't right, and schedule the ones that are.

Auth model

The MCP server runs under your existing Pub Studio session. There's no separate API key. When Claude calls a tool, the call inherits whatever permissions your active team has. If you're a member-level user without publish rights, the agent can't acquire publish rights on your behalf.

This sounds obvious in writing. The shape that's not obvious — and that we considered and rejected — is the one where the agent gets a long-lived token tied to your account. That's how most "AI agent" integrations are shipped today, and it's also how they go wrong.

What the agent reads

get_recent_posts and get_brand_voice exist because the single biggest quality jump in agent-drafted posts comes from giving the model context about the rest of the calendar. Without it, every post starts from scratch and reads like a generic content marketing voice. With it, the posts inherit the cadence and tone of what's already there.

This is also why the data we feed back is recent posts, not engagement metrics. The agent doesn't need to know which of your posts performed well. It needs to know what you sound like.

What we deliberately didn't build

A few things are conspicuously absent from the MCP surface:

  • No image generation. Pub Studio's AI story is "Claude can read and draft using your existing context." It is explicitly not "we'll generate stock-looking visuals you'd never actually use." We don't ship image generation through MCP and we don't plan to.
  • No analytics tools. The agent doesn't need to know what "performed." It tends to overfit to it in unhelpful ways.
  • No autonomous loops. There's no schedule_recurring_drafting. If you want recurring agent runs, you set up the cron yourself in your agent harness. We don't run agents on your behalf.

How to wire it up

The Pub Studio MCP server URL is exposed in your team settings under Integrations → MCP. Drop it into Claude Desktop's config or Claude Code's .mcp.json and you're connected. The first thing the agent will do is call list_channels to figure out what you have wired up.

From there, it's just prompting. "Draft three Bluesky posts based on this PRD." "Adapt yesterday's LinkedIn post for X." Whatever your week looks like.

Bring your app ideas to life
using AI — no coding.
Start posting now