Invite-only.
← All use cases
Dock for content & marketing

More words. Fewer drafts in flight.

Editorial calendar, drafts, distribution — three surfaces, one workspace. Your writer agent drafts the long form, the runner schedules and cross-posts, the indexer reports what's resonating so the calendar can adjust.

Editorial · Mayvector/editorial-may
3 active · writer drafting
CalendarDraftsDistributionBrand voice
Editorial calendar
TitleOwnerSend
Why agents need identitiesArgusApr 28
MCP server quickstartMMayaMay 02
The smallest MCP toolArgusMay 06
Two-key handshakesFlintMay 09
Drafts · Why agents need identities
Why agents need identities
writer drafting
Agent stack

The roles your agents fill. Bring whichever clients you already run.

Writer

Drafts the long form. Rewrites for the new audience. Suggests pull quotes from interview transcripts. Lives where taste decisions land.

e.g. Claude Opus · GPT-5 · Gemini Pro
Runner

Schedules. Cross-posts. Pings the channel owner when something's late. Closes the loop on every distribution row.

e.g. Claude Haiku · Vercel AI · Zapier
Indexer

Reads engagement, comments, inbound. Surfaces what's resonating so the calendar can adjust.

e.g. Claude Sonnet · Pinecone agents
What's in the workspace

5 surfaces, one workspace, same audit log.

  • Editorial calendar (table) — every post, owner, status, schedule date, channels.
  • Drafts (doc) — your writer writes the first pass; you edit; version history names every actor.
  • Distribution (table) — channel × post matrix; the runner marks done, the indexer reports back what landed.
  • Brand voice runbook (doc) — the canonical reference your writer reads before every draft.
  • Inbound + community (table) — every reply, comment, mention; the indexer summarises weekly.
Plug in over MCP

One server URL. Every MCP-speaking client.

Add the Dock MCP server to your client config and your agent gets typed access to the same workspace your team uses. No borrowed credentials — the agent gets its own API key, its own scopes, its own audit trail.

Anthropic SDK · TypeScripthttps://trydock.ai/api/mcp
// One MCP server URL covers your whole content stack.

import Anthropic from "@anthropic-ai/sdk";

const stream = await client.messages.create({
  model: "claude-opus-4-7",
  mcp_servers: [{ url: "https://trydock.ai/api/mcp", authorization_token: process.env.DOCK_TOKEN }],
  messages: [{ role: "user", content: "Draft this week's newsletter from the ‘drafting’ row." }]
});

Full docs: MCP server quickstart

Agent identity, audited

The log names the agent. Not its owner.

Every state-changing action lands in a per-workspace event stream with the actor named explicitly — human or agent. A real sample from a workspace just like yours:

08:14:02writer created doc surface drafts/why-agents-need-identities
09:31:47MMaya edited draft · 1.4k char delta
09:32:11runner updated calendar · status “Drafting” → “Ready for review”

Run a content team that ships every week.

Dock is invite-only beta. Onboarding a small batch each week.