Skip to main content
    Back to Settings

    MCP Server Docs: Claude, Cursor & API Setup

    Connect Brand Kit OS to Claude, Cursor, and MCP clients so your brand context is available in every agent workflow

    Claude showing a globe icon? Reconnect with our branded URL

    Claude caches the favicon from the server URL you originally pasted. Re-add the connector using the branded URL below to see the Brand Kit OS icon.

    1. In Claude, open Settings → Connectors and remove the existing Brand Kit OS connector.
    2. Click Add Custom Connector and paste:
      https://www.brandkitos.com/mcp
      bk_claude_connector_v1
      No Client Secret — PKCE handles verification.
    3. Approve OAuth. The Brand Kit OS icon will appear on the connector tile.

    How It Works

    Brand Kit OS uses the Model Context Protocol (MCP) to give Claude direct access to your brand data. Once connected, Claude can pull your tone, voice, audience, messaging, and constraints in real time to produce on-brand content.

    There are two connection methods. Both require a Base or Premium subscription and an active API key.

    Prerequisites

    • Paid Subscription

      MCP access requires a Base or Premium plan. View plans

    • API Key

      Generate an API key from Settings → API Keys (the Cowork Plugin creates one automatically)

    Connection Methods

    Choose your preferred way to connect Brand Kit OS to Claude

    Web, Desktop & Mobile
    ~2 min setup

    Works on claude.ai (browser), Claude Desktop, and Claude Mobile. No files to download or install. Requires Claude Pro, Max, Team, or Enterprise.

    1. Open Claude Settings

    Go to Settings → Connectors and click Add Custom Connector.

    2. Enter connection details

    https://www.brandkitos.com/mcp
    bk_claude_connector_v1

    No Client Secret is needed — PKCE handles verification. Leave the Client Secret field empty.

    3. Authorize access

    Complete the authorization flow. You'll be redirected to Brand Kit OS to approve the connection. Once authorized, the Brand Kit OS tools will appear in your Claude conversations.

    4. Start using it

    Try asking Claude: "Load my brand kit" or "Write a blog post about [topic]" — Claude will automatically apply your brand voice and guidelines.

    Mobile access: If you set up the connector on claude.ai (web), it's automatically available on Claude Mobile (iOS & Android). You cannot add new connectors from the mobile app.

    Available MCP Tools (31)
    v1.5.0

    These tools are available to AI assistants connected via MCP, grouped by purpose.

    Read — discovery & navigation

    list_brand_kitsDeduped kits you own or share; includes membership_role, can_read, can_write_brand_kit, brand_kit_write_sections & can_write_knowledge_files (scopes ∧ owner/admin for writes)
    get_brand_kit_summaryCompact brand overview (~500 tokens) — start here
    get_brand_kitComplete brand kit with all sections (large payload)
    get_brand_kit_completenessAudit which fields are populated, partial, or empty + per-field schema
    get_brand_context_for_agentTask-scoped brand context string ready to inject into agent prompts
    get_persona_system_promptFormatted system prompt for a specific AI persona

    Read — section data

    get_brand_kit_coreMission, vision, brand story, promises, taglines, storytelling elements, and industry_classification
    get_brand_kit_personalityPersonality traits, values, principles, and moods
    get_brand_kit_expressionTone of voice, verbal style, voice archetypes, and visual style
    get_brand_kit_productsProducts, services, features, and differentiators
    get_brand_kit_audienceTarget audience personas with demographics and pain points
    get_brand_kit_governanceConstraints, compliance notes, and disclosure policy
    get_brand_kit_personasAI persona configurations for the brand
    get_brand_kit_competitorsCompetitor analysis including colors, taglines, and value props
    get_brand_kit_social_profilesSocial media profiles linked to a brand kit

    Read — assets & knowledge

    list_logo_assetsLogo metadata only (no URLs) — use to decide which asset to fetch
    get_logo_assetFull metadata + URL for a specific logo asset by ID
    get_brand_kit_logo_assetsDEPRECATED — prefer list_logo_assets + get_logo_asset
    list_knowledge_filesKnowledge file metadata + relevance_hint, with optional category filter
    get_knowledge_fileFull content of a specific knowledge file by ID

    Write — supports dry_run preview (requires brand_kit:write or brand_kit:write:<section>; owner or admin member only)

    upsert_brand_kit_coreUpdate mission, vision, brand story, brand promises, taglines
    upsert_brand_kit_expressionUpdate tone, verbal style, archetypes, terminology
    upsert_brand_kit_personalityUpdate personality traits, values, principles, moods
    upsert_brand_kit_governanceUpdate behavioral constraints, negative directory, writing rules
    create_brand_kit_productAdd a new product or service
    update_brand_kit_productUpdate an existing product
    update_audience_personaUpdate an existing target audience persona
    update_ai_personaUpdate an existing AI persona configuration

    Write — knowledge files (requires 'knowledge_files:write' scope; owner or admin member only)

    upload_knowledge_fileUpload a new markdown / JSON / PDF document. Requires `original_file_name` (source filename incl. extension) plus optional `relevance_hint`.

    Generate — AI-powered creation (1 token, writes immediately; owner or admin member only)

    generate_audience_personaAI-generate a complete target audience persona
    generate_ai_personaAI-generate a complete AI persona configuration

    Available MCP Prompts (7)

    Reusable prompt templates that AI assistants can invoke for common brand tasks.

    brand_voice_checkEvaluate text against the brand voice and governance constraints
    generate_brand_copyOn-brand marketing copy for social, email, web, ad, or blog
    brand_introElevator pitch, bio, about page, or tagline options
    competitor_positioningDifferentiation analysis from stored competitor data
    audience_persona_briefConcise persona brief for campaign planning
    create_target_audienceGuided interview that calls generate_audience_persona after confirmation
    create_ai_persona_guidedGuided interview that calls generate_ai_persona after confirmation

    Rate Limits

    MCP server requests
    100 per minute

    Applies to all tools equally. If you hit the limit, wait up to 60 seconds.

    API Key Scopes

    Scopes are set when you create an API key. OAuth tokens receive scopes from the authorization consent screen. Write tools also require owner or admin membership on the brand kit — scopes alone do not override team role.

    read

    Required baseline. Grants all read, list, and preview tools.

    brand_kit:write

    Full write access to all brand kit sections, products, personas, and generate tools.

    knowledge_files:write

    Opt-in scope for upload_knowledge_file only.

    Granular section write scopes

    Instead of brand_kit:write, you can grant least-privilege keys with per-section scopes such as brand_kit:write:expression. Configure these in Settings → API Keys.

    brand_kit:write:core

    Mission, vision, story, taglines, promises

    brand_kit:write:personality

    Traits, values, principles, moods

    brand_kit:write:expression

    Voice, tone, archetypes, platform rules, examples

    brand_kit:write:governance

    Constraints, compliance, approval workflows

    brand_kit:write:products

    Product and service catalog

    brand_kit:write:audience

    Target audience personas

    brand_kit:write:personas

    AI persona configurations

    brand_kit:write:competitors

    Competitor profiles

    brand_kit:write:visuals

    Colors, fonts, logos, kit name and summary fields

    brand_kit:write:seo

    Keywords and SEO metadata

    Team membership gate

    Shared brand kits: viewers and editors can read, but only owners or members with role admin may use write or generate tools via MCP, even when the credential lists write scopes. Check membership_role from list_brand_kits before calling write tools.

    Transport & Protocol

    Transport

    Streamable HTTP

    Not legacy SSE — fully spec-compliant

    Protocol Version

    2024-11-05

    Content Types

    The server supports both application/json and text/event-stream responses based on the client's Accept header.

    Session Management

    The server issues an Mcp-Session-Id header on the initialize response. Clients should include this header on all subsequent requests for the same session.

    Agent Workflow

    Common integration pitfalls when the server is healthy but something still looks wrong.

    Empty list_brand_kits: usually means this user has no brand kits and no memberships, or the API key is tied to a different account than the one you seeded. It is not proof that MCP is down.

    Cursor “connected” only confirms transport. Run tools/call for list_brand_kits to verify auth and data.

    UUIDs: resolve brand_kit_id from list_brand_kits. Placeholder strings and invalid hex forms are rejected.

    Shell: quote JSON carefully for curl -d; stuck commands often come from unclosed quotes.

    Shared kits: viewers and editors can read, but only owners or members with role admin may use write or generate tools via MCP, even with write scopes.

    Error Handling (Agent Contract)

    Tool failures and prompts/get application failures return a successful JSON-RPC response with isError: true in the result and a structured _meta.error_code. Agents should branch on the code, not parse the message string. JSON-RPC top-level error is reserved for protocol issues (e.g. unknown method or unknown prompt name).

    Tool error response shape

    {
      "jsonrpc": "2.0",
      "id": 42,
      "result": {
        "isError": true,
        "content": [{ "type": "text", "text": "Access denied to this brand kit" }],
        "_meta": {
          "error_code": "access_denied",
          "retryable": false,
          "recovery_hint": "Confirm the brand_kit_id is correct, or ask the brand kit owner to share it..."
        }
      }
    }

    Error codes & recommended agent behavior

    Code Retryable What the agent should do
    scope_denied No Surface the recovery hint verbatim. Do not retry — the user must mint a new key with the required scope.
    access_denied No Verify the brand_kit_id by calling list_brand_kits. If correct, ask the user to share the kit.
    validation_error No Read the recovery hint, fix the arguments, and retry. Never retry with the same arguments.
    not_found No Re-list the parent collection (e.g. get_brand_kit_personas) to find a valid id, or report to the user.
    quota_exceeded No Tell the user. Tokens are not deducted on failed generations — a refund is automatic.
    ai_gateway_failed Yes Retry once after a short delay. If it fails again, surface the message and the request_id.
    db_error Yes Retry once. If it fails again, treat as transient and surface the request_id for support.
    timeout Yes Retry with a smaller scope (e.g. get_brand_kit_summary instead of get_brand_kit). The server cancels upstream calls automatically.
    internal_error Yes Retry once. Surface the request_id to the user — this is unexpected and worth reporting.

    Request correlation

    Every response carries an Mcp-Request-Id header (also exposed inside _meta.request_id on tool errors and inside JSON-RPC error.data.request_id on protocol errors). Paste it into Settings → API Keys → Analytics to find the row in request logs.

    Time budgets

    • • Each tool call has a 90-second ceiling.
    • • AI gateway calls (generate_*) have a 60-second sub-budget; the upstream fetch is cancelled on timeout.
    • • Tokens are refunded automatically when an AI call times out or fails after deduction.

    Troubleshooting

    "No brand kit tools available"

    The MCP server connection may not have started. Check that your API key or OAuth connection is valid and restart Claude Desktop.

    401 Unauthorized / "Invalid API key"

    Your API key may have expired or been revoked. Generate a new one from Settings → API Keys.

    403 Forbidden — "Subscription required"

    MCP access requires a Base or Premium plan. Upgrade your plan.

    429 Rate limit exceeded

    Wait up to 60 seconds and try again. The limit is 100 requests per minute.

    Connector not appearing in Claude

    Make sure you've completely quit Claude Desktop and restarted it. For the Remote Connector, verify you entered the correct Server URL and Client ID.

    Security

    • API keys are hashed (SHA-256) before storage. Brand Kit OS never stores your plaintext key.
    • The MCP server uses HTTPS for all communication.
    • OAuth tokens (for the Remote Connector) expire after 30 days and can be revoked at any time.
    • Rate limiting prevents abuse. Each API key has independent limits.

    Learn More