Transcribe audio and video with Speechmatics speech-to-text from Claude and any MCP client.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
⚠️ Permanently deletes a job and its transcript. Set force=true to delete even while it is still running. Batch API: DELETE /jobs/{job_id}.
The job id to delete.
Delete even if the job is still running.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
⚠️ Permanently deletes a job and its transcript. Set force=true to delete even while it is still running. Batch API: DELETE /jobs/{job_id}.
| Argument | Type | Description |
|---|---|---|
| force | boolean | Delete even if the job is still running. |
| job_id* | string | The job id to delete. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/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."
}
}
}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}.
| Argument | Type | Description |
|---|---|---|
| job_id* | string | The job id returned by speechmatics_transcribe_url. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string",
"description": "The job id returned by speechmatics_transcribe_url."
}
}
}Get a job's plain-text processing log — useful for debugging a rejected job. Batch API: GET /jobs/{job_id}/log.
| Argument | Type | Description |
|---|---|---|
| job_id* | string | The job id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string",
"description": "The job id."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| format | string | Output format. Default txt for readability; use json-v2 for structured results. |
| job_id* | string | The job id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/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."
}
}
}Get usage statistics (transcription minutes) for the account over a date range. Batch API: GET /usage.
| Argument | Type | Description |
|---|---|---|
| since | string | Start date, YYYY-MM-DD. |
| until | string | End date, YYYY-MM-DD. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"since": {
"type": "string",
"description": "Start date, YYYY-MM-DD."
},
"until": {
"type": "string",
"description": "End date, YYYY-MM-DD."
}
}
}List transcription jobs (most recent first), with status/data_name/duration. Batch API: GET /jobs.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max jobs to return. |
| created_before | string | RFC3339 date-time; only return jobs created before this time (for pagination). |
| include_deleted | boolean | Include deleted jobs in the results. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/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."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| url* | string | Publicly reachable audio/video URL for Speechmatics to fetch and transcribe. |
| domain | string | Domain-specific model hint, e.g. finance. |
| language | string | Transcription language code, e.g. en, es, de, fr. |
| summarize | boolean | If true, also produce a summary of the transcript. |
| diarization | string | Speaker labeling: speaker (who spoke) | channel (per audio channel) | none. |
| summary_type | string | Summary layout (when summarize=true). |
| output_locale | string | Output spelling locale, e.g. en-US, en-GB. |
| summary_length | string | Summary length (when summarize=true). |
| enable_entities |
| boolean |
| Emit formatted entities (numbers, dates) in results. |
| operating_point | string | Accuracy/speed tradeoff. enhanced is more accurate; standard is faster/cheaper. |
| additional_vocab | array | Custom vocabulary — strings, or objects like {"content":"gnocchi","sounds_like":["nyohki"]}. |
| notification_url | string | Webhook URL to POST the transcript to when the job completes. |
| fetch_auth_headers | array | Auth headers to send when fetching a private URL, e.g. ["Authorization: Bearer xyz"]. |
| summary_content_type | string | Summary content style (when summarize=true). |
| translation_target_languages | array | Language codes to also translate the transcript into, e.g. ["es","de"]. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/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\"]."
}
}
}