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/mcpStreamable 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/mcpCursor
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 scribetoanyGemini CLI
Run this, then sign in with /mcp auth scribetoany:
gemini mcp add --transport http --scope user scribetoany https://scribetoany.com/api/mcpVS 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 --speakersAdd the agent skill so your agent knows the commands and options:
npx skills add scribetoany/skills --skill scribetoanyscribetoany 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
| Tool | Access | What it does |
|---|---|---|
| list_transcripts | Read-only | List your transcripts, newest first, with status, language and duration. Optional search query. |
| get_transcription_status | Read-only | Check whether a transcription is queued, transcribing, done or failed. |
| get_transcript | Read-only | Read a finished transcript as text (optional timestamps and speaker labels), SRT or VTT. |
| transcribe_link | Write | Transcribe a public link: X, Twitch, Loom, Google Drive, Dropbox or a direct audio/video URL. YouTube, TikTok and Instagram links are not supported. |
| transcribe_file | Write | ChatGPT only: transcribe an audio or video file attached in the conversation. |
| get_upload_link | Read-only | For apps that cannot pass files: get a link that opens ScribeToAny in the browser to upload a local file. |
| get_usage | Read-only | Show 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
401with aWWW-Authenticateheader 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-serverAccess 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_transcriptreturns 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.