BusinessMCP
All docs

API reference

The BusinessMCP platform API

Everything is one workspace behind one key. Call your hosted MCP server, read the registry feed, send analytics events, and manage tasks — all with real, copyable examples.

Base URL

https://businessmcp.com

Authentication

Authorization: Bearer mcph_...

Create a Bearer mcph_* key in your dashboard Settings. The same key authenticates both the MCP endpoint and the REST tasks API. See expose your MCP endpoint for the full walkthrough.

Endpoints

POST/api/mcp/[transport]Bearer mcph_*

Your company’s hosted MCP server. Speaks the Model Context Protocol over JSON-RPC (streamable HTTP). Use the "mcp" transport. The bearer key resolves your workspace and its access policy. Supports tools/list + tools/call, resources/list + resources/read (businessmcp://snapshot, ://sops, ://memory, ://brain/{query}), and prompts/list + prompts/get (weekly-growth-review, funnel-audit, and more). Output is scrubbed by the key’s policy.

Request

curl -X POST 'https://businessmcp.com/api/mcp/mcp' \
  -H 'Authorization: Bearer mcph_your_key_here' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "get_analytics",
      "arguments": { "range": "30d" }
    }
  }'

Response

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\"visitors\":1284,\"conversion_rate\":0.031,\"revenue_cents\":248900,\"range\":\"30d\"}"
      }
    ]
  }
}
GET/api/registry/v0/serversPublic

MCP Registry v0-shaped feed of servers in this registry, so the marketplace is machine-consumable by MCP clients and aggregators. Supports search, limit (max 200) and offset. Every entry advertises the streamable-HTTP remote.

Request

curl -X GET 'https://businessmcp.com/api/registry/v0/servers?search=stripe&limit=2&offset=0'

Response

{
  "servers": [
    {
      "name": "com.mcphosting/stripe",
      "description": "Customers, payments and subscriptions",
      "version": "1.0.0",
      "status": "active",
      "_meta": {
        "com.mcphosting": {
          "vendor": "Stripe",
          "featured": true,
          "listing_url": "https://businessmcp.com/mcp-servers/stripe"
        }
      },
      "remotes": [
        { "type": "streamable-http", "url": "https://businessmcp.com/api/mcp/mcp" }
      ]
    }
  ],
  "metadata": { "count": 1, "total": 1, "next_offset": null }
}
POST/api/analytics/eventPublic (origin-verified)

The analytics beacon that track.js posts to. Cookieless and cross-origin; verifies the origin against your registered domain and responds fast so it never blocks page unload. You rarely call this by hand — the tracking script does — but the shape is public. Use type "identify" to stitch a visitor to an email (routed to the CRM, not the firehose).

Request

curl -X POST 'https://businessmcp.com/api/analytics/event' \
  -H 'Content-Type: application/json' \
  -d '{
    "trackerId": "YOUR_TRACKER_ID",
    "type": "goal",
    "name": "purchase",
    "url": "https://yoursite.com/checkout/success",
    "referrer": "https://google.com",
    "revenueCents": 4900,
    "visitorId": "v_8f3a2c1b"
  }'

Response

HTTP/1.1 204 No Content
POST/api/v1/runsBearer mcph_*

Drive a full Assistant run from code. POST a prompt (optionally with a thread_id to continue a conversation, and mode "deep" for a bigger, verified analysis pass) to queue a run; it returns the thread_id. This is the same Head-of-BI agent, tools and access policy as the dashboard Assistant.

Request

curl -X POST 'https://businessmcp.com/api/v1/runs' \
  -H 'Authorization: Bearer mcph_your_key_here' \
  -H 'Content-Type: application/json' \
  -d '{
    "prompt": "How did conversions trend this month, and which channel drove them?",
    "mode": "deep"
  }'

Response

{ "thread_id": "th_7b21" }
GET/api/v1/runsBearer mcph_*

Poll a run by thread_id. Returns the messages and the latest assistant reply once the run finishes. Poll every second or two until the reply is present.

Request

curl -X GET 'https://businessmcp.com/api/v1/runs?thread_id=th_7b21' \
  -H 'Authorization: Bearer mcph_your_key_here'

Response

{
  "thread_id": "th_7b21",
  "status": "done",
  "reply": "Conversions rose 18% MoM to 312, led by Organic Search (…).",
  "messages": [ /* full turn history */ ]
}
GET/api/v1/meBearer mcph_*

Return the calling key’s scope: whether it has full access, its label, whether it can take actions, and the data classes it is permitted. Use it to verify a scoped key before relying on it.

Request

curl -X GET 'https://businessmcp.com/api/v1/me' \
  -H 'Authorization: Bearer mcph_your_key_here'

Response

{
  "full_access": false,
  "label": "Analytics-only",
  "can_act": false,
  "data_classes": ["behavior"]
}
GET/api/v1/tasksBearer mcph_*

Public REST surface for the CLI and external automations. GET lists tasks (filter by status and dept); POST creates a task. Authenticated with the same mcph_* key as your MCP endpoint.

Request

curl -X GET 'https://businessmcp.com/api/v1/tasks?status=todo' \
  -H 'Authorization: Bearer mcph_your_key_here'

Response

{
  "tasks": [
    {
      "id": "t_9c21",
      "title": "Draft Q3 SEO plan",
      "dept": "Marketing",
      "status": "todo"
    }
  ]
}
POST/api/v1/tasksBearer mcph_*

Create a task and optionally seed it with a first message that kicks off an agent run. Requires a title; dept defaults to Operations.

Request

curl -X POST 'https://businessmcp.com/api/v1/tasks' \
  -H 'Authorization: Bearer mcph_your_key_here' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "Summarize last week\u2019s revenue by channel",
    "dept": "Marketing",
    "message": "Pull the numbers and post a short summary."
  }'

Response

{
  "id": "t_9c34",
  "title": "Summarize last week\u2019s revenue by channel",
  "status": "todo"
}

Errors & limits

Status codes

  • 401 — missing or invalid mcph_* key
  • 400 — malformed request (e.g. a task with no title)
  • 413 — analytics beacon body over the 8KB cap
  • 204 — analytics event accepted

Quotas

Metered actions are gated by your plan's monthly analytics-event quota, and agent runs are protected by a per-run cost ceiling. When you hit a limit you get a clear message — upgrade your plan or add an event top-up to raise it.

Prefer the terminal?

The mcphosting CLI wraps these APIs for one-command connect, search and list.

CLI docs