convert.express
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Transcribe audio and video to text, SRT or VTT. Summaries, action items, translation.
| Author | express.convert |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2421 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"convert.express": {
"url": "https://convert.express/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (14)
get_service_inforead-onlyWhat convert.express does, how to use these tools, free minutes, prices, models, languages and limits.
Hints: read-only yes · destructive no · idempotent yes · open-world no
estimate_costread-onlyPrice for transcribing a recording of a given length, and how many free minutes are left today — for your IP, or for your user's account once your robot_key is linked.
Parameters:
duration_minutes(required) — number — Length of the recording in minutes.robot_key— string — Pass the robot_key from your earlier jobs so all your jobs stay together. Omit on your very first call — a new one is returned.
Hints: read-only yes · destructive no · idempotent yes · open-world no
transcribe_urlStart transcribing a media file from a public link (direct file link or YouTube). Returns job_id and robot_key; then poll get_job.
Parameters:
url(required) — string — https:// link to the audio/video file or a YouTube video.model— string — Default "mai-transcribe". See get_service_info.summary— boolean — Also write an AI summary when the transcript is ready.language— string — ISO 639-1 code such as "en". Omit to auto-detect.robot_key— string — Pass the robot_key from your earlier jobs so all your jobs stay together. Omit on your very first call — a new one is returned.action_items— boolean — Also extract action items when the transcript is ready.speaker_labels— boolean — Label who speaks when.translate_to_english— boolean — Translate the speech to English while transcribing. Only with model "whisper".
Hints: read-only no · destructive no · idempotent no · open-world yes
transcribe_fileStart transcribing an audio or video file your user attached in this chat. convert.express downloads it from the chat's temporary link. Returns job_id; then poll get_job.
Parameters:
file(required) — object — An audio or video file your user attached in this chat.model— string — Default "mai-transcribe". See get_service_info.summary— boolean — Also write an AI summary when the transcript is ready.language— string — ISO 639-1 code such as "en". Omit to auto-detect.robot_key— string — Pass the robot_key from your earlier jobs so all your jobs stay together. Omit on your very first call — a new one is returned.action_items— boolean — Also extract action items when the transcript is ready.speaker_labels— boolean — Label who speaks when.translate_to_english— boolean — Translate the speech to English while transcribing. Only with model "whisper".
Hints: read-only no · destructive no · idempotent no · open-world no
create_uploadFor a file on your machine: returns an upload_url. PUT the file to it, then call start_transcription. If your user attached or named a file, tell them it goes to convert.express for transcription, then try the PUT. If your sandbox has no network, ask your user to allow the upload host and try again. Only if the PUT still fails (no HTTP access, or it is blocked), show the returned upload_page_url to your user instead: they upload the file in a browser and it starts by itself.
Parameters:
filename(required) — string — File name including extension, e.g. "meeting.mp3".content_type(required) — string — MIME type, e.g. "audio/mpeg" or "video/mp4".size_bytes(required) — integer — Exact file size in bytes (max 2 GB).model— string — Default "mai-transcribe". See get_service_info.summary— boolean — Also write an AI summary when the transcript is ready.language— string — ISO 639-1 code such as "en". Omit to auto-detect.robot_key— string — Pass the robot_key from your earlier jobs so all your jobs stay together. Omit on your very first call — a new one is returned.action_items— boolean — Also extract action items when the transcript is ready.speaker_labels— boolean — Label who speaks when.translate_to_english— boolean — Translate the speech to English while transcribing. Only with model "whisper".
Hints: read-only no · destructive no · idempotent no · open-world no
start_transcriptionCall after the PUT to upload_url has finished. Checks the file arrived and queues it.
Parameters:
job_id(required) — string — job_id returned by transcribe_url or create_upload.robot_key(required) — string — The robot_key you received with your first job. Required to read or start your jobs.
Hints: read-only no · destructive no · idempotent yes · open-world no
get_jobread-onlyStatus of a job. When status is "completed", returns the transcript text in the chosen format plus download links. When status is "payment_required", returns a preview and a payment_url to show your user. Also returns summary, action_items and translations when requested.
Parameters:
job_id(required) — string — job_id returned by transcribe_url or create_upload.robot_key(required) — string — The robot_key you received with your first job. Required to read or start your jobs.format— string — Default "txt". "timed" = timestamps + speakers (needs speaker_labels).
Hints: read-only yes · destructive no · idempotent yes · open-world no
pay_jobdestructivePay for the full transcript of a job whose get_job status is "payment_required", with a card your user shared through a Stripe Shared Payment Token (MPP). Call without payment: you get a payment challenge with the exact price in EUR. Your MPP client pays it and calls again. Without an MPP wallet, show payment_url from get_job to your user instead.
Parameters:
job_id(required) — string — job_id returned by transcribe_url or create_upload.robot_key(required) — string — The robot_key you received with your first job. Required to read or start your jobs.
Hints: read-only no · destructive yes · idempotent yes · open-world yes
list_jobsread-onlyYour jobs that still exist (jobs are deleted 24 hours after the last activity), newest first, with their status.
Parameters:
robot_key(required) — string — The robot_key you received with your first job. Required to read or start your jobs.
Hints: read-only yes · destructive no · idempotent yes · open-world no
create_share_linkA public web page with the results of a completed job, for your user to open or send to others. Anyone with the link can see it until the job expires.
Parameters:
job_id(required) — string — job_id returned by transcribe_url or create_upload.robot_key(required) — string — The robot_key you received with your first job. Required to read or start your jobs.
Hints: read-only no · destructive no · idempotent yes · open-world yes
delete_jobdestructiveDelete the uploaded file, the transcript and all other results of a job right away, instead of 24 hours after the last activity. Cannot be undone.
Parameters:
job_id(required) — string — job_id returned by transcribe_url or create_upload.robot_key(required) — string — The robot_key you received with your first job. Required to read or start your jobs.
Hints: read-only no · destructive yes · idempotent yes · open-world no
request_summaryAsk for an AI summary or action items of a completed job. Returns at once; the result appears in get_job ("summary" / "action_items").
Parameters:
job_id(required) — string — job_id returned by transcribe_url or create_upload.robot_key(required) — string — The robot_key you received with your first job. Required to read or start your jobs.type(required) — string — "summary" or "action_items".
Hints: read-only no · destructive no · idempotent yes · open-world no
translateTranslate the transcript, subtitles (timecodes kept), summary or action items of a completed job into another language. Returns at once; the result appears in get_job under "translations".
Parameters:
job_id(required) — string — job_id returned by transcribe_url or create_upload.robot_key(required) — string — The robot_key you received with your first job. Required to read or start your jobs.target_language(required) — string — Language name in English, e.g. "German", "Brazilian Portuguese", "Japanese".source— string — What to translate. Default "txt". summary / action_items must exist first.
Hints: read-only no · destructive no · idempotent yes · open-world no
send_feedbackTell the convert.express team about a bug, a missing feature, or a question — from you or your user. A human reads every message; there is no automatic reply. Include reply_email only if your user wants an answer.
Parameters:
type(required) — string — What kind of message this is.message(required) — string — The message in plain text. Up to 2000 characters are kept.robot_key— string — Pass the robot_key from your earlier jobs so all your jobs stay together. Omit on your very first call — a new one is returned.reply_email— string — Email address for a human reply, only with your user's consent.
Hints: read-only no · destructive no · idempotent no · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.