
Transcripted
io.github.r3dbarsv1.1.67Updated Sep 30, 2026
Read-only search over the meetings, dictations and writing saved by the Transcripted Mac app.
Installation
In SourceWeft
- Open Transcripted in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Transcripted 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:
Binary:
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:
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, or by hand with a tag.
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.
Source: Tools/TranscriptedMCP/README.md at commit 3d16785
Tools
0Version history
1- v1.1.67LatestSep 30, 2026


