MCP: use cn8 from Claude, ChatGPT & Claude Code
mcpcn8 is an MCP server at https://api.cn8.io/mcp. Add it to your AI assistant once: it finds cn8 services, quotes their price in credits, runs them after you confirm and follows the jobs, on your account and with the same billing as the API.
MCP (Model Context Protocol) is the open standard AI assistants use to call external tools. cn8 exposes one endpoint, https://api.cn8.io/mcp, over Streamable HTTP. Every tool call goes through the same gateway as the REST API: the key's permissions, your credit balance and the request log are exactly what you see on the dashboard.
Nothing runs without a price first
Read-only tools (search the catalog, read a service's schema, estimate a cost, check a job) are free. A tool that spends more than 1 credit first answers with the estimated cost and asks the assistant to confirm it with you; only the confirmed call runs. A single call above 500 credits is refused. Failed jobs are not charged.
Connect
Claude and ChatGPT sign in with your cn8 account (OAuth), so there is no key to copy. Claude Code takes an API key. Pick your assistant:
| Assistant | How it connects | Where you add it | What you need |
|---|---|---|---|
| Claude (claude.ai) | Sign in with your cn8 account (OAuth) | Customize → Connectors → Add custom connector | A cn8 account |
| ChatGPT | Sign in with your cn8 account (OAuth) | Settings → Plugins → create an MCP app | A cn8 account; a ChatGPT plan that allows custom MCP apps |
| Claude Code | API key in a header | Terminal: claude mcp add | A key from Dashboard → API Keys |
| Other MCP clients | API key in a header, or OAuth if the client supports it | The client's MCP settings | Streamable HTTP support |
What signing in does
When Claude or ChatGPT connects, a cn8 page opens. You sign in, then either create a new key for that assistant (recommended; you can give it a credit limit) or pick an existing key. The assistant works under that key: its credit limit, allowed services and request log apply. Revoking the key in Dashboard → API Keys disconnects the assistant. Accounts created with Google sign-in can paste an API key on the same page instead.
Claude (claude.ai)
- Open Customize → Connectors → Add custom connector.
- Name it cn8 and set the server URL to https://api.cn8.io/mcp.
- Claude detects the authentication on its own: "Sign in now" and OAuth client "Register automatically". Leave request headers empty, click Add, then Connect.
- On the cn8 page sign in, keep "New key" selected (optionally set a credit limit) and click Allow.
- The 14 cn8 tools appear in Claude, split into read-only and write tools. Choose per tool whether Claude may run it freely or must ask first.
ChatGPT
- Open Settings → Plugins and create a new MCP app.
- Name it cn8, set the MCP server URL to https://api.cn8.io/mcp, choose OAuth and leave client ID and secret empty; ChatGPT registers itself.
- Open the app and click Try in chat; ChatGPT asks you to connect.
- On the cn8 page sign in, keep "New key" selected (optionally set a credit limit) and click Allow.
- Mention the app in a chat to use it, for example: @cn8 how many credits do I have?
If Plugins has no option to create an MCP app, your ChatGPT plan or workspace does not allow custom apps yet.
Claude Code
Create a key in Dashboard → API Keys (a dedicated key with a credit limit is best), then:
claude mcp add -s user --transport http cn8 https://api.cn8.io/mcp \
--header "X-API-Key: apk_your_key"
claude mcp list # cn8: https://api.cn8.io/mcp (HTTP) - ✔ Connected
Start Claude Code and run /mcp to see the tools. -s user makes cn8 available in every project; the key is stored in ~/.claude.json.
Other MCP clients
Any client that speaks MCP over Streamable HTTP can connect to https://api.cn8.io/mcp. Send your key as X-API-Key: apk_… or as Authorization: Bearer apk_…; clients that implement MCP OAuth can sign in instead, discovering the authorization server from the 401 response. Clients configured with JSON usually take a url and a headers object:
{
"mcpServers": {
"cn8": {
"url": "https://api.cn8.io/mcp",
"headers": { "X-API-Key": "apk_your_key" }
}
}
}
What the assistant can do
| Tool | What it does | Credits |
|---|---|---|
| cn8_account | Balance, key limit and which services the key may call | free |
| cn8_find_services | Find services for a task in plain words; names API-only products instead of guessing | free |
| cn8_service_details | Request fields, media limits, response shape, price | free |
| cn8_estimate_cost | Credits a call will cost, with the gateway's own estimator | free |
| cn8_job_status | Follow an async job; waits up to 45 s server-side | free |
| cn8_upload_media | Presigned upload URL for a local file | free |
| cn8_run_service | Call any of the MCP-enabled services | service price |
| cn8_transcribe_video | Subtitles from a video or audio URL; media without sound returns an empty transcript | 0.1 cr/s |
| cn8_dub_video → cn8_render_dub | Dub script for review, then the rendered video | 0.17 cr/s + 0.5 cr/s |
| cn8_generate_video | Text- or image-to-video; without a model it returns the price menu per model and resolution | from 4.6 cr/s |
| cn8_generate_image | Images from a prompt; the price depends on the model, quoted before it runs | about 1-20 cr/image by model (default 13) |
| cn8_text_to_speech | Speech audio from text | 0.6 cr/s |
| cn8_video_chat | Create a video chat, check readiness, ask with timestamped citations | 0.05 cr/s + 0.3 cr/1K tokens |
Example prompts: "Add Turkish subtitles to https://…/talk.mp4", "Dub this clip into English and show me the script before rendering", "What would a 10-second product video cost on the cheapest model?", "Ask my onboarding video how to invite a teammate".
Scope and limits
- Video, image and audio generation and studio tools, transcription, dubbing, TTS, video chat and read-only search are reachable through MCP. Avatar, text analysis and raw LLM completions stay in the REST API; searching for them returns a pointer to their docs.
- Tools never delete or overwrite your resources; collection and chatbot management stays in the dashboard and the API.
- A key with a restricted service list keeps that restriction inside MCP; cn8_account lists what is blocked for the key.
- Every paid response carries the credits charged, like the REST envelope's cost block. Prices are in credits: 100 credits = 1 USD.
Treat the key like a password
With Claude Code or other header-based clients the key travels with every call and is stored in the client's config. Use a dedicated key with a credit limit and revoke it from Dashboard → API Keys if a machine is lost.