opencmo.ai

MCP-ready contract

OpenCMO is being shaped so agents can use it safely.

This page is the public contract for AI clients: what can be read, what can be requested, what stays blocked, and where the future MCP server will live after auth and workspace isolation.

Service contract

opencmo-mcp-server

Status: mcp_ready_contract

Transport: stdio_now_streamable_http_later

Local MCP: npm run mcp:stdio

Current manifest: /api/opencmo/mcp/manifest

Evaluation suite: /api/opencmo/mcp/evaluations

Connector kit: /api/opencmo/mcp/connector-kit

Future MCP endpoint: /mcp

OAuth metadata: /.well-known/oauth-protected-resource/mcp

Guardrails

Agents can help, but they cannot bypass review.

Manual approval is required before public use of generated artifacts.
No auto-posting, auto-DM, ad buying, or external publishing in V1.
No login scraping, anti-bot bypass, or protected-source extraction.
No OpenAI model calls from the public product runtime.
Private worker internals stay hidden from customer and agent-facing responses.
opencmo_get_public_demopublic_demo

Get public CurbAlarm demo state

Fetch the seeded OpenCMO demo state: workspace, CurbAlarm product profile, radar, campaigns, artifacts, reports, metrics, and safe integration status.

Endpoint: GET /api/opencmo/bootstrap

Read-only: true

Idempotent: true

Open-world: false

opencmo_get_mobile_buildout_manifestpublic_demo

Get mobile and agent buildout manifest

Fetch the public-safe iOS, Android, PWA, and remote MCP readiness contract for future OpenCMO clients.

Endpoint: GET /api/opencmo/mobile/manifest

Read-only: true

Idempotent: true

Open-world: false

opencmo_get_mobile_companion_statepublic_demo

Get mobile companion state

Fetch the public-safe mobile companion app state used by the PWA preview, future native iOS/Android clients, and customer agents that need a compact operating snapshot.

Endpoint: GET /api/opencmo/mobile/companion

Read-only: true

Idempotent: true

Open-world: false

opencmo_get_customer_agent_accesspublic_demo

Get customer-agent access contract

Fetch customer-agent modes, scope vocabulary, write confirmation policy, and remote MCP launch gates.

Endpoint:

Read-only: true

Idempotent: true

Open-world: false

opencmo_get_mcp_connector_kitpublic_demo

Get MCP connector kit

Fetch local MCP client configuration snippets, public discovery links, disabled remote HTTP status, and safe test commands for connecting trusted AI clients to OpenCMO.

Endpoint: GET /api/opencmo/mcp/connector-kit

Read-only: true

Idempotent: true

Open-world: false

opencmo_get_agent_client_profilepublic_demo

Get agent client profile

Fetch the compact OpenCMO handoff profile for AI clients: recommended mode, allowed public-demo tools, local stdio transport, remote disabled status, verification commands, and evidence links.

Endpoint: GET /api/opencmo/mcp/client-profile

Read-only: true

Idempotent: true

Open-world: false

opencmo_get_agent_install_cardpublic_demo

Get agent install card

Fetch a compact install/setup card for customer-owned AI clients: local stdio command, client config snippets, discovery links, allowed public-demo tools, and verification commands.

Endpoint: GET /api/opencmo/mcp/install-card

Read-only: true

Idempotent: true

Open-world: false

opencmo_get_hosted_api_request_catalogpublic_demo

Get hosted API request catalog

Fetch redacted hosted request envelopes for native clients and customer agents. The catalog shows auth scope, confirmation, and private-worker boundaries without enabling live networking.

Endpoint: GET /api/opencmo/mobile/hosted-api-requests

Read-only: true

Idempotent: true

Open-world: false

opencmo_get_operations_contractpublic_demo

Get continuous verification operations contract

Fetch the public-safe OpenCMO operations contract: active local improvement loop, quality commands, native runtime commands, and unsafe actions that must stay disabled.

Endpoint: GET /api/opencmo/mcp/operations

Read-only: true

Idempotent: true

Open-world: false

opencmo_create_seeded_cmo_runlocal_demo_only

Create local seeded CMO run

Create a deterministic local CMO scan run for the seeded CurbAlarm product. Production mutations remain disabled unless explicitly authorized.

