Skip to main content

MCP overview

Reactor ships a built-in Model Context Protocol (MCP) server that exposes every Reactor capability as a callable tool - 148 tools at the time of writing. Any MCP-compatible client (Claude Code, Claude Desktop, Cursor, or a custom integration) can configure the engine, generate content, publish, and read analytics without touching the UI.

What is MCP?

MCP is an open standard for connecting AI models to external tools and data. An MCP server advertises a set of tools; the model invokes them as structured function calls during a conversation.

Reactor's server is reachable at https://reactor.tools/api/mcp and authenticated with a Bearer API key, which also scopes every call to your workspace. See Install the MCP to connect a client and Authentication for keys.

The server is self-describing

There is no per-tool reference page to maintain or memorize. When your client connects, it calls the protocol's tool-listing method and reads each tool's name, description, and input schema directly. Ask your agent to "list the Reactor tools" and it will show you everything available, always current with the server.

This page summarizes what the tools cover so you know what's possible. For the exact arguments of any tool, read its schema from your client.

What the tools cover

The tools fall into a few broad categories:

  • Engine config and writes: read the full engine config, enable or configure channels, and edit every part of the brand engine: voice, brand, positioning, writing rules, per-platform tone, audiences, competitors, and the technical context repos. Single-record sections merge the fields you provide, so partial updates never wipe existing values. Every section and item is versioned: list, save, restore, rename, and delete versions, or let ai_update_engine_item rewrite an item from an instruction (auto-snapshotted, so it's undoable).
  • Content generation: create blank pieces or briefs, trigger generation, poll status, read and edit drafts (body, title, attached media, calendar placement), move content through draft → ready → published, verify a piece's factual claims, export as Markdown or Word, and refine a piece through an AI chat thread.
  • Import and review handoff: import_content turns a public URL or pasted text into a piece; request_review flags a draft for a manager, whose approval marks it ready.
  • Library search: search_library is semantic search over everything the workspace has made (pieces, context docs, learned memories, competitor profiles) - matches by meaning, not just title.
  • The Anti-Slop Guard: list, toggle, edit, and delete skills (plus browse the installable set), manage learned memories and their weights, guard_review to lint and repair any text or URL, and remember_rule to teach the Guard a standing rule.
  • Copy in your codebase: review_copy and revise_copy run copy from any repo (a landing page, docs, UI strings) through the full weighted engine and Guard and hand the result back, without creating a library piece. See Use Reactor in your codebase.
  • Projects: quick_build_campaign turns a brief into a building project in one call (the brief is the spec), plan_campaign saves a reviewed multi-piece plan as a draft, build_campaign fans it out into pending briefs, and the full lifecycle is covered: list, read a project with everything it fanned out, rename, archive, or delete (unpublished work is destroyed; published pieces survive the deletion). See Projects.
  • Publishing and calendar: list connected channels, pause or re-enable an integration, publish immediately, schedule for a specific time (upserts in place so rescheduling never creates duplicates), and list, reschedule, cancel, or view the calendar of scheduled posts. Rescheduling automatically keeps linked calendar cards in sync.
  • Calendar cards: create, list, update, and delete planning cards on the content calendar. Cards are containers that anchor content pieces to a day; moving a card shifts all its linked scheduled posts by the same delta.
  • Recurring schedules: create, list, update, and delete recurring content schedules (daily, weekdays, weekly, biweekly, monthly, or custom per-day rules). A schedule auto-generates drafts on its cadence and lays placeholder cards on the calendar; set publish_status=ready to auto-publish without manual review. trigger_schedule runs an occurrence on demand (the MCP twin of the trigger URL).
  • Analytics: pull the full dashboard, per-content performance, top content, topic clusters, posting-time recommendations, AI insights, placements, and Search Console data; generate UTM links; and trigger or check syncs. Conversion funnels and goals can be listed, created, computed, and deleted, and automation rules (create, update, delete) act on metric thresholds; rule configs are validated at create time so a rule can't be saved in a shape that never fires.
  • Categories and owners: create, rename, recolor, and delete categories, tag content, assign owners, and break down performance by owner and category.
  • Visuals: generate on-brand images (including iterating on a previous image), kick off and poll image-to-video renders, manage the image/video library, and run the full Figma template lifecycle: import, render, re-sync, update, and delete.
  • Email: list a connected provider's lists and templates, and create ready-to-send drafts in the ESP; Reactor never sends email itself.

Context document tools

Reference documents that ground generation can also be managed over MCP: upload a document into the engine context and list what's there.

Example prompts

A few things you can say to a client connected to Reactor:

"Create a LinkedIn post about our new API rate limits, generate it, and schedule it for Thursday at 2pm."

"Show me the top 5 performing posts from the last 30 days across all platforms."

"Look at what's trending in our analytics and suggest three new content ideas."

"Publish the current draft of content ID abc123 to LinkedIn using our main company account."

See example workflows for multi-step recipes.

Conventions

  • Every call is scoped to the workspace the API key belongs to; there is no cross-workspace access.
  • Inputs are validated against each tool's schema; invalid arguments return a clear error rather than a partial write.
  • List tools paginate with a cursor: they return { items, nextCursor }, and you pass nextCursor back as cursor for the next page.
  • AI-driven tools (generation, images, video) draw from the calling member's allowance exactly like the UI.

Transport and rate limits

The server uses the MCP Streamable HTTP transport, bridged to local clients with mcp-remote. Tool calls that hit external platforms (publishing, syncing) are also subject to those platforms' own rate limits.