ScribeToAny for developers

ScribeToAny runs a remote MCP server. Connect it to ChatGPT, Claude, Cursor or any other MCP client, and the AI app can list your transcripts, read them as text or subtitles, and start new transcriptions from a link, all as your signed-in account.

Server URL

https://scribetoany.com/api/mcp

Streamable HTTP transport, stateless JSON-RPC with JSON responses (no SSE stream, no session id). You don't need an API key: the client signs you in with OAuth the first time it connects.

Connect

ChatGPT

ScribeToAny is in ChatGPT's plugin directory: add it to ChatGPT. More on the ChatGPT page.

Claude

Add it as a custom connector (or go to Settings → Connectors → Add custom connector and paste the server URL). More on the Claude page.

Claude Code

Run this, then sign in with /mcp:

claude mcp add --transport http scribetoany https://scribetoany.com/api/mcp

Cursor

Add to Cursor in one click, or put this in ~/.cursor/mcp.json:

{
  "mcpServers": {
    "scribetoany": {
      "url": "https://scribetoany.com/api/mcp"
    }
  }
}

Codex CLI

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

Gemini CLI

Run this, then sign in with /mcp auth scribetoany:

gemini mcp add --transport http --scope user scribetoany https://scribetoany.com/api/mcp

VS Code

In .vscode/mcp.json:

{
  "servers": {
    "scribetoany": {
      "type": "http",
      "url": "https://scribetoany.com/api/mcp"
    }
  }
}

When the app opens ScribeToAny, sign in and select Allow access. To disconnect, remove ScribeToAny in the AI app's settings. To try the server without an AI app, run npx @modelcontextprotocol/inspector, choose Streamable HTTP and use the URL above.

Let your agent set it up

Using a coding agent (Claude Code, Codex, Gemini CLI, Cursor)? Paste this into it and it adds the server for you.

Set up ScribeToAny for me so I can transcribe audio and video and read my transcripts from here.

1. Add the remote MCP server https://scribetoany.com/api/mcp (Streamable HTTP, OAuth, no API key) under the name "scribetoany". Use your own command for it, e.g. `claude mcp add --transport http scribetoany https://scribetoany.com/api/mcp` in Claude Code, `codex mcp add scribetoany --url https://scribetoany.com/api/mcp` in Codex, or `gemini mcp add --transport http --scope user scribetoany https://scribetoany.com/api/mcp` in Gemini CLI.
2. Start the sign-in. It opens ScribeToAny in my browser, where I sign in and select Allow access.
3. Once it is connected, list my recent transcripts to confirm it works.

Transcribe files on your computer (CLI)

MCP clients other than ChatGPT can't pass a file from your computer. The ScribeToAny command-line tool can: it uploads the file to your account, waits for the transcript and saves it as text, SRT or VTT. Coding agents (Claude Code, Codex, Gemini CLI, Cursor) run it like any other command. It needs Node.js 20 or later.

npm i -g scribetoany
scribetoany auth login
scribetoany transcribe meeting.m4a --format srt --speakers

Add the agent skill so your agent knows the commands and options:

npx skills add scribetoany/skills --skill scribetoany

scribetoany auth login opens ScribeToAny in your browser, where you sign in and allow "ScribeToAny CLI", the same consent as for AI apps. Results go to stdout and progress to stderr; add --json for machine-readable output. Run scribetoany --help for every option.

Tools

ToolAccessWhat it does
list_transcriptsRead-onlyList your transcripts, newest first, with status, language and duration. Optional search query.
get_transcription_statusRead-onlyCheck whether a transcription is queued, transcribing, done or failed.
get_transcriptRead-onlyRead a finished transcript as text (optional timestamps and speaker labels), SRT or VTT.
transcribe_linkWriteTranscribe a public link: X, Twitch, Loom, Google Drive, Dropbox or a direct audio/video URL. YouTube, TikTok and Instagram links are not supported.
transcribe_fileWriteChatGPT only: transcribe an audio or video file attached in the conversation.
get_upload_linkRead-onlyFor apps that cannot pass files: get a link that opens ScribeToAny in the browser to upload a local file.
get_usageRead-onlyShow the plan and how much of the transcription allowance is left.

Every result links back to the transcript in the ScribeToAny dashboard. The app can't edit or delete anything and never sees payment details.

Authentication

  • OAuth 2.1 authorization code flow with PKCE (S256 only) and dynamic client registration, so clients register themselves. Access tokens last 1 hour; refresh tokens last 30 days.
  • An unauthenticated request gets 401 with a WWW-Authenticate header pointing to the protected-resource metadata, which is how clients find the authorization server:
https://scribetoany.com/.well-known/oauth-protected-resource/api/mcp
https://scribetoany.com/.well-known/oauth-authorization-server

Access is granted only after you approve the client on the ScribeToAny consent screen, and only verified accounts can connect.

Limits

  • Transcriptions started from an AI app count toward your plan like any other. The free plan includes 2 transcriptions a day and 100 minutes a month; paid plans raise both.
  • get_transcript returns up to 120,000 characters; a longer transcript is cut off with a link to the full one.
  • A JSON-RPC batch can hold up to 10 messages.
  • YouTube, TikTok and Instagram links are not supported. Download the file and upload it on ScribeToAny instead.

More

Questions you can ask once connected are in the Help Center. A plain-text guide to the whole site for AI assistants is at /llms.txt. What a connected app can read is covered in the Privacy Policy. Something not working? Contact us.