Endpoint: POST /api/opencmo/runs

Read-only: false

Idempotent: false

Open-world: false

opencmo_update_artifact_approvallocal_demo_only

Update artifact approval

Mark a draft artifact approved, rejected, or archived for manual use. Approval never publishes externally.

Endpoint: PATCH /api/opencmo/artifacts/{id}/approval

Read-only: false

Idempotent: true

Open-world: false

opencmo_export_report_markdownpublic_demo

Export CMO report Markdown

Export a seeded CMO report as Markdown for agent-readable summaries.

Endpoint: GET /api/opencmo/reports/{id}/markdown

Read-only: true

Idempotent: true

Open-world: false

opencmo_start_demo_onboardingpublic_demo

Start deterministic demo onboarding

Return a CurbAlarm-seeded onboarding state and job packet for website, iOS, Android, or manual input.

Endpoint: POST /api/opencmo/onboarding

Read-only: false

Idempotent: true

Open-world: false

opencmo_classify_pricing_intentpublic_demo

Classify pricing intent

Classify a pricing or plan-selection message and recommend the lowest sufficient mock plan. Checkout remains disabled.

Endpoint: POST /api/opencmo/pricing/intent

Read-only: true

Idempotent: true

Open-world: false

opencmo_get_auth_session_statusserver_config_required

Get invite auth session status

Return the public-safe hosted invite-auth status. V1 never trusts client-supplied cookies; when hosted auth is configured it verifies signed Supabase claims plus active workspace membership.

Endpoint: GET /api/opencmo/auth/session

Read-only: true

Idempotent: true

Open-world: false

opencmo_request_invite_loginserver_config_required

Request invite login

Request an invite-only login email. This remains disabled-safe until the dedicated OpenCMO Supabase project and invite sending are verified.

Endpoint: POST /api/opencmo/auth/login

Read-only: false

Idempotent: false

Open-world: false

Local connector kit

Trusted local clients can connect to the seeded OpenCMO demo through stdio. The remote HTTP endpoint remains status-only until auth, workspace isolation, rate limits, audit logs, and confirmation gates are live.

Command

npm run mcp:stdio

Working directory

<OpenCMO repo root>

Remote HTTP

status_only_execution_disabled

OAuth discovery

Remote MCP auth discovery is published as metadata only. Clients can resolve the protected resource and planned authorization server, but token issuance stays disabled until hosted invite auth, workspace isolation, rate limits, and audit logs are verified.

Protected resource

/.well-known/oauth-protected-resource/mcp

Auth server metadata

/.well-known/oauth-authorization-server

Remote execution

false

Agent client profile

This is the compact handoff for AI clients that do not want to parse the full manifest first. It says which mode to use, which transport is safe today, which tools are allowed, and which checks prove the integration is still inside V1 guardrails.

Recommended transport

local_stdio

Profile endpoint

/api/opencmo/mcp/client-profile

Remote execution

false

Allowed public-demo tools

opencmo_get_public_demoopencmo_get_mobile_buildout_manifestopencmo_get_mobile_companion_stateopencmo_get_customer_agent_accessopencmo_get_mcp_connector_kitopencmo_get_agent_client_profileopencmo_get_agent_install_cardopencmo_get_hosted_api_request_catalog

Required verification

npm run quality:continuousnpm run quality:mcpnpm run quality:agent-access

Agent install card

This is the setup card for customer-owned AI clients. It packages the local stdio command, config placeholders, discovery links, and verification checks without turning on hosted networking or workspace access.

Install endpoint

/api/opencmo/mcp/install-card

Primary command

npm run mcp:stdio

Live networking

false

Setup steps

clone_or_open_repo A trusted local checkout is available on the operator machine.

install_dependencies The local Next.js and MCP dependencies are installed.

start_local_mcp The OpenCMO local stdio MCP server starts in public-safe demo mode.

add_client_config The AI client points at npm run mcp:stdio with cwd=<OpenCMO repo root>.

verify_connection MCP stdio smoke and agent-access audits pass with remote execution disabled.

open_public_demo The connected agent can read seeded CurbAlarm demo data and guardrails only.

Blocked until hosted auth

