freeaudiototext-mcp
🎙️ FreeAudioToText MCP Server
An official Model Context Protocol (MCP) server for FreeAudioToText.com, enabling AI agents like DeepSeek, Claude, and Cursor to instantly transcribe any audio/video file or YouTube/TikTok URL into text with speaker diarization.
Our core transcription service is 100% free with unlimited usage. It runs on high-performance local Apple Silicon hardware via the Cloudflare Edge, providing ultra-fast inference with state-of-the-art accuracy across 90+ languages.
🔗 Important Links
Website / Mac App: https://freeaudiototext.com
Developer API: https://freeaudiototext.com/speech-to-text-api
Get API Key: No API key is required for basic MCP tool usage! Our core transcription is fully free.
Related MCP server: Video Transcriber MCP Server
🛠️ Available Tools
This MCP server exposes the following tools to your AI assistant:
transcribe_audio: Uploads a local audio or video file (e.g., MP3, M4A, WAV, MP4) for transcription. Returns a uniquejob_id.transcribe_from_url: Submits a YouTube or TikTok URL for extraction and transcription. Returns ajob_id.get_job_status: Checks if the submittedjob_idis "pending" or "completed".get_transcript: Retrieves the full generated transcript (with speaker labels like[SPK_0]) for a completed job.generate_ai_report: Generates a deep LLM analysis report (Summary, Action Items, Outline, or Speaker Analysis) for your transcript.
🚀 Installation & Setup
Using npx (Recommended for Claude Desktop & Cursor)
Add the following to your MCP client configuration file (e.g., claude_desktop_config.json on macOS):
{
"mcpServers": {
"freeaudiototext": {
"command": "npx",
"args": [
"-y",
"freeaudiototext-mcp"
]
}
}
}Using Smithery CLI
npx -y @smithery/cli install freeaudiototext-mcp --client cursor🤖 Integration Examples
Example 1: Using with DeepSeek Models
Since this server follows the standard MCP specification, you can use any DeepSeek-compatible MCP client (like Cursor, Cline, or Roo Code) to combine our transcription with DeepSeek's powerful reasoning.
Just ask your DeepSeek-powered agent:
"Use the FreeAudioToText tool to transcribe
/Users/myname/Downloads/board_meeting.m4a. Once it finishes, act as an executive assistant and use your DeepSeek-R1 reasoning to summarize the key decisions and output an action item list."
Example 2: Using with Claude
"I have an interview recording at
https://youtube.com/watch?v=xxxx. Can you transcribe it from the URL and give me a detailed speaker-by-speaker outline?"
The agent will automatically:
Call
transcribe_audioortranscribe_from_url.Poll
get_job_statusuntil completion.Retrieve the text via
get_transcriptand perform the advanced analysis.
📜 License
MIT License. See LICENSE for more information.
Available Tools
5 toolsgenerate_ai_reportA
Generates a deep AI structural analysis report (Summary, Action Items, Outline, or Speakers) for a completed transcript.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | The type of analysis report to generate. | |
| job_id | Yes | The unique job_id of the completed transcription job. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The description only states the purpose and inputs, but fails to mention any behavior traits such as resource consumption, generation time, error conditions (e.g., if the transcript is not yet complete), or data retention. For a tool that generates reports, this lack of transparency could lead to incorrect expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the action and resource, listing options concisely. No extraneous words; every part is necessary and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple input schema (2 required fields with clear enum) and no output schema, the description provides adequate context for understanding the tool's function. Minor gaps: it does not describe the return format (e.g., text vs. structured data) or error handling, but these are secondary for a straightforward generation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters have descriptions. The description adds context by stating the transcript must be 'completed' for the job_id parameter and enumerates valid type values in the text. This adds meaningful guidance beyond the schema alone, though the schema already covers the basics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'generates' and the resource 'deep AI structural analysis report', listing specific report types (Summary, Action Items, Outline, Speakers). It unequivocally distinguishes the tool from sibling tools like transcribe_audio or get_transcript by specifying it operates on completed transcripts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates the tool is meant for 'a completed transcript', giving clear context on when to use it. However, it does not explicitly mention when not to use it or provide alternatives (e.g., if the transcript is incomplete, use get_job_status first). This is a minor gap, but the instruction is clear enough for most agents.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_job_statusA
Checks the status of a transcription job using its job_id. Use this to poll until status is 'completed'.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | The unique job_id returned by transcribe_audio or transcribe_from_url. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description adds value by indicating it is a polling tool and that it checks status. It lacks details on error handling or response format, which is acceptable for a simple status check.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the core action, and contains no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple single-parameter interface and no output schema, the description adequately covers the tool's behavior. It could mention the possible status values, but otherwise it is complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the input schema already describes job_id well. The description does not add additional semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: checking the status of a transcription job using its job_id. It is distinct from sibling tools like transcribe_audio and get_transcript.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use this for polling until status is 'completed', giving clear guidance on when and how to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_transcriptA
Retrieves the full text transcript for a completed job, including speaker labels (diarization).
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | The unique job_id of the completed transcription job. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states the retrieval of transcript with speaker labels, omitting behavioral details like error handling for incomplete jobs, authentication requirements, or idempotency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the key action and feature. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 parameter, no output schema), the description is mostly complete. However, it could optionally mention that the job must be completed or describe the output format since no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage for the single parameter 'job_id' with a description. The tool description does not add additional meaning beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (retrieves), the resource (full text transcript for a completed job), and a key feature (speaker labels/diarization). It distinguishes well from sibling tools like 'transcribe_audio' and 'get_job_status'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after a job is completed but does not explicitly state when to use or when not to use, nor does it reference alternatives. With siblings present, more explicit guidance would be helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transcribe_audioB
Uploads a local audio or video file to FreeAudioToText for transcription. Supported formats: MP3, M4A, WAV, MP4, MOV, etc. Returns a job_id.
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | Optional language code (e.g., 'en', 'zh'). Defaults to 'auto'. | |
| file_path | Yes | Absolute local path to the audio or video file (e.g., /Users/name/Downloads/audio.mp3) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It mentions upload and return of a job_id but lacks details on whether the operation is asynchronous, file deletion policies, authentication needs, rate limits, or response structure. This is insufficient for a mutation-like tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short (two sentences) and front-loaded with the main action. It covers essentials without fluff. Could be slightly improved by separating formats and return value for clarity, but it's efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should clarify the return value. It states 'Returns a job_id' but does not explain that the transcription is asynchronous or that job_id is used to poll status. Given siblings like get_job_status, the workflow is partially implied but could be more explicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for both parameters, so the description adds minimal extra meaning for parameters. The description does provide context about the overall action and supported formats, but not beyond what the schema already conveys. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies that the tool uploads a local audio/video file to FreeAudioToText for transcription and returns a job_id. It lists supported formats and distinguishes from siblings like transcribe_from_url (for URL transcription) and get_transcript (for retrieving results), giving a clear purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that this tool is for local files, but it does not explicitly state when to use it versus alternatives like transcribe_from_url. There is no mention of prerequisites, file size limits, or when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transcribe_from_urlA
Submits a YouTube or TikTok URL to FreeAudioToText for transcription. Returns a job_id.
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | Optional language code (e.g., 'en', 'zh'). Defaults to 'auto'. | |
| youtube_url | Yes | The full URL of the YouTube or TikTok video. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It mentions asynchronous submission via 'returns a job_id' but lacks details on processing time, error handling, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no extraneous information. It is efficient and front-loaded with the key action and result.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 2 fully described parameters, the description is adequate but lacks mention of the asynchronous workflow (e.g., need to poll get_job_status). Sibling tools partially compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds minimal value beyond the schema, merely confirming the source is YouTube/TikTok and the service name. No additional parameter semantics are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'submits' and the resource 'YouTube or TikTok URL to FreeAudioToText for transcription', distinguishing it from transcribe_audio which likely handles file uploads.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly guide when to use this tool versus alternatives like transcribe_audio. Usage is implied by the mention of URL, but no exclusions or direct comparisons are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
v1.0.0- First observed
generate_ai_report - First observed
get_job_status - First observed
get_transcript - First observed
transcribe_audio - First observed
transcribe_from_url
TDQS
Each tool serves a distinct purpose: two input methods for transcription, status polling, transcript retrieval, and report generation. No ambiguity between them.
All tool names follow a consistent verb_noun pattern in lowercase snake_case (transcribe_audio, get_job_status, etc.), making them predictable.
Five tools cover the essential transcription workflow without being excessive or insufficient. The scope is well-suited for the server's purpose.
The tool set covers the core workflow (submit, poll, retrieve, analyze). Minor gaps like job cancellation or listing are absent but not critical for primary use.
Maintenance
Related MCP Connectors
AI transcription from URLs or files. 119 languages, diarization, SRT/VTT/text export.
Transcribe audio & video to text for AI agents: 100+ languages, speaker labels, webhooks.
- mcpOAuthso.transcribe
Transcribe audio and video into speaker-labelled transcripts, subtitles, clips, and cited Q&A.
Transcribe audio & video: diarization, timed SRT/VTT, podcasts, paste-a-link, whole-feed batch.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceThis service provides fast and reliable transcriptions for audio/video files and voice memos. It allows LLMs to interact with the text content of audio/video file.8MIT
- AlicenseAqualityAmaintenanceTranscribes videos from 1000+ platforms (YouTube, TikTok, Vimeo, etc.) and local video files using OpenAI's Whisper model, with support for 90+ languages and multiple output formats.8385MIT
- AlicenseNot gradedqualityCmaintenanceTranscribes YouTube videos or audio files to Markdown, plain-text, and Word documents.MIT

jackai-stt-mcpofficial
AlicenseAqualityCmaintenanceTranscribes audio files by referencing them in chat, using OpenAI's speech-to-text models locally without uploading audio, and supports speaker diarization.1MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/double2dev/freeaudiototext-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server