About Transcripted
Transcripted MCP is a read-only local server for searching meetings, dictations, and writing saved by the Transcripted Mac app. It also offers structured retrieval across meetings and an interactive recent-meetings view in supported clients.
Key features
- 01Search local meeting transcripts
- 02Retrieve decisions and commitments
- 03Read dictations and saved writing
- 04Show recent meetings with audio playback
- 05Use a local SQLite index
Use cases
- 01Find decisions across meeting records
- 02Look up commitments by person
- 03Search dictations and typed notes
- 04Review recent meetings in a supported client
MCP support
The MCP server exposes read-only tools for local Transcripted captures, including cross-meeting searches and structured retrieval. Its recent-meetings tool can render an interactive UI in supported MCP clients, with a text fallback in others.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMETranscripted MCP
Read-only local tools for Transcripted meetings, dictations, and writing.
For Claude Desktop users, the best setup is inside the app:
- Open Transcripted.
- Open Settings.
- Go to
Agent. - Click
Install in Claude. - Restart Claude Desktop.
That path installs the bundled helper, updates Claude Desktop's config, and runs a local self-test.
Interactive UI (MCP Apps)
The server exposes one interactive widget via the MCP Apps extension
(io.modelcontextprotocol/ui, SEP-1865): call show_recent_meetings to render a
card list of recent meetings — each with inline audio playback and a raw-transcript
view — that draws inside a rendering-capable client. It is fully self-contained
(no network; local audio/transcripts travel over the local transport), and falls
back to a plain-text list in clients that do not render inline UI (e.g. the Claude
Code CLI). Renders inline today in ChatGPT, VS Code, Cursor, and Goose; see
docs/mcp-ui-recent-meetings.md for the
per-client support matrix and how to try it.
Source Build
Use this only when developing the MCP server directly:
swift build -c release
swift test
Binary:
.build/release/transcripted-mcp
Self-test:
.build/release/transcripted-mcp --self-test
The server reads the app-selected capture library first when Transcripted has
written its local directory manifest or transcriptSaveLocation preference.
Without a custom library, it reads:
~/Library/Application Support/Transcripted/captures/meetings
~/Library/Application Support/Transcripted/captures/dictations
~/Library/Application Support/Transcripted/captures/writing
Override paths with TRANSCRIPTED_DATA_DIR, TRANSCRIPTED_MEETINGS_DIR,
TRANSCRIPTED_DICTATIONS_DIR, TRANSCRIPTED_WRITING_DIR, or
TRANSCRIPTED_INDEX_DIR.
If TRANSCRIPTED_DATA_DIR points at a shared root with meetings/,
dictations/, or writing/ subfolders, transcripted-mcp uses those
subfolders automatically and stores its SQLite index in that shared root unless
TRANSCRIPTED_INDEX_DIR is also set. With per-kind meeting or dictation
overrides, writing is read only when TRANSCRIPTED_WRITING_DIR is set too.
Writing
list_writing and read_writing mirror list_dictations and
read_dictation for Writing_<date>.md day files (what the user typed with
the Transcripted keyboard). search_context and recent_context take
kind: "writing" and include writing in all. Writing search is full-text
only; the on-device embeddings cover meetings and dictations.
Telemetry
The server can emit one anonymous PostHog event when each tracked capture query
finishes (agent_capture_query_observed, see
AgentCaptureQueryTelemetry.swift). result is one of success,
empty_not_found, invalid_input, or internal_error. The payload is limited
to coarse allowlisted metadata: client, tool, and capture kinds; latency and
source- and result-count buckets; the result; and the owning app's validated
app_version, build channel, and revision when available. Build identity is
omitted when the app did not install it; the helper's own server version is
never used as an app-version fallback. source_count_bucket means distinct
capture files contributing to the response. result_count_bucket means
returned records at that tool's natural response grain. Transcript text, query strings, capture IDs,
titles, names, file paths, audio, and user identifiers are never properties.
It is gated twice:
- it honors the app's anonymous analytics toggle
(
observability-anonymous-analytics-enabled; off means nothing is sent) - it no-ops entirely unless a PostHog API key and HTTPS host are configured via
POSTHOG_API_KEY/POSTHOG_HOST, a local override, or the bundle'sTranscriptedPostHogAPIKey; source builds have none by default
Transcripts and audio never leave the Mac in any mode.
Cross-Meeting Receipt Tools
WS2.3 adds local structured retrieval tools for agents:
decisions(topic, range)commitments(person, range)open_questions(project, range)search_meetings(query, range)
Each returns JSON receipts shaped around meetingId, timestamp, and quote.
Summary-derived receipts have timestamp: null until exact audio anchors are
available; raw utterance search includes the transcript timestamp. These tools
use only the local SQLite index and saved summary/parser output.
MCP Bundle and Registry
Each release can also ship the helper as an MCP Bundle
(transcripted-mcp.mcpb) for clients that install bundles directly, and list
it in the official MCP Registry as io.github.r3dbars/transcripted.
The Publish MCP Bundle workflow does both. It copies the signed helper out of
the release DMG, packs it with mcpb/manifest.json,
attaches the bundle to the release, then fills in and publishes the root
server.json. It runs when a release is published. There is no manual dispatch (it could run from any branch); to retry, re-run the job.
Nothing is rebuilt, so the bundle keeps the notarized app's signature.
glama.json at the repo root claims the Glama listing for the maintainer.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.