Skip to content
KekosoDownload

MCP transcription server

A local MCP server that gives your agent ears.

Kekoso runs a local MCP server with twelve tools. Claude Code, Claude Desktop and Codex transcribe through it, read your history and manage your vocabulary — with no API key, no per-minute billing and no audio going anywhere to be recognised.

macOS 14.4 or later · Apple silicon · $29 once, not per minute · 7-day trial

Kekoso’s MCP screen: the tools switch and Claude Code, Claude Desktop and Codex listed as connected clients

Setup

One click, or four lines of JSON.

Kekoso’s MCP section installs the server into Claude Code, Claude Desktop and Codex for you, writing an entry named kekoso into the client’s own config. If you would rather do it by hand, this is the whole of it — a stdio server, one absolute path, no arguments, no key.

The path has to be absolute: the working directory a client launches the helper from is not ours to control, and it differs between clients. Restart the client afterwards and the tools appear.

~/.claude.json
{
  "mcpServers": {
    "kekoso": {
      "command": "/Applications/Kekoso.app/Contents/MacOS/kekoso-mcp"
    }
  }
}

The catalogue

Twelve tools, named.

Eleven when the YouTube path is turned off in your build — a tool that would fail on first call is better not offered at all.

transcribe_file

Any audio or video file on disk, with timecodes.

transcribe_url

A YouTube link, when that path is enabled in the build.

history_list

Past dictations. Behind the history switch.

transcripts_list

Files and links you transcribed. Behind the history switch.

recordings_list

Recorded calls. Behind the history switch.

recording_get

One recording in full, with segments and speaker tracks.

vocabulary_list

The terms and replacements you taught it.

vocabulary_add

Teach it a name, a term or a replacement.

vocabulary_remove

Files a request. You confirm it in Kekoso.

models_list

Installed models, with size and measured accuracy.

model_install

Download a model on the agent’s behalf.

model_remove

Files a request. You confirm it in Kekoso.

How it is built

An agent is not a user you can trust by default.

Which is a design problem, not a slogan. These are the decisions it produced.

The gates sit on execution, not on the list

When the MCP switch is off, or the licence has lapsed, tools/list still returns the full catalogue and every call is refused with a reason. Filtering the list instead is exactly the mistake behind CVE-2026-46519 in mcp-server-kubernetes, where destructive tools vanished from the listing but stayed callable by name — the advisory calls that filter cosmetic. Here the listing and the execution share no check at all.

Deletion needs a human, and says so honestly

vocabulary_remove and model_remove do not delete. They file a request, and only your click in Kekoso carries it out. The request has a time limit, and once it lapses the agent gets expired rather than a permanent pending — an agent that never hears back is an agent that tells its owner the job is done.

History is off until you turn it on

The four tools that read your past transcripts are gated by a separate setting that ships disabled. They stay in the catalogue with that fact written into their descriptions, so a refusal reads as a setting rather than a bug.

Every call is written down

The server keeps a journal of what was called and when, in a plain local file you can read. There is also one switch that turns the whole thing off.

No key, no meter, no round trip

The agent gets the same on-device models the app uses. Nothing is billed per minute, there is no API key to leak into a config file, and the audio does not leave the machine to be recognised.

A local socket, not a port

The helper talks to Kekoso over a UNIX socket in your Application Support folder. Nothing listens on a network port, so nothing on your LAN can reach it.

What it costs to run

Nothing per minute, because nobody else is doing the work.

A transcription API bills by the minute of audio, and an agent left to its own devices will happily push a backlog of recordings through one. Here the model is already on your disk, the work happens on your Neural Engine, and the bill does not move.

There is also nothing to leak. No key sits in your config, no token lands in a log, and a recording your agent touched has not been copied to anyone’s bucket for processing.

What it does not do

The limits, up front.

  • Kekoso has to be installed and running

    The helper is a thin client: it speaks MCP to your agent and forwards calls to the app over the socket. If Kekoso is not running it is launched; if it is not installed, there is nothing to forward to.

  • It is not a hosted API

    This runs on one Mac, for the agents on that Mac. There is no endpoint your CI can call, no team workspace and no remote mode — which is the same property that makes it free to run and private by construction.

  • The agent cannot dictate for you

    These tools turn recordings into text. Pressing the hotkey and speaking into the field you are typing in stays a human action — an agent has no cursor to paste into.

  • Apple silicon only

    macOS 14.4 or later · Apple silicon. Recognition leans on the Neural Engine, which Intel Macs do not have.

Questions

Before you wire it up.

How do I give Claude Code a transcription tool?
Install Kekoso, open its MCP section and click install for Claude Code. It writes an entry named kekoso into your client config pointing at the helper binary inside the app bundle. Restart the client and the tools appear. If you prefer to edit the config by hand, the entry is a single command with no arguments and no environment.
What is the config entry exactly?
A stdio server whose command is the absolute path to kekoso-mcp inside the app bundle, normally /Applications/Kekoso.app/Contents/MacOS/kekoso-mcp. No arguments, no API key, no environment variables. The path must be absolute, because the working directory a client launches the helper from differs between clients.
Which clients are supported?
Claude Code, Claude Desktop and Codex or ChatGPT desktop are installed with one click each. Anything else that speaks MCP over stdio works too — point it at the same binary.
Does the audio go anywhere?
No. Recognition runs on the same on-device models the app uses, and the transcription pipeline makes no network calls. The agent gets text back over a local socket; nothing is uploaded, and there is no per-minute bill because nobody else is doing the work.
Can the agent delete my vocabulary or my models?
It can ask. vocabulary_remove and model_remove file a request that only your click in Kekoso carries out, and the request expires if you do not act on it, so the agent is told the truth rather than left waiting forever.
Can the agent read my transcript history?
Only if you turn that on. The four history tools are gated by a setting that ships disabled, and their descriptions say so, so a refusal is legible as a setting rather than a failure.
Does this cost extra on top of the app?
No. The MCP server is part of Kekoso — $29 once, up to 3 of your own Macs, with a 7-day trial. Compared with a per-minute transcription API, the arithmetic is short: an hour of audio a week costs nothing here after the purchase.
What happens when Kekoso is not running?
The helper launches it. Beyond that, the app has to be installed on the machine — this is a local server, not a service you point at from elsewhere.

Pricing

Buy it once. It's a tool, not a tenancy.

Four jobs that usually arrive as four subscriptions, running on hardware you already paid for.

$29once

7-day free trial. No card to start.

  • Dictation, files and links, call recording and the MCP server — all of it
  • No per-minute billing, no monthly cap, no usage dashboard
  • Use it on up to 3 of your own Macs
  • Free updates through the whole 1.x line
  • Works offline indefinitely; no license check to phone home weekly
  • 30-day refund, no argument, no questionnaire

macOS 14.4 or later · Apple silicon · payment handled by Lemon Squeezy

Try it on your own words.

7 days, every feature unlocked, no card and no account. If it does not earn its place in your week, delete it and nothing follows you.

macOS 14.4 or later · Apple silicon