Skip to content
Last updated

Connect AI apps to hosted MCP

Hosted MCP turns your Karzoun workspace into live tools for cloud AI agents — the same GraphQL operations you use in the Playground, exposed as named MCP tools an LLM can call on your behalf.

Use this guide when the AI app runs in the cloud (Claude.ai, Manus, ChatGPT, remote Cursor) and must reach Karzoun over HTTPS, not npx on your laptop.

In-app setup

Open Developer → MCP setup in Karzoun (/developer/mcp-setup) for your tenant-specific endpoint URL and a copy-ready initialize curl example.

Your connection details

Collect these once before connecting any client:

FieldValue
MCP URLhttps://{subdomain}.api.karzoun.chat/mcp
Auth headerx-app-token: YOUR_APP_JWT
TransportStreamable HTTP (POST + optional GET stream)
Token sourceDeveloper → Appsauthentication guide
# Quick sanity check (save mcp-session-id from response headers)
curl -sD - -X POST 'https://YOUR.api.karzoun.chat/mcp' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -H 'x-app-token: YOUR_TOKEN' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}'

Full handshake: Hosted MCP.

Server-side tokens only

Never paste app tokens into browser extensions, shared ChatGPT configs, or client-side code. Connect from a trusted AI host or your own backend. See Security.

What you unlock

Karzoun exposes 75+ tools mapped 1:1 to the public GraphQL API. The agent does not need to invent query syntax — it calls tools by operation name (customers, tasksAdd, webhooks, …).

Browse the full list: tool catalog.

By domain

DomainExample toolsWhat an agent can do
Contacts & CRMcustomers, companies, tags, tagsTagLook up people, segment lists, apply tags
Inboxconversations, conversationMessageAddRead threads, draft or send replies (within app scope)
Taskstasks, tasksAdd, tasksBoardsList work, create follow-ups, inspect boards
Webhookswebhooks, webhooksAddRegister outbound event subscriptions
Knowledge baseknowledgeBaseSearch, knowledgeBaseArticlesGround answers in your help content
Appsapps, appsAddInspect or rotate integration credentials (admin scope)

Prompts that show the power

Once connected, try natural-language requests like:

  • "List my 10 most recently updated customers and summarize their tags."
  • "Find open tasks assigned to me on the Sales board and group by due date."
  • "Search the knowledge base for return policy and draft a short customer reply."
  • "Show webhook subscriptions for customer events — which URLs are active?"
  • "Find the conversation with alice@example.com and summarize the last 5 messages."

Pair MCP with agent patterns so the model reads before it mutates.

Screenshot / video placeholder

Coming soon: screen recording — connect hosted MCP, then run a CRM lookup + tag workflow in one prompt.

Choose the right client

ClientLocal stdioHosted /mcpAuth Karzoun expects
CursorYes (recommended for dev)Yesx-app-token header
Claude DesktopYesRemote via Connectors UIHeader or OAuth (client-dependent)
Claude.aiYesCustom connector URL; see auth note below
ManusYesHTTP + API key / custom headers
ChatGPT AppsNoYes (remote only)Often OAuth 2.1 — see caveat
Claude CodeYesHTTP transport + headers
Your backendYesx-app-token on every request

Rule of thumb: If the client lets you set custom HTTP headers, hosted Karzoun MCP works today. If the client only supports OAuth discovery (common for ChatGPT Apps), you need a small proxy or a backend agent until OAuth is available on Karzoun.

Claude.ai

