QuillAIQuillAIDocs
Sign in
GuidesMCP server

Connect QuillAI to any AI assistant

QuillAI ships a Model Context Protocol (MCP) server so AI assistants — Antigravity, Claude Desktop, Cursor, ChatGPT, Cline — can transcribe audio and video on your behalf without writing a line of integration code.

Endpoint: https://mcp.quillhub.ai/mcp
Authenticate with the same qai_live_ bearer token you use for the REST API. Create or rotate keys →

Why MCP?

MCP is the open standard that lets AI assistants discover and call external tools. One protocol, every major client:

  • No glue code — add one JSON snippet to your client and it sees all QuillAI tools with typed inputs and descriptions.
  • Conversational — the assistant reads the tool schemas itself, picks the right one, fills in the fields, and handles pagination.
  • Same guarantees as the REST API — identical auth model, identical error envelope, identical point cost.

Quick start

Three steps to go from zero to "Claude, transcribe this YouTube video":

1
Grab an API key
Create a key in the Developers dashboard. Any qai_live_ key works — the MCP server is just a thin protocol wrapper over the REST API.
2
Paste the config
Find the MCP config for your client below, paste the snippet, swap in your key.
3
Restart and go
Restart the client so it picks up the new server. You should see six new tools: get_account, create_transcription, get_transcription, list_transcriptions, cancel_transcription, wait_for_transcription.

Antigravity

Open the MCP manager, click View raw config, and merge the snippet below into your mcp.json.

mcp.jsonjson
{
  "quillai": {
    "command": "npx",
    "args": [
      "-y",
      "mcp-remote",
      "https://mcp.quillhub.ai/mcp",
      "--header",
      "Authorization:Bearer qai_live_YOUR_KEY"
    ]
  }
}

Claude Desktop

Edit claude_desktop_config.json — on macOS it lives at ~/Library/Application Support/Claude/, on Windows at %APPDATA%/Claude/.

claude_desktop_config.jsonjson
{
  "mcpServers": {
    "quillai": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.quillhub.ai/mcp",
        "--header",
        "Authorization:Bearer qai_live_YOUR_KEY"
      ]
    }
  }
}

Fully quit Claude (from the tray or dock — not just close the window) and reopen it for the change to take effect.

Cursor / Cline / other MCP clients

Any client that supports the standard mcpServers config works the same way. Drop this into the client's MCP config file.

.cursor/mcp.jsonjson
{
  "mcpServers": {
    "quillai": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.quillhub.ai/mcp",
        "--header",
        "Authorization:Bearer qai_live_YOUR_KEY"
      ]
    }
  }
}
No space after the colon. Write Authorization:Bearer qai_live_..., not Authorization: Bearer qai_live_.... Some versions of mcp-remote split arguments on spaces and lose the token.

Tools exposed

The server advertises six tools. Schemas mirror the REST API — if you've used the HTTP endpoints, these will feel familiar.

ToolDescription
get_accountFetch the authenticated account — user id, remaining points, subscription. Cheap; use as a liveness check.
create_transcriptionCreate a transcription from a URL (YouTube, Instagram, direct audio/video) or inline base64 file (≤25 MB).
get_transcriptionFetch a single transcription in one of six formats: `summary` (default, ~3-6 kB), `text`, `segments`, `paragraphs`, `chapters`, `subtitles`. Pick the smallest one for the task.
list_transcriptionsLightweight summaries of the key owner's transcriptions, newest first. Each row has title, summary, key_theses, highlights, duration — NOT the full transcript. Filter with `q` (text search), `created_before`, `created_after`.
cancel_transcriptionCancel a queued or processing job. No-op on already-terminal transcriptions.
wait_for_transcriptionPoll a transcription until it's terminal or the timeout fires. Saves agents from writing their own polling loop.
get_developer_docsReturn QuillAI developer docs as markdown for agents writing integration code. Omit `topic` for the index; pass `all` or a section name (e.g. `webhooks`) for content.

Direct HTTP (no MCP client)

You can also call the MCP server directly over HTTP with plain JSON-RPC — useful for debugging, scripts, or custom agents. Every POST needs the Authorization header and a JSON-RPC body.

direct-call.shbash
curl -X POST https://mcp.quillhub.ai/mcp \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer qai_live_YOUR_KEY" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "create_transcription",
      "arguments": { "url": "https://youtu.be/dQw4w9WgXcQ" }
    }
  }'

Limitations

  • Inline base64 uploads are capped at 25 MB. For larger files, upload to S3/Wasabi/any public URL and pass the url field instead.
  • No webhooks through MCP — agents can't receive inbound POSTs. Use REST webhooks for push notifications.
  • wait_for_transcription has a 300-second ceiling to stay within client timeouts. On timeout it returns the last-known non-terminal state, not an error, so the agent can simply call it again.
Keep your key secret. The MCP server forwards your Authorization header verbatim to the REST API. Don't commit the config file with a real key — use environment variables or your client's secret storage where possible.