Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MEETING_TRANSCRIBER_TOKENNoPin the token directly instead of reading a file. Disables the re-read-on-401 recovery
MEETING_TRANSCRIBER_BASE_URLNoWhere the app's API listenshttp://127.0.0.1:9876
MEETING_TRANSCRIBER_TIMEOUT_MSNoBudget for the short endpoints. transcribe_file derives its own from maxWaitSeconds30000
MEETING_TRANSCRIBER_TOKEN_PATHNoRead the bearer token from somewhere elseThe app's token file under Application Support

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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
transcribe_fileA

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.

enqueue_filesA

Queue one or more audio files and return their job ids immediately. Poll each one with get_job. Unlike transcribe_file these jobs can park on the speaker-naming step, which you resolve with confirm_naming or skip_naming.

get_jobA

Read a job's state, result paths and transcript. Answers for live jobs and for finished ones the app has already reaped. A 404 means the id was never enqueued, aged out of the app's terminal store, or was cancelled before finishing. A job in error is not always final: a user can retry it from the menu bar, which moves the same id back to waiting.

get_namingA

Read the speaker labels a job is waiting to have named, with the app's own suggestion and how long each one spoke. Only meaningful while the job is in speakerNamingPending; any other state answers 404. Voice embeddings and audio are deliberately not exposed.

confirm_namingA

Confirm the real names behind a job's diarization labels so it can finish. A 409 means the job exists but is no longer awaiting naming. This does not enroll new voices in the app's speaker database; no endpoint here does.

skip_namingA

Let a job finish with the speaker names the app assigned itself. A 409 means the job exists but is no longer awaiting naming.

get_watch_statusA

Read whether Meeting Transcriber is watching for Teams, Zoom and Webex meetings, what the menu bar badge shows, and whether its permissions are healthy. Cheap enough to poll, and it answers even while the app is still starting up, which also makes it the liveness check for the automation API.

set_watchA

Start or stop automatic meeting detection, the same thing the menu bar's Start Watching item does. A 409 means a manual recording owns the watch loop. The first start on a fresh install can raise a macOS microphone or screen-recording prompt that somebody has to answer, so grant those once interactively before relying on this.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 8 tools

Disambiguation4/5

Most tools have clear distinct purposes: the naming cluster (get_naming/confirm_naming/skip_naming) and the watch cluster (set_watch/get_watch_status) are separable, and get_job is unique. transcribe_file vs enqueue_files share the same transcription goal and differ mainly in blocking behavior, which is the one spot an agent could misselect, though descriptions clarify it well.

Naming Consistency5/5

All tools follow a consistent snake_case verb_noun pattern (transcribe_file, enqueue_files, get_job, set_watch, get_naming, confirm_naming, skip_naming, get_watch_status). The get_/set_/confirm_/skip_ prefixes are used predictably.

Tool Count5/5

Eight tools is well-scoped for a transcription-and-watch domain, with no redundant or filler endpoints. Each tool maps to a distinct capability (sync/async transcription, job polling, naming resolution, watch control and status).

Completeness4/5

The surface covers the core lifecycle: submit, queue, poll, resolve naming, and watch automation, and get_job returns transcript results. Minor gaps exist (no job cancellation, no list/enumerate jobs, no speaker enrollment), but the descriptions explicitly flag some of these as intentional and workflows remain achievable.

Maintenance

ActivityMaintained
ResponsivenessNo issues