Claude on the web supports custom remote MCP connectors (Settings → Connectors → Add custom connector).

  • 1

    Create an app token

    In Karzoun: Developer → Apps → create an app with the permissions your agent needs (start read-only: customers, tags, tasks).

  • 2

    Add the connector

    1. Open Claude Connectors (or Admin → Connectors on Team/Enterprise).
    2. Click Add custom connector.
    3. Server URL: https://{subdomain}.api.karzoun.chat/mcp
    4. If the UI offers Advanced auth fields and your plan supports static credentials, prefer routing through a header-aware client (Cursor remote, Manus, or your backend) until OAuth is documented for Karzoun.
  • 3

    Enable in chat

    Use the + menu in a conversation → Connectors → enable Karzoun for that chat.

    Test: "Using Karzoun tools, run currentUser and list my first 5 tags."

  • Claude Desktop vs Claude.ai

    Claude Desktop for local coding is still best with stdio. Remote connectors in Claude.ai are for cloud sessions — do not add the HTTPS URL to claude_desktop_config.json; use the Connectors UI instead.

    Manus

    Manus supports Custom MCP servers over HTTP — a strong fit for hosted Karzoun because you can point at a public /mcp URL and supply credentials.

  • 1

    Open Custom MCP

    Settings → Integrations → Custom MCP (or + Add custom MCP → Direct configuration).

  • 2

    Enter server details

    FieldValue
    NameKarzoun (or your workspace name)
    TransportHTTP / Streamable HTTP
    Server URLhttps://{subdomain}.api.karzoun.chat/mcp
    AuthenticationAPI key / Bearer / custom — map to x-app-token if the UI exposes a custom header field

    If Manus only offers a single API key field and sends Authorization: Bearer, use a thin reverse proxy on your infrastructure that translates Authorization: Bearer <token>x-app-token: <token> (advanced; keep the proxy private).

  • 3

    Test and use

    Manus verifies the server and lists discovered tools. Reference Karzoun in prompts:

    "Pull my top 10 customers by last updated date and create a Manus doc summarizing their tags."

    Official reference: Manus custom MCP docs.

  • ChatGPT Apps & Connectors

    OpenAI supports remote MCP through Apps / Connectors (Developer Mode in ChatGPT settings). ChatGPT connects from OpenAI's cloud — local stdio does not work.

  • 1

    Enable developer access

    In ChatGPT: Settings → Apps & Connectors (or Connectors → Advanced) → enable Developer mode if available on your plan.

  • 2

    Add your MCP URL

    Create a new app/connector and paste:

    https://{subdomain}.api.karzoun.chat/mcp

    Review discovered tools before enabling the app in conversations.

  • OAuth requirement

    Many ChatGPT connector flows expect OAuth 2.1 with dynamic client registration. Karzoun hosted MCP authenticates with x-app-token (same as the public GraphQL API), not OAuth discovery endpoints.

    What works today: connect via Manus, Cursor remote, Claude Code, or your own backend agent calling /mcp directly.

    For ChatGPT specifically: if connector setup fails at authentication, run Karzoun tools from a backend worker (your server holds the token) or use an MCP gateway that adds OAuth in front of Karzoun. We will document first-party OAuth for ChatGPT when available.

    Cursor (remote)

    For teams that prefer not to run npx locally, Cursor supports remote MCP via url + headers in mcp.json.

    {
      "mcpServers": {
        "karzoun-hosted": {
          "url": "https://YOUR_SUBDOMAIN.api.karzoun.chat/mcp",
          "headers": {
            "x-app-token": "${env:KARZOUN_APP_TOKEN}"
          }
        }
      }
    }

    Export KARZOUN_APP_TOKEN in your shell profile (desktop apps may not load .zshrc — use system env or Cursor's supported secret patterns).

    Cursor Settings → MCP should show connected with ~75 tools. Prefer local stdio for offline development; use hosted when npx is blocked or you want a single shared endpoint.

    Docs: Cursor MCP — remote servers.

    Claude Code

    Claude Code can register HTTP MCP servers from the CLI:

    claude mcp add --transport http karzoun \
      https://YOUR_SUBDOMAIN.api.karzoun.chat/mcp \
      --header "x-app-token: YOUR_APP_TOKEN"

    Use a project .mcp.json for repo-scoped access. Rotate tokens via Developer → Apps if the CLI config is shared.

    Build your own agent

    Any stack that speaks Streamable HTTP MCP can call Karzoun:

    POST /mcp + x-app-token

    User / trigger

    Your agent runtime

    Karzoun gateway

    GraphQL API

    Typical hosts: LangGraph, custom Node/Python workers, Zapier-style automations, internal Slack bots.

    1. POST initialize → capture mcp-session-id
    2. POST tools/list → discover operations
    3. POST tools/call → execute with GraphQL-shaped arguments

    Examples and curl: Hosted MCP. Prompt design: Agent patterns.

    Scope tokens for safer agents

    Before connecting a powerful client:

    GoalApp permissionsOptional env
    Read-only CRM assistantQuery customers, tags, companiesKARZOUN_MCP_TOOL_PREFIX on stdio only
    Support triageConversations + knowledge base readNarrow app scope in UI
    Integration adminWebhooks + apps mutationsSeparate high-privilege token

    Start with a read-only app, validate prompts, then issue a broader token if needed.

    Troubleshooting connectors

    SymptomLikely causeFix
    401 Missing x-app-tokenHeader not sentAdd header in client config or proxy
    400 invalid sessionSkipped initialize or stale sessionRe-run handshake; see Hosted MCP
    Tools empty / permission errorApp scope too narrowWiden permissions; test in Playground
    Client cannot reach URLPrivate network / localhostUse public *.api.karzoun.chat only
    ChatGPT auth failsOAuth-only connectorUse Manus, Cursor remote, or backend agent

    More: Troubleshooting.

    Next steps