MCP Documentation

Transcribe audio and retrieve YouTube captions from your AI assistant

Connect your InstantTranscriber account with Model Context Protocol. Free accounts include 1 audio hour per month; Premium includes 15. Existing YouTube captions use zero audio hours.

Connect with OAuth

Server URL: https://api.instanttranscriber.com/mcp

Transport: Streamable HTTP. Authentication: OAuth. Use a registered InstantTranscriber account, including a Free account.

  1. Add the server URL in your assistant’s remote MCP or custom connector settings.
  2. Choose OAuth or the client’s automatic authentication option.
  3. Sign in to InstantTranscriber, review the assistant’s permissions, and choose Allow connection.
  4. Ask the assistant to check your quota or retrieve a public YouTube video’s captions.

For ChatGPT, use Add custom MCP server in Plugins when available. Remote MCP and custom apps depend on your client, plan, and workspace permissions. See the official ChatGPT setup instructions.

Codex CLI

codex mcp add instanttranscriber --url https://api.instanttranscriber.com/mcp
codex mcp login instanttranscriber

Alternatively, add this to your Codex configuration and then run the login command:

[mcp_servers.instanttranscriber]
url = "https://api.instanttranscriber.com/mcp"
tool_timeout_sec = 180

For Claude or another client, add a remote MCP connector with the same server URL and complete its OAuth flow. Client configuration screens differ.

API-key clients

Clients that support an Authorization header can use an existing InstantTranscriber API key. Create a key in your profile, store it in the client’s secret or environment settings, and send Authorization: Bearer YOUR_API_KEY. Do not paste keys into a conversation or commit them to a configuration repository.

Available tools

ToolPurposeAudio usage
get_quotaRead your shared API/MCP audio allowance and reset date.None
transcribe_audioSubmit a public audio/video file URL. Returns an asynchronous job ID.Audio duration
transcribe_youtubeTranscribe one public YouTube video’s audio.Audio duration
get_transcriptionPoll status or fetch a completed result as TXT, SRT or VTT.None
get_youtube_captionsRetrieve an available original-language caption track, including automatic captions.None
list_transcriptionsList recent API/MCP jobs belonging to your account.None

Example prompts

  • “Use InstantTranscriber to check my remaining audio hours.”
  • “Get this YouTube video’s existing captions as SRT. Do not transcribe its audio.”
  • “Transcribe this interview from its audio URL. Retrieve the complete text and write meeting notes.”
  • “Transcribe this YouTube video’s audio using my allowance, then retrieve the result as VTT.”

Submit audio

{
  "name": "transcribe_audio",
  "arguments": {
    "file_url": "https://example.com/interview.mp3",
    "request_id": "e4eae3d8-4eb0-4c39-853b-f7e92902d39c",
    "language": "auto",
    "speaker_labels": "standard"
  }
}

transcribe_youtube uses url instead of file_url. Both submission tools require a unique request_id. Generate it once and reuse the same ID and arguments after a timeout. A different submission needs a new ID.

Optional audio arguments: language (default auto), speaker_labels (none, standard, enhanced), and summaries (none, short, detailed, both). Audio work uses the existing API limits, job queue, and billing.

Fetch captions without audio processing

{
  "name": "get_youtube_captions",
  "arguments": {
    "url": "https://www.youtube.com/watch?v=VIDEO_ID",
    "format": "srt"
  }
}

Caption retrieval uses no audio allowance, even when your monthly audio allowance is exhausted. It does not create an audio transcription job. The tool returns an error when original-language captions are unavailable and never silently starts audio transcription. YouTube can block or restrict access; uploading an original file is an alternative for content you can process.

Status, complete results and pagination

Use get_transcription with the returned id. While a job is running, wait at least 5 seconds between polls. Once completed, choose format: "txt", "srt", or "vtt". Status and result requests do not consume more audio hours.

Both result tools accept offset (default 0) and max_chars (100–16,000; default 12,000). When next_offset is present, repeat with that offset and the same format. Concatenate text chunks in order; a chunk can end inside a subtitle cue. A null next_offset marks the end.

A chat attachment is not automatically available to the server. Submit a reachable public media URL, or upload through POST /v1/transcriptions and use the returned ID with MCP. Do not send audio as base64 tool arguments.

Shared API and MCP allowance

AccountIncluded audio timePeriod
Free1 hourUTC calendar month
Premium15 hoursBilling month
API Plan100 hoursBilling month

There is one allowance per account, shared across API keys and connected MCP clients. Premium web-app usage does not make API/MCP audio processing unlimited. Existing API Plan overage settings and caps apply to MCP jobs too. Free and Premium stop at their allowance.

Existing-caption retrieval, quota checks, job listings and result retrieval use zero audio seconds. Request-rate limits still apply: up to 120 MCP requests per account per minute and 10 caption retrievals per account per minute. Honor HTTP 429 and Retry-After.

Permissions and disconnecting

OAuth grants permission to submit audio, read your API/MCP jobs, and fetch public YouTube captions. It does not give the assistant account-administration or payment-setting tools. The server exposes no delete tool.

Disconnect an assistant under Connected AI assistants, also linked from your profile. Revocation invalidates the connection’s access and refresh tokens. Revoke API keys separately in your profile. Disconnecting does not cancel an already submitted transcription job.

Troubleshooting

  • Authentication required: reconnect using OAuth, or verify the API key in clients that support bearer headers.
  • Quota exceeded: check get_quota for the reset date and remaining allowance. Existing captions remain available subject to request-rate limits.
  • Captions or YouTube audio unavailable: check that the video is public and finished. Captions and audio can be restricted independently. Try again later or upload the original media.
  • Submission pending after a timeout: retry with the same request ID. Use list_transcriptions to check whether a job was accepted; do not submit again under a new ID until the outcome is known.

Read the MCP transcription and YouTube captions walkthrough, the REST API documentation, or use the YouTube transcript generator in your browser.