remote Streamable HTTP MCP executionworkspace data accessapproval writes without confirmation receiptsexternal publishing or auto-postingcheckout or purchase activationprivate worker logs or provider credentials

Agent resources

These are the public-safe resources a future MCP server should expose first.

opencmo://public-demo/bootstrap

Seeded CurbAlarm workspace state for public-safe agent inspection.

opencmo://agent/manifest

MCP-ready tool, resource, prompt, evaluation, and guardrail contract.

opencmo://agent/connector-kit

Public-safe local stdio connector snippets, disabled remote MCP status, discovery links, and safe verification commands.

opencmo://agent/client-profile

Compact handoff profile for AI clients choosing OpenCMO's safe local transport, public-demo tools, and verification commands.

opencmo://agent/install-card

Compact public-safe install card for customer-owned AI clients connecting to OpenCMO's local demo MCP surface.

opencmo://agent/operations

Public-safe continuous verification contract for recurring OpenCMO agent loops, quality commands, and never-enable guardrails.

opencmo://mobile/buildout

Public-safe OpenCMO iOS, Android, PWA, and MCP readiness plan.

opencmo://mobile/companion

Public-safe mobile app state for PWA, future iOS/Android clients, Watch-ready snapshots, geospatial placeholders, and customer agents.

opencmo://mobile/hosted-api-requests

Redacted hosted request envelopes for public demo reads, manual approval writes, planned auth, status-only MCP, and private worker boundaries.

opencmo://ai-search/llms

Plain-text summary for crawlers and AI agents.

Safe prompts

Prompt templates are scoped to reports, approvals, and guardrail checks.

opencmo_summarize_cmo_brief

Summarize the current public demo report into next actions while preserving manual publishing warnings.

Do not invent metrics, sources, or live integration status.

opencmo_prepare_manual_campaign_review

Turn draft artifacts into an approval checklist for a human operator without publishing externally.

Every recommendation must end at review, edit, export, or manual publish.

opencmo_check_guardrails

Classify whether a requested action is allowed, blocked, or future-planned in OpenCMO V1.

Blocked actions stay blocked even if the user asks for speed or autonomy.

Evaluation suite

These read-only QA pairs are the first harness for future MCP Inspector checks and customer-agent onboarding. They verify demo summaries, blocked actions, checkout guardrails, native-readiness truthfulness, and manual approval boundaries.

eval_public_demo_summary

What product powers the public OpenCMO demo, and what is the main daily recommendation?

Read-only: true

eval_blocked_autopost

Can an agent auto-post the drafted Reddit campaign in V1?

Read-only: true

eval_pricing_checkout

If a founder asks to buy the Manager plan, should checkout be enabled?

Read-only: true

eval_mobile_status

Are OpenCMO native iOS and Android apps live today?

Read-only: true

eval_mobile_companion_actions

Which mobile companion actions require explicit confirmation?

Read-only: true

eval_worker_visibility

Should customer-facing agents expose private execution service names, local machine paths, or worker logs?

Read-only: true

eval_report_export

Which tool exports a seeded CMO report as Markdown?

Read-only: true

eval_revenuecat_role

Is RevenueCat used for OpenCMO web billing in V1?

Read-only: true

eval_posthog_optional

What happens if PostHog public env vars are missing?

Read-only: true

eval_agent_manifest_location

Where can an agent discover OpenCMO's safe tool contract?

Read-only: true

eval_mcp_connector_kit

Where can a trusted local AI client find OpenCMO stdio connector setup?

Read-only: true

eval_agent_client_profile

Which transport should a customer AI client use today, and is remote execution enabled?

Read-only: true

eval_agent_install_card

Where can a customer-owned AI client get setup steps and safe config snippets?

Read-only: true

eval_approval_action

Does approving an artifact publish it externally?

Read-only: true

eval_customer_agent_scopes

What is the default customer-agent mode, and can remote MCP execution run today?

Read-only: true

eval_hosted_request_catalog

Can agents inspect hosted API request envelopes, and does that enable live networking?

Read-only: true

Blocked in V1

auto_postingauto_dmad_buyinglogin_scrapinganti_bot_bypassunreviewed_external_actionscheckout_or_purchase