MCP — Connect Caster to ChatGPT, Claude, and Gemini
Quick install: caster.zip/connect — copy the URL, tap a button, paste in the AI app. Two taps total.
Caster exposes a Model Context Protocol server so AI assistants — including the mobile apps for ChatGPT, Claude, and Gemini — can deploy and manage your sites directly from a chat. Open the AI app on your phone, ask it to publish something, and a real Caster instance appears.
Endpoint
https://mcp.caster.zip/
The MCP server speaks the Streamable HTTP transport (protocol version
2025-06-18) and is protected by OAuth 2.1 with PKCE. The first time you
connect, the AI client opens a browser tab so you can sign in to Caster and
approve the connector. After that, the client stores a Caster API key and
calls the MCP transparently.
Tools
| Tool | What it does |
|---|---|
deploy_instance |
Deploy a list of {name, content} files. Creates a new instance if instance is omitted, otherwise redeploys. Blocks up to 120 s waiting for the deploy to go live. |
list_instances |
List all instances in your account. |
get_instance |
Fetch instance details and recent deployments. |
get_deployment_logs |
Read build logs for a specific deployment. |
Tools are stable JSON-RPC: see the responses with
curl https://mcp.caster.zip/ -X POST -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'.
Authentication
The MCP endpoint is OAuth-protected. Every tool call requires a Bearer token
issued through the OAuth flow described above — your connector handles this
once on connect and then transparently. Sites you deploy via deploy_instance
land directly on your account and show up at caster.zip/console.
Need a one-shot anonymous deploy without an account (e.g. for a quick demo)? Use the REST endpoint instead:
curl -X POST https://caster.zip/api/v1/deploy \
-H 'Content-Type: application/json' \
-d '{"files":[{"name":"index.html","content":"<h1>hi</h1>"}]}'
It returns a claim_token you can later trade for ownership by signing in.
Connecting from each app
Claude (claude.ai web + Claude mobile)
- Open Settings → Connectors → Add custom connector.
- Paste
https://mcp.caster.zip/as the URL. - Claude will redirect you to caster.zip to sign in. Approve the request.
- In any conversation, ask: "Publish a hello-world page on Caster."
ChatGPT (chatgpt.com + ChatGPT mobile)
- Settings → Connectors → Add MCP server.
- URL:
https://mcp.caster.zip/. Auth: OAuth. - ChatGPT opens caster.zip in a browser tab to sign in. Approve.
- Tools appear under the connector menu in chat.
Gemini
- Open the Extensions / Tools panel.
- Add a remote MCP server at
https://mcp.caster.zip/. - Complete the sign-in redirect on caster.zip.
- Ask Gemini to deploy a site — it'll call
deploy_instancefor you.
Revoking a connector
Each AI client gets its own Caster API key on approval. To revoke a single
connector without affecting the others, go to Keys in the Caster console,
find the row labelled OAuth: <client name>, and delete it. The next request
from that client will fail; re-adding the connector will start a fresh OAuth
flow.
OAuth metadata (for client developers)
Caster implements RFC 8414 (authorization-server metadata), RFC 9728 (protected-resource metadata), and RFC 7591 (dynamic client registration). The relevant URLs:
| Document | URL |
|---|---|
| Protected-resource metadata | https://mcp.caster.zip/.well-known/oauth-protected-resource |
| Authorization-server metadata | https://caster.zip/.well-known/oauth-authorization-server |
| Dynamic client registration | https://caster.zip/oauth/register |
| Authorization endpoint | https://caster.zip/oauth/authorize |
| Token endpoint | https://caster.zip/oauth/token |
Only PKCE (code_challenge_method=S256) is supported; no client secrets are
issued. Access tokens are long-lived Bearer tokens; refresh tokens are not
issued in v1, so clients re-run the flow when a token expires (default: 30
days).