Developer documentation

REST API and Model Context Protocol

Model Context Protocol

Fast Transcriber MCP server

Let an MCP-compatible AI assistant queue public audio and video links, monitor jobs, and retrieve completed transcripts.

The recommended remote endpoint is stateless and uses the same API key and account limits as the REST API.

What is MCP?

Model Context Protocol gives AI clients a standard way to discover and invoke external tools. Fast Transcriber exposes typed transcription tools so assistants can work with jobs without scraping the website.

Prerequisites

  • A signed-in Fast Transcriber account.
  • An active API key from the developer section.
  • An MCP client that supports Streamable HTTP or local stdio servers.

Remote configuration

Use this endpoint with Streamable HTTP clients:

text
https://fast-transcriber.com/api/mcp

Clients that accept custom headers can use the following configuration. Keep the key in a secret store or environment variable when the client supports one.

json
{
  "mcpServers": {
    "fast-transcriber": {
      "url": "https://fast-transcriber.com/api/mcp",
      "headers": {
        "Authorization": "Bearer ft_live_replace_me"
      }
    }
  }
}

Authentication

The MCP endpoint requires an API key in the HTTP bearer header. OAuth is not currently advertised, so clients must support custom bearer headers.

http
Authorization: Bearer ft_live_replace_me

Available tools

The remote server publishes three server-safe tools:

ToolInputsPurpose
transcribe_urlurl, speaker_diarizationQueue a public link
get_transcriptionidGet status and completed output
list_transcriptionslimitList recent account jobs

Example tool call

json
{
  "url": "https://www.youtube.com/watch?v=example",
  "speaker_diarization": false
}

The result contains a job ID. Call get_transcription with that ID until the job is completed or failed.

Local file server

A remote server cannot read media from your computer. Self-host the included stdio package when the AI client needs to upload local files. It adds transcribe_file and wait_for_transcription to the three remote tools.

bash
cd mcp-server
npm ci
npm run build
json
{
  "mcpServers": {
    "fast-transcriber": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-server/dist/index.js"],
      "env": {
        "FAST_TRANSCRIBER_API_TOKEN": "ft_live_replace_me",
        "FAST_TRANSCRIBER_ALLOWED_DIRS": "/absolute/path/to/media"
      }
    }
  }
}

Security

The local file tool resolves real paths and rejects files outside FAST_TRANSCRIBER_ALLOWED_DIRS, including symlink escapes.

  • Never commit API keys or paste them into prompts.
  • Create separate keys for separate clients.
  • Revoke a key immediately when a device is retired.
  • Grant the local server only the required media directory.

Errors

Tool failures are returned as MCP error results with a safe message. Authentication failures use HTTP 401 before MCP execution. Account limits and unavailable plan features use the same REST rules.

Troubleshooting

401 from the server

Confirm the bearer header uses an active key and has no extra quotes.

File is outside allowed dirs

Add the media folder to FAST_TRANSCRIBER_ALLOWED_DIRS and restart the local server.

Job stays processing

Use get_transcription again. Long media remains asynchronous and is not held open by the MCP request.

Remote for links Local for files