Browse documentation

BHuman MCP

Connect BHuman to your AI assistant.

Connect the hosted MCP to Claude Code or Cursor. Choose Speakeasy, Personalized Video or LeadR after connecting. Review product access, costs and approval steps.

Beta integration guide · verification in progress

The deployed schema and source have been reviewed on October 2, 2026. Ordinary-customer generation, credit failures, credential rotation and both client workflows are awaiting end-to-end qualification. These examples are not yet certified for customer launch.

Before connecting

BHuman has MCP workflows for Speakeasy video creation, Personalized Video (AI Studio), and LeadR outreach. They share the hosted connection and MCP key, with separate tools, prerequisites and approval steps. Choose your product's quickstart after connecting.

You need an account at app.bhuman.ai, access to the relevant product, a current MCP key, and a client that supports Streamable HTTP with an Authorization header. Claude Code and Cursor setup examples are below. No private repository, local server or npm package is required for the hosted integration.

Before generation, review Settings → Plan & usage. Free, Growth, Scale and Ultimate use product entitlements and available account credits. Legacy/promotional credits can have product restrictions. Creating a key does not bypass ownership, balance, watermark or feature gates. Confirm access with support if the product or key control is missing.

Speakeasy planning reports estimated billable seconds: Standard uses a 1× duration multiplier and HD uses 2×. The shared-credit conversion is normally 0.25 credits per billable second, so 20 seconds is approximately 5 Standard or 10 HD credits. Use the returned plan and current account pricing before approving. AI Studio starts spend video credits separately. Your AI client's own subscription or model charges are separate.

MCP keys, expiry and revocation

Sign in to BHuman → Settings → API Keys → Generate MCP key. Copy the MCP Key beginning bhm_mcp_ immediately; the full secret is shown once. It is a bearer token, not the REST Client ID or Client Secret, and it must be sent on every MCP request.

Connect to exactly https://speakeasy.bhuman.ai/api/mcp using Streamable HTTP. Keys expire 90 days after creation. Generating a replacement key revokes earlier MCP keys for this account. Replace the token in every client and restart or reconnect it. Current Settings provides rotation; this guide does not assume a separate revoke-only control exists.

To revoke a compromised key, generate a replacement and verify the old key receives 401. Keep the new key private. A key issued before Studio identity binding may need rotation to use studio_* tools. MCP keys cannot manage credentials, change billing or adjust credits.

Connect Claude Code

Install and sign in to Claude Code using its official instructions. Replace the placeholder privately with your new MCP key and run the command below from your working directory. The CLI saves a local credential-bearing configuration; keep it out of version control and shared transcripts. The placeholder command is safe to download, but a command with a real key is private.

Run claude mcp list for a connection check. Open Claude Code, use /mcp to inspect the server, then ask: List BHuman tools and call get_capabilities. A configuration displayed by claude mcp get is not sufficient proof that authenticated tools work. Confirm discovery and an actual read-only tool call.

Claude Code setup · replace the placeholder privately

Shell
claude mcp add --transport http bhuman \
  https://speakeasy.bhuman.ai/api/mcp \
  --header 'Authorization: Bearer bhm_mcp_REPLACE_ME'

claude mcp list
Download claude-code-setup.sh

Connect Cursor

In Cursor, open Settings → Tools & MCP and add a global server. Merge the JSON below into your personal ~/.cursor/mcp.json, replacing only the placeholder privately. Preserve other servers. This file contains a real secret after substitution; never commit or share it. Avoid a project-level configuration containing a real token.

Restart Cursor or reconnect the server, enable it if requested, and use Agent mode. Ask: List BHuman tools and call get_capabilities. Confirm the server connects, tools appear, and the call succeeds. A JSON file that merely parses is not a completed connection test.

Cursor personal configuration

JSON
{
  "mcpServers": {
    "bhuman": {
      "url": "https://speakeasy.bhuman.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer bhm_mcp_REPLACE_ME"
      }
    }
  }
}
Download cursor-mcp.json

Choose your product quickstart

One MCP connection supports three separate jobs. Confirm live tool discovery, then follow the guide for the product you intend to use. Each paid start requires its own reviewed approval; LeadR outreach needs explicit sending approval as well.

Troubleshooting and limits

401 Unauthorized: check the exact endpoint, Authorization: Bearer prefix and the MCP key. Invalid, expired and rotated keys all fail authorization. Generate a new key in Settings and reconnect. A REST secret or an application JWT is not this MCP credential.

Connected but no tools: enable the server in your client, confirm HTTP transport and inspect its connection status. Studio-only authorization failure: rotate a pre-Studio key and retry a read-only tool. Unsupported fields: use the current tools/list schema; remove obsolete style or quality choices.

Insufficient credits: inspect Plan & usage for the right account/product, choose Standard if appropriate, and resolve the balance before another paid start. Missing script, presenter or narration: complete that stage, then request a fresh plan. Expired or changed plan: inspect the project and replan; do not reuse an old cost approval.

Hosted MCP has a source default limit of 120 requests per credential per 60 seconds; observe the live X-RateLimit-* headers and Retry-After on 429 as authoritative. Back off polling. MCP errors can appear as HTTP failures or tool results with isError=true and a public error payload; clients must handle both. There is no guaranteed render completion time.