MCP Server

speechmatics

io.usefulapi/speechmatics
Media & Content Unavailable MCP 2026-07-28

What this MCP does

Submits publicly accessible audio or video for asynchronous speech-to-text transcription, with transcript retrieval, translation, diarization, and summaries.

speechmatics_delete_job
Delete job
⚠️ Permanently deletes a job and its transcript. Set force=true to delete even while it is still running. Batch API: DELETE /jobs/{job_id}.
Destructive
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['job_id'], 'properties': {'force': {'type': 'boolean', 'description': 'Delete even if the job is still running.'}, 'job_id': {'type': 'string', 'description': 'The job id to delete.'}}}
speechmatics_get_job
Get job
Get a single job's details and status (running | done | rejected | deleted | expired). Poll this until status is "done", then fetch the transcript. Batch API: GET /jobs/{job_id}.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['job_id'], 'properties': {'job_id': {'type': 'string', 'description': 'The job id returned by speechmatics_transcribe_url.'}}}
speechmatics_get_job_log
Get job log
Get a job's plain-text processing log — useful for debugging a rejected job. Batch API: GET /jobs/{job_id}/log.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['job_id'], 'properties': {'job_id': {'type': 'string', 'description': 'The job id.'}}}
speechmatics_get_transcript
Get transcript
Get a completed job's transcript. format=txt (default, human-readable) | srt (subtitles) | json-v2 (structured words, timings, speakers, translations, summary). Only works once the job status is "done". Batch API: GET /jobs/{job_id}/transcript.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['job_id'], 'properties': {'format': {'enum': ['json-v2', 'txt', 'srt'], 'type': 'string', 'description': 'Output format. Default txt for readability; use json-v2 for structured results.'}, 'job_id': {'type': 'string', 'description': 'The job id.'}}}
speechmatics_get_usage
Get usage
Get usage statistics (transcription minutes) for the account over a date range. Batch API: GET /usage.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'since': {'type': 'string', 'description': 'Start date, YYYY-MM-DD.'}, 'until': {'type': 'string', 'description': 'End date, YYYY-MM-DD.'}}}
speechmatics_list_jobs
List jobs
List transcription jobs (most recent first), with status/data_name/duration. Batch API: GET /jobs.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Max jobs to return.', 'exclusiveMinimum': 0}, 'created_before': {'type': 'string', 'description': 'RFC3339 date-time; only return jobs created before this time (for pagination).'}, 'include_deleted': {'type': 'boolean', 'description': 'Include deleted jobs in the results.'}}}
speechmatics_transcribe_url
Transcribe audio/video from URL
Submit a publicly reachable audio/video URL for speech-to-text transcription (optionally with diarization, translation, and summarization). ASYNC: returns a job id immediately — poll speechmatics_get_job until status is "done", then call speechmatics_get_transcript. Batch API: POST /jobs.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'Publicly reachable audio/video URL for Speechmatics to fetch and transcribe.'}, 'domain': {'type': 'string', 'description': 'Domain-specific model hint, e.g. finance.'}, 'language': {'type': 'string', 'default': 'en', 'description': 'Transcription language code, e.g. en, es, de, fr.'}, 'summarize': {'type': 'boolean', 'description': 'If true, also produce a summary of the transcript.'}, 'diarization': {'enum': ['none', 'speaker', 'channel'], 'type': 'string', 'description': 'Speaker labeling: speaker (who spoke) | channel (per audio channel) | none.'}, 'summary_type': {'enum': ['paragraphs', 'bullets'], 'type': 'string', 'description': 'Summary layout (when summarize=true).'}, 'output_locale': {'type': 'string', 'description': 'Output spelling locale, e.g. en-US, en-GB.'}, 'summary_length': {'enum': ['brief', 'detailed'], 'type': 'string', 'description': 'Summary length (when summarize=true).'}, 'enable_entities': {'type': 'boolean', 'description': 'Emit formatted entities (numbers, dates) in results.'}, 'operating_point': {'enum': ['standard', 'enhanced', 'melia-1'], 'type': 'string', 'description': 'Accuracy/speed tradeoff. enhanced is more accurate; standard is faster/cheaper.'}, 'additional_vocab': {'type': 'array', 'items': {'anyOf': [{'type': 'string'}, {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}]}, 'description': 'Custom vocabulary — strings, or objects like {"content":"gnocchi","sounds_like":["nyohki"]}.'}, 'notification_url': {'type': 'string', 'description': 'Webhook URL to POST the transcript to when the job completes.'}, 'fetch_auth_headers': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Auth headers to send when fetching a private URL, e.g. ["Authorization: Bearer xyz"].'}, 'summary_content_type': {'enum': ['auto', 'informative', 'conversational'], 'type': 'string', 'description': 'Summary content style (when summarize=true).'}, 'translation_target_languages': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Language codes to also translate the transcript into, e.g. ["es","de"].'}}}
Added
speechmatics_delete_job
Sept. 21, 2026, 2:44 a.m.
Added
speechmatics_transcribe_url
Sept. 21, 2026, 2:44 a.m.
Added
speechmatics_get_usage
Sept. 21, 2026, 2:44 a.m.
Added
speechmatics_get_job_log
Sept. 21, 2026, 2:44 a.m.
Added
speechmatics_get_transcript
Sept. 21, 2026, 2:44 a.m.
Added
speechmatics_get_job
Sept. 21, 2026, 2:44 a.m.
Added
speechmatics_list_jobs
Sept. 21, 2026, 2:44 a.m.