Skip to main content
Glama

transcribe_file

Idempotent

Submit an audio or video file path to generate a diarized, speaker-labeled transcript on your Mac; returns the text or a file path when the job finishes.

Instructions

Submit one audio or video file to Meeting Transcriber and wait for the diarized transcript. Runs headless, so a multi-speaker recording finishes on its own with auto-assigned speaker names instead of parking on the naming step. Use enqueue_files plus get_job when you do not want to block, or when you want to assign speaker names yourself.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYesAbsolute path to an audio or video file readable on the Mac running Meeting Transcriber. There is no upload: a path that exists only on another machine is rejected.
idempotencyKeyNoReuse the same key when retrying so the repeat returns the original job instead of enqueuing a duplicate. The app dedupes sequential retries within one session of its automation API.
maxWaitSecondsNoHow long the app blocks before answering. Defaults to 600. Use 0 to enqueue and get the current status back immediately.
includeTranscriptNoFold the transcript text into the answer instead of returning only a file path. Defaults to true, which is what you want unless the transcript is large and you only need the paths.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial behavior context beyond annotations: 'runs headless,' auto-assigned speaker names, no parking on the naming step, and the idempotency/dedup semantics are reinforced. Annotations declare idempotentHint=true, which the description aligns with rather than contradicts.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, no filler, front-loaded with the primary action, then behavioral note, then alternative routing. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Completes the picture for a mutation-side submitter: how it behaves (headless, speaker naming), how it differs from siblings, and timeout semantics via schema. No output schema, so it does not need to describe return shape, and the schema handles return-adjacent details like includeTranscript.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all four parameters are already documented in the schema, including the path-absolute/local-machine restriction and idempotency reuse guidance. The description adds little param-specific syntax or format detail beyond what the schema provides; baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb+resource+scope: submit one audio/video file to Meeting Transcriber and wait for the diarized transcript. Clearly contrasts with enqueue_files and get_job as the non-blocking alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names enqueue_files plus get_job as the alternative and gives the condition (not wanting to block, or wanting to assign speaker names yourself). It does not cover when blocking itself is inappropriate, but the routing guidance is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.