Nemotron Transcribe MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_HOST_PORT | No | Host port on which the MCP server container is published (default 127.0.0.1:8083). | 8083 |
| MCP_TRANSPORT | No | MCP transport. Leave as stdio when running without Docker. | stdio |
| MCP_AUTH_TOKEN | No | Auth token for the MCP server, set to a long random string. Clients connect with it as a 'Bearer' token in the Authorization header (e.g. Authorization: "Bearer YOUR_TOKEN_FROM_ENV"). | |
| NEMOTRON_BASE_URL | Yes | Base URL of the already-running Nemotron 3.5 Transcribe endpoint. For Docker, use something like http://host.docker.internal:8010/v1 (use 127.0.0.1 only without Docker; a local process can use http://127.0.0.1:8010/v1). | |
| NEMOTRON_LOG_FORMAT | No | Log format. Default is one JSON object per line; set to text for a plain line in a terminal. | json |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| transcribeA | Speech to text for one audio file or one YouTube link. style verbatim, the default, keeps every word, including fillers. style clean drops fillers and accidental repetitions and keeps the other words. style technical keeps emails, URLs, file paths, commands, and IDs exactly. Do not pass speakers with style technical. style raw_dictation drops punctuation and writes numbers as spoken words. A long file is cut at a pause and sent one piece at a time. Pass speakers from 2 to 8 to repeat 10 seconds at each join. Speaker numbers are matched across those joins. Waits wait_seconds (default 25). If it is still running, returns a job id. Tell the user, then call get_job_status. Do not poll in a loop. |
| translateA | Write the speech in one audio file, or one YouTube link, in another language. source_language is the language spoken in the file, such as Polish or pl. target_language is the language the words should be written in, such as English or en. Pass both when you know them. A language passed here overrides NEMOTRON_SOURCE_LANGUAGE and NEMOTRON_TARGET_LANGUAGE. If source_language is empty, the language heard in the file overrides NEMOTRON_SOURCE_LANGUAGE. Leave target_language empty to use NEMOTRON_TARGET_LANGUAGE. One of the two languages must be English. A long file is cut at a pause and sent one piece at a time. Waits wait_seconds (default 25). If it is still running, returns a job id. Tell the user, then call get_job_status. Do not poll in a loop. |
| ask_about_audioA | Answer a question about one audio file or one YouTube link. The model was checked on English speech. A recording longer than the reasoning budget is refused. Pass start and end, in seconds, for the part you want. show_reasoning includes the model's reasoning before the answer. Waits wait_seconds (default 25). If it is still running, returns a job id. Tell the user, then call get_job_status. Do not poll in a loop. |
| identify_languageA | Say which language is spoken in one audio file or one YouTube link. Returns one label, such as en_us. Listens to about 10 seconds of speech, skipping a pause at the start. Less reliable for Latvian and Slovenian. Not a transcript. |
| list_languagesA | Languages this model can handle, and how strong that support is. level is leading, production_ready, or supported. translate is yes when that language can be one side of an English translation. identify is yes, low, or no. Latvian and Slovenian are low. Norwegian is listed, but the card only scored transcription. It did not mark it supported. |
| get_job_statusA | How far a transcription job has got. Pass wait_seconds from 0 to 45 to wait for it to finish. Tell the user the status. Do not poll in a loop. |
| get_job_resultB | The words from a finished job. offset and limit return a slice so a long transcript does not flood the chat. Only text is stored. |
| list_jobsB | Jobs on this machine, newest first. Use this to recover a job id. |
| cancel_jobA | Stop a transcription job. Pieces that already finished stay readable through get_job_result. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool has a clearly distinct action: transcribe, translate, ask_about_audio, identify_language, and list_languages operate on audio but produce different outputs, while get_job_result, get_job_status, list_jobs, and cancel_job cover distinct job-management roles. The descriptions make the boundaries explicit, so an agent should not confuse them.
All names use snake_case and start with a verb, with get_job_result, get_job_status, list_languages, list_jobs, cancel_job, ask_about_audio, and identify_language following a verb_noun pattern. transcribe and translate are bare verbs rather than verb_noun, a minor inconsistency.
Nine tools is a well-scoped set for transcription, translation, audio QA, language identification, and job management. Each tool has a clear role and none feels redundant.
The surface covers the core lifecycle: submit jobs (transcribe/translate), inspect status, retrieve results, list/cancel jobs, and query language support. Minor gaps include no job deletion or audio metadata tool, but these are not blocking.