Allows an AI client to search and retrieve transcripts from meetings, dictations, and writing saved by the Transcripted Mac app.
Also known as r3dbars/transcripted
- Stars
- 92
- Tools
- 4
- Downloads, 30 days
- —
- Latest version
- 1.1.76
- Last commit
- Nov 13, 2026
- License
- MIT
What is Transcripted MCP?
Transcripted allows an AI client to search and retrieve transcripts from meetings, dictations, and writing saved by the Transcripted Mac app. It exposes 4 tools, such as decisions, commitments, open_questions.
Summary generated from the project's README
About Transcripted MCP server
Transcripted provides read-only access to local transcripts generated by the Transcripted Mac application. It allows AI clients to search and retrieve data from meetings, dictations, and writing sessions stored on your machine. Users can set up the server through the Transcripted app settings by selecting the Agent tab and clicking Install in Claude, which automates the configuration for Claude Desktop.
The server functions locally and does not send transcripts or audio files over a network. It uses a local SQLite index to power specialized retrieval tools like decisions, commitments, and open questions. Developers can customize data locations using environment variables such as TRANSCRIPTED_DATA_DIR or TRANSCRIPTED_INDEX_DIR. While writing files are searched via full-text, meetings and dictations utilize on-device embeddings for more advanced retrieval.
For clients that support interactive UI, the server includes a widget that renders a card list of recent meetings. This interface allows for inline audio playback and raw transcript viewing directly within the AI client. This feature is currently available in ChatGPT, VS Code, Cursor, and Goose.
What you can do with it
- 1Review recent meeting recordingsAsk the AI to show a list of recent meetings with audio playback and transcripts.
- 2Extract meeting outcomesRequest a list of specific decisions or commitments made during a certain timeframe.
- 3Search personal writing logsFind specific text within the daily markdown files created by the Transcripted keyboard.
- 4Identify unresolved project tasksQuery the AI to find open questions related to a specific project.
Written from the project's README. Every use case is checked against a quote from it.
Transcripted MCP tools 4
Detected from the READMEdecisionscommitmentsopen_questionssearch_meetings
| decisions | — | |
| commitments | — | |
| open_questions | — | |
| search_meetings | — |
Automated checks
Ran Nov 12, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablePass
- Open source license (OSI)Pass
- Commit or release in the last yearPass
- Package name not close to a popular packageNot checked
- Remote endpoint uses HTTPSNot checked
- Destructive tools are labelledPass
- No hidden instructions to the modelPass
- No critical advisory in the package or its dependenciesNot checked
README
View on GitHubTranscripted 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.
Transcripted MCP questions
What tools does Transcripted MCP provide?
It exposes 4 tools, including decisions, commitments, open_questions, search_meetings.
How do I install Transcripted on Claude Desktop?
Open the Transcripted app, go to Settings, select Agent, click 'Install in Claude', and then restart Claude Desktop.
Does my audio or transcript data leave my computer?
No, transcripts and audio never leave your Mac in any mode.
Can I use this to find specific decisions or commitments from meetings?
Yes, the server provides structured retrieval tools to find decisions, commitments, and open questions within a specific topic or range.
What happens if my client doesn't support the interactive UI widget?
The server falls back to a plain-text list in clients that do not render inline UI.