MCP Bridge
Squawk exposes a streamable HTTP MCP endpoint at /api/mcp.
This bridge is designed for a rapid scratchpad workflow where drafting happens in external tools and final approval/push happens through Squawk.
Source of truth
- Squawk remains the canonical state for content drafts, review state, and push status.
- GitHub and downstream channels are projection targets (not the primary editing datastore).
Authentication
MCP requests require:
Authorization: Bearer <mcp_token>x-organization-id: <organization_id>
Tokens are organization-scoped and include scopes:
content.readcontent.writecontent.approvecontent.pushcontent.publish
Use the organizations API to create, list, and revoke tokens.
MCP tools
The current MCP server exposes these tools:
list_review_queueget_content_itemupsert_document_draftupdate_post_draftcreate_media_upload_urlcreate_media_recordlist_expertslist_productsapprove_content_itempush_content_itemapprove_and_push_oneget_sync_status
push_content_item and approve_and_push_one support optional downstream targets:
publishCms- attempt direct CMS publish after repo syncpublishSocial- queue linked document posts for social publishpublishNow- queue social publish for immediate processingscheduledFor- queue social publish for a specific datetime
Recommended one-at-a-time workflow
upsert_document_draftlist_review_queueapprove_and_push_oneget_sync_status
Uploading media assets
For image assets used by ingested documents:
create_media_upload_url- Upload bytes directly to the signed URL
create_media_record- Pass media IDs via
upsert_document_draft.assetMediaIds
This keeps approval explicit and supports controlled promotion to GitHub.