MCP server
Framehood's primary interface is the Model Context Protocol. Any MCP-aware client can connect and use the tools directly.
Endpoint
https://mcp.framehood.ai/mcp- Transport: Streamable HTTP
- Auth: OAuth 2.1 with PKCE and Dynamic Client Registration — your client opens a browser for sign-in on first connect; no API key to copy. Clients that can't run the browser OAuth flow (Claude Code with
--header, the Claude API MCP-connector, or a Slack/Claude Tag plugin) can instead send a Framehood API key asAuthorization: Bearer <key>— see API key (Bearer header).
Connect a client
Claude.ai (web & desktop app)
Add Framehood as a custom connector in claude.ai: Settings → Customize → Connectors → + → Add custom connector, paste https://mcp.framehood.ai/mcp, then Connect and approve the browser sign-in. See the illustrated, step-by-step Add to Claude.ai guide.
Claude Code
claude mcp add --transport http framehood https://mcp.framehood.ai/mcpThen run /mcp inside Claude Code and complete the browser sign-in. Or install the Claude Code plugin, which bundles this server.
Claude Desktop
Settings → Connectors → Add custom connector, then enter:
- Name: Framehood
- URL:
https://mcp.framehood.ai/mcp
Approve the browser sign-in when prompted.
Cursor
Add to ~/.cursor/mcp.json (or the project's .cursor/mcp.json):
{
"mcpServers": {
"framehood": {
"url": "https://mcp.framehood.ai/mcp"
}
}
}ChatGPT
In ChatGPT (Developer Mode / connectors), add a custom connector and point it at https://mcp.framehood.ai/mcp, then approve the browser sign-in. The toolset is identical to any other client, but ChatGPT's MCP client has a few behavioral differences — file parameters, media previews, polling, and notifications — see ChatGPT / OpenAI MCP compatibility.
Generic MCP client
Any client that supports remote (HTTP) MCP servers with OAuth works. Configure:
{
"mcpServers": {
"framehood": { "type": "http", "url": "https://mcp.framehood.ai/mcp" }
}
}API key (Bearer header)
For clients that can't complete the browser OAuth flow — Claude Code with a --header flag, the Claude API MCP-connector, or a Slack / Claude Tag plugin — authenticate with a Framehood API key (mint one from the API-keys page or api_keys(create)) sent as an Authorization: Bearer <key> header:
claude mcp add --transport http framehood https://mcp.framehood.ai/mcp \
--header "Authorization: Bearer <your-framehood-api-key>"For a Slack / Claude Tag plugin, point a plugin's .mcp.json at https://mcp.framehood.ai/mcp and store the key as a Bearer credential in the workspace's access bundle (allowed website mcp.framehood.ai) — the proxy attaches the header for you, so the key never goes in the plugin file. See the step‑by‑step Framehood in Slack (Claude Tag) guide.
An API-key session has the same access as your account except it can't manage API keys (mint or revoke) — that still requires a browser/OAuth sign-in.
First steps after connecting
- Call a tool, e.g.
imagewith{ "action": "create", "prompt": "…", "out": "hero.jpg" }. - If the response is a queued job, poll
get_status(job_id=…)until it succeeds; the output URL is inoutputs. - To transcribe an audio or video URL into timecoded segments, call
qa(action="transcript", video=…)(oraudio=…for a pure audio file).
See the full tools reference for the complete toolset.
Notes
- The OAuth issuer is the connection host (
mcp.framehood.ai), so tokens are scoped to this server. - Inside an organization, members without payment access can call
billing(request_upgrade)to email the owner; owners get payment and org-management tools.