Generate from an idea
Create a campaign with your idea in primaryNarrative, call generate_campaign_outputs, then read the output and revision with get_campaign. Inspect the returned operation instead of starting duplicate work.
Developer documentation
Connect an AI agent to your content workspace. It can read and edit calendars and drafts, start generation from your ideas, or submit finished posts and articles without using VibeCody's writer.
Hosted MCP endpoint
https://app.vibecody.app/api/mcpStreamable HTTP · JSON-RPC over POST · MCP protocol 2025-11-25 · Bearer token required
{
"mcpServers": {
"vibecody": {
"url": "https://app.vibecody.app/api/mcp",
"headers": {
"Authorization": "Bearer <YOUR_MCP_TOKEN>"
}
}
}
}Configuration format varies by client. Keep your token private and revoke it in Settings when it is no longer needed.
Use this page as the documentation URL when registering a connector; use https://app.vibecody.app/api/mcp as its hosted endpoint.
An account and a token created in VibeCody are required. Tokens can be limited to View, Edit, or Manage. An account token sees only projects the user can currently access; a project token is bound to one project.
Content approval is a separate optional delegation. Full autonomy is an explicit owner grant with additional limits. Neither permission bypasses quality, connection, or provider policy checks. Generation consumes the account's available credits; connection setup, token creation, and adding credits happen in the dashboard.
This endpoint uses bearer API tokens, not OAuth with PKCE. OAuth for connected publishing accounts is a separate, user-authorized setup step.
| Grant | What it permits |
|---|---|
| View | Read accessible projects, content, status, and delivery packages. |
| Edit | Create and revise ideas, calendars, content, and eligible operations. |
| Manage | Manage project-level settings, sharing, and connections where the user's role allows it. |
| Content approval | Separate delegation to approve an exact reviewed campaign-output revision. |
| Full autonomy | Explicit owner grant for eligible exact-revision distribution approval, with a UTC daily target limit. TikTok Direct Post still needs per-post consent. |
Create a campaign with your idea in primaryNarrative, call generate_campaign_outputs, then read the output and revision with get_campaign. Inspect the returned operation instead of starting duplicate work.
Create a campaign without calling generation. Use submit_campaign_text for a finished post or article, or submit_campaign_output for a complete destination-native object. This stores an ordinary editable campaign output without invoking the writer.
Read content back with get_campaign. To change it, call update_campaign_output with the current expectedRevision and full replacement content. Use a client-generated idempotency key for submission and other mutating operations.
For example, after creating a campaign whose destinations include linkedin_post, send this JSON-RPC request to submit finished copy:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "submit_campaign_text",
"arguments": {
"campaignId": "<CAMPAIGN_ID>",
"destination": "linkedin_post",
"text": "The finished LinkedIn post, written outside VibeCody.",
"idempotencyKey": "550e8400-e29b-41d4-a716-446655440000"
}
}
}The same destination can have only one output in a campaign. To change an existing output, read its revision and use update_campaign_output; do not submit a second output. Reuse the same UUID only when retrying the exact same submission.
For editorial planning, use create_manual_calendar, create_calendar_item, and update_calendar_item. A calendar item is a plan, not the post body; submitted content can be linked to an eligible item with calendarItemId.
Discover format capabilities and allowed catalog media, then use queue_reel or queue_carousel. Monitor get_job; review and edit a paused script with the script tools before resuming the same job.
Create an external distribution batch, request approval of its exact revision, fetch the approved publishing package, publish with your own integration, and report the result back. Expiring media URLs are not durable identifiers.
The endpoint accepts one JSON-RPC 2.0 request per POST and returns a JSON response. It supports MCP initialize, ping, tools/list, and tools/call. JSON-RPC batches are not supported. The server currently advertises protocol version 2025-11-25 and accepts several earlier MCP versions.
A quick way to inspect the live tool catalog with an existing token:
curl -X POST https://app.vibecody.app/api/mcp \
-H 'Authorization: Bearer <YOUR_MCP_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Each tools/list entry includes its description and JSON input schema. For tools/call, put the tool name in params.name and its arguments in params.arguments. Use those live schemas for required fields, allowed values, and output contracts; do not infer parameters from the examples on this page.
Your MCP client can discover the current tool names, descriptions, and input schemas through tools/list. Start with whoami, list_projects, and get_project; do not guess project or resource IDs.
The groups below cover all currently registered tools, with descriptions from the MCP registry. Open a group to see what each tool does. Call list_content_destinations before choosing a content format. A listed format does not guarantee that a managed publishing connection is configured.
Discover accessible projects, manage the workspace, and inspect destination formats and settings.
whoamilist_projectsget_projectcreate_projectupdate_projectdelete_projectget_homeget_settingsupdate_settingsupdate_destinationslist_content_destinationsInspect and manage project sharing, subject to the token and member permissions.
list_membersshare_projectupdate_memberremove_memberSave ideas, build and edit content plans, and assess evidence before starting a reel.
get_idea_draftupsert_idea_draftlist_plan_itemscreate_plan_itemupdate_plan_itemdelete_plan_itemgenerate_planqueue_plan_itemassess_reel_evidenceInspect creators and media, queue reels or carousels, edit scripts, and monitor or resume durable jobs.
list_video_catalogget_video_format_capabilitieslist_avatarslist_reelslist_carouselslist_assetsarchive_assetlist_jobsget_jobresume_jobpause_jobretry_jobqueue_reelget_reel_scriptupdate_reel_scriptapprove_reel_scriptqueue_carouselqueue_project_imageget_content_delivery_packageGenerate from a brief or submit finished native content, read exact output revisions, review, and approve.
list_campaignsget_campaigncreate_campaignupdate_campaigngenerate_campaign_outputsregenerate_campaign_outputsubmit_campaign_textsubmit_campaign_outputupdate_campaign_outputlist_campaign_output_revisionsapprove_campaign_outputrequest_campaign_output_approvalqueue_canonical_contentqueue_google_business_postqueue_campaign_evidenceCreate a manual or researched calendar, add dated ideas, and edit cadence, items, and status.
list_calendarsget_calendarcreate_manual_calendarcreate_calendarupdate_calendarcreate_calendar_itemupdate_calendar_itemInspect and configure publishing connections; finish interactive provider authorization with the user.
list_publishing_connectionsget_publishing_connectioncreate_publishing_connectionupdate_publishing_connectionrevoke_publishing_connectionstart_publishing_oauthcertify_publishing_connectionvalidate_publishing_connectioncreate_official_connectionlist_google_business_locationsselect_google_business_locationget_linkedin_author_profileupdate_linkedin_author_profilePreview, queue, retry, or cancel delivery and inspect normalized operation status.
schedule_campaign_outputpreview_publishqueue_publishretry_publishcancel_publishlist_publish_attemptsget_operationlist_operationsget_operationsPrepare immutable publication revisions, obtain approval, export packages, and report external delivery.
list_publishing_profilesget_publishing_profilecreate_publishing_profileconnect_publishing_profilelist_distribution_ready_renderslist_distribution_ready_photoslist_distribution_batchescreate_distribution_batchget_distribution_batchupdate_distribution_revisioncreate_openclaw_instagram_connectionget_distribution_revision_approvalrequest_distribution_approvalapprove_distribution_revisionget_publishing_packagereport_external_publicationretry_distribution_targetquery_tiktok_creator_infoConfigure recurring automation campaigns and inspect their runs.
list_automation_campaignscreate_automation_campaignupdate_automation_campaignlist_automation_runsThese tools require a separately enabled global admin token; ordinary account and project tokens cannot call them.
search_userslist_failed_jobslist_agent_audit_eventsSubmitted content is a draft, not an approval or a publish request. For externally authored content, regenerate_campaign_output with scope: "review" prepares evidence and checks the existing copy without asking the writer to replace it. Review failures remain blocking.
An authorized agent can approve the exact revision; otherwise it can call request_campaign_output_approval for a human review link. Scheduling and publishing are separate actions and still require a ready connection and destination-specific checks. To publish through your own integration, request an approved package with get_content_delivery_package.
Before managed publishing, inspect list_publishing_connections and list_publishing_profiles. Provider OAuth returns a URL that a user must open; the agent cannot complete interactive authorization inside MCP. Preview before queuing, then track the returned operation. An ambiguous provider outcome must be reconciled before retrying.
For a native REST integration instead, see the REST API guide. REST access tokens and MCP tokens are different credentials.
Need help? Contact support.