Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
JOONS_LISTEN_URLNoWhere the MCP server finds the service (loopback only). Default: http://127.0.0.1:18796.http://127.0.0.1:18796
JOONS_LISTEN_DATANoData folder for jobs, database, models, and dictionary. Default: ~/.joons-listen.~/.joons-listen
JOONS_LISTEN_DICTNoPrivate dictionary file. Default: <data>/dictionary.json.<data>/dictionary.json
JOONS_LISTEN_PORTNoService port (loopback only). Default: 18796.18796
JOONS_LISTEN_ROOTSNoPath-separator list of allowed audio folders. Default: the data folder's inbox, ~/Desktop, and ~/Downloads.inbox, Desktop, Downloads
JOONS_LISTEN_FFMPEGNoPath to ffmpeg if it is not available on PATH.
JOONS_LISTEN_LLM_URLNoURL for the local Ollama LLM used for translation and minutes. Default: Ollama on loopback.Ollama on loopback
JOONS_LISTEN_LLM_MODELNoLocal Ollama model used for translation and minutes. Default: qwen3:8b.qwen3:8b
JOONS_LISTEN_MIRROR_CMDNoInstead of a folder, run this command per file: a JSON array such as ["rsync", "-a", "{file}", "host:/dir/"]; {file} is replaced by the file path, no shell is used, and the zip is sent before its .ok marker. Default: empty (off).
JOONS_LISTEN_MIRROR_DIRNoCopy finished results (no audio) as zip files to this folder. Default: empty (off).

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": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
listen_transcribeA

Queue a transcription job for a local audio file (Whisper large-v3 / Qwen3-ASR-1.7B, speaker labels, optional Korean translation and minutes). Returns a job_id immediately; poll listen_status, then fetch listen_result.

listen_diarizeB

Queue a speaker-turn job (who spoke when, no transcript).

listen_summarizeB

Create minutes or a brief summary from a finished transcription job.

listen_statusA

Status of one job, or service health plus recent jobs when job_id is omitted.

listen_resultB

Read a finished job's result in chunks (format json|txt|md|srt|minutes).

listen_modelsA

List the engines, their state and the language routing.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 6 tools

Disambiguation4/5

Each tool targets a distinct stage of the async pipeline: queue (transcribe/diarize/summarize), poll (status), fetch (result), and inspect (models). The only friction is mild overlap between listen_transcribe's optional minutes flag and listen_summarize, plus status vs result needing the description to clarify state-vs-content. Descriptions do resolve this, so misselection risk is low.

Naming Consistency5/5

All six tools use a uniform listen_ prefix followed by a clear noun/verb (transcribe, status, diarize, summarize, result, models) in consistent snake_case. The pattern is predictable enough that an agent can guess a tool name before reading it.

Tool Count5/5

Six tools is a tight, well-scoped surface for an asynchronous audio-processing service: one per job type plus the status/result/models trio needed to drive the queue-and-poll workflow. No tool looks redundant or padded.

Completeness4/5

The lifecycle is largely covered: submit jobs, check status/health, retrieve results in multiple formats, summarize, and inspect engines. Gaps are administrative rather than core — no cancel/delete job, no explicit list-jobs tool (folded into listen_status), and no way to submit remote/uploaded audio, but agents can work around these.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues