Connect an agent over MCP
Add Eavesy to Claude, ChatGPT or Claude Code by URL so your agent can search your recordings and dictations.
Eavesy runs a hosted MCP server at
https://mcp.eavesy.com. An agent that speaks MCP can search your recordings
and dictations and pull the Markdown summary and transcript into its own
context, with nothing to copy and paste.
You add it by URL. The agent sends you to Eavesy to sign in and approve the connection, then it connects. There is no token to copy.
Add it by URL
The server URL is the same everywhere:
https://mcp.eavesy.comClaude.ai and Claude Desktop
- Open Settings → Connectors and choose Add custom connector.
- Name it
Eavesyand pastehttps://mcp.eavesy.comas the URL. - Select Connect. Sign in to Eavesy and approve the connection.
If the menus have moved, follow Anthropic's guide to custom connectors.
ChatGPT
- Turn on developer mode under Settings → Apps & Connectors → Advanced.
- Create a connector with
https://mcp.eavesy.comas the URL and OAuth as the authentication. - Sign in to Eavesy and approve the connection.
OpenAI moves these settings from time to time, and developer mode depends on your plan. If you can't find them, search ChatGPT's help for "developer mode".
Claude Code
claude mcp add --scope user --transport http eavesy https://mcp.eavesy.comThen run /mcp in Claude Code, pick eavesy and authenticate. Your browser
opens the Eavesy approval page.
Or install the Eavesy plugin, which adds the same server plus a skill that tells Claude when to look up your meetings and dictations:
/plugin marketplace add williamrogersdev/eavesy
/plugin install eavesy@eavesyOther clients
Any client that supports MCP authorization (OAuth 2.1 with dynamic client
registration) can add https://mcp.eavesy.com by URL. Clients that can't do
OAuth can use a pasted token.
What you approve
The approval page shows which app is asking and where you'll be sent back. A connection is read-only by default: it can search and read your recordings, dictations and action items.
If the app asks for write access, the page also shows Also let it write,
unchecked. Tick it only if you want the agent to make changes. Today the only
write tool is send_to_my_devices, which puts text in your Drop inbox. A
read-only connection never sees write tools in its tool list, and calling one
is refused.
Every approved app is listed in Settings → AI assistants (MCP) on the web and in Settings → Connections in the Mac app, where you can revoke it. Revoking cuts it off at once. An app you haven't used for 90 days has to be approved again.
Paste a token instead
For clients that can't sign in with OAuth, create a token by hand:
- Sign in to the web app and open Settings → AI assistants (MCP).
- Tick Allow writes only if this connection should be able to write.
- Select New connection. Eavesy shows a ready-made client configuration once. Paste it into your agent's MCP settings.
The configuration looks like this:
{
"mcpServers": {
"eavesy": {
"type": "http",
"url": "https://mcp.eavesy.com",
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
}
}Tokens go in the Authorization header and expire 90 days after they were
last used. Older URL-path tokens (https://mcp.eavesy.com/YOUR_TOKEN) still
work for clients that can only be given a URL, but they are deprecated and can
be turned off on self-hosted deployments with MCP_ALLOW_PATH_TOKENS=false.
Tools
| Tool | What it does |
|---|---|
search | Search everything in your library: recordings, dictations, notes, screenshots and other captures. Filter by kinds, project, and a since/until date range. |
recent | List your newest items, with the same filters. Good for "my last call" or "screenshots from this week". |
get | Get one item by the ID search or recent returned: a recording with its summary, your notes and the transcript; a dictation; a note's Markdown; or a screenshot with the image itself and any text read from it. |
search_library | Retrieve source passages from completed account recordings, with segment IDs and timestamps. |
ask_library | Answer from supported recording evidence when cloud answers are enabled; can abstain or report context limits. |
list_projects | List the projects available to the connection. |
search_meetings | Search recordings by title or transcript. Returns matches with an excerpt. |
get_meeting | Get one recording by ID, with its summary, your notes and full transcript. |
recent_meetings | List the most recent recordings. |
search_dictations | Search your dictations. |
get_action_items | List action items, filterable by status (open, completed, all) and owner. |
send_to_human | Show a message on your Mac and read a one-sentence version aloud. Needs Claude chat and ChatGPT turned on in the Mac app. |
ask_human | Ask you a question on your Mac and wait (2 minutes by default) for the answer you type. Returns mac_offline at once when no Mac is listening. |
get_account_info | Show which Eavesy account and connection the agent is using, its access, and when it expires. Useful when results look like they come from the wrong account. |
sign_out | Disconnect this connection. The agent only calls it when you ask; your other connections keep working. |
send_to_my_devices | Put text, such as a session handoff doc, in your Drop inbox on every device where Eavesy is open. Needs write access. |
save_note | Save Markdown as a note in your library, optionally under a project. It syncs to your signed-in Macs. Needs write access. |
update_action_item | Mark an action item done or open again, by the recording's ID and the item's index from get_action_items. Needs write access. |
set_project | File a recording, note or capture under a project, or take it out of one. Needs write access. |
rename | Give a recording, dictation, note or capture a new title. Needs write access. |
Library retrieval does not guarantee exhaustive coverage. Inspect quoted passages and retain any warnings about unanswered parts or context limits. Cloud answer availability depends on the deployment and account configuration.
send_to_human and ask_human read nothing from your library: they reach
you. Your answer goes back only to the agent that asked, as text, and never
approves anything. To get Claude or ChatGPT to use them, paste the
instructions from the Mac app's Settings → Connections → Messages from your
agents into a Claude project or ChatGPT's custom instructions.
sign_out ends the connection it's called from, the same as removing it in
Settings.
Send a handoff to your other computers
send_to_my_devices puts up to 5 MB of text straight into your Drop
inbox, and it appears right away on every device where you have Eavesy open.
It takes the text and an optional title, which becomes the first line. The
drop is labelled with the connection's name and kept for 7 days. It only
reaches your own inbox, and counts against your daily drop limit.
It needs a connection with write access: tick Also let it write when you approve the app, or Allow writes when you make a token. Then try "Write a handoff doc for this session and send it to my devices." and open Drop on your other computer.
Let an agent change your library
With write access, an agent can also keep what it writes and tidy what is there:
save_notekeeps Markdown, such as a plan or a decision log, as a note. Without atitle, the first line is used. Notes are up to 1 MB and count against your daily capture limit.update_action_itemticks off an action item. It takes the recording's ID and the item'sindexfromget_action_items. Pass the item'stexttoo: if the list has changed since the agent read it, the call is refused rather than changing the wrong item.set_projectandrenamechange a project or a title, the same as doing it in the web app.
None of them delete anything. Try "Save the plan we just agreed as an Eavesy note in the eavesy project."
The other tools only read, and are marked read-only so a client can choose to
run them without asking each time; whether it asks is up to the client.
ask_library counts against your daily AI answer quota.
search and recent return { items }, each with an id, kind
(meeting, dictation, note, image, video or audio), title,
excerpt, project and created_at, both as text and as structured content.
Dates are ISO 8601, like 2026-10-01; times without an offset are UTC, and a
bare until date includes that whole day. A search that includes recordings
or dictations also matches by meaning and counts against your daily search
quota; one over notes and captures only does not.
The older tool names say "meetings" because that is the name of a recording in
the data model. Everything has to be in your account to be found: recordings
from a Mac that isn't signed in are not available, nor are notes, screenshots
and images from a Mac that was signed out when you made them. Screenshots from
the Mac app are found by title only, since their text is read only in the web
app; get still returns the image. An agent with file access can read
anything from disk.
Requests are rate limited per connection. A read-only connection can't create,
edit, or delete anything in your library, and no connection can delete
anything from it. It can send you messages with
send_to_human and ask_human, which show only when you've turned them on in
the Mac app, and it can disconnect itself with sign_out.
Local media and client checks
The hosted server does not read arbitrary files from your Mac. Use an agent with local file access or attach media explicitly. Mac version 0.5.4 does not expose the newer local walkthrough MCP server.
After connecting, ask for a known recording title and inspect the result before relying on broader questions. If authorization fails, check that the client supports the configured transport and OAuth, then use the supported token setup only when necessary. Never paste a token into a public issue or a shared project file.
Next
Verify a connection with one known source
Ask the client for a recording with a title you recognize, then inspect its returned transcript or summary. Confirm that the source belongs to the intended account. Next ask one narrow question and open the supporting passage rather than treating a list of available tools as proof of useful retrieval.
For a local walkthrough, use the separate local connection. Hosted account retrieval and local screen-frame access are different data paths. If the agent cannot see a screenshot on your Mac, adding the hosted URL again will not grant filesystem access.
| Symptom | Check |
|---|---|
| Authorization repeats | Correct Eavesy account and completed client approval |
| Connected but intended recording absent | Account, recording completion, and retrieval scope |
| Local screenshot missing | Local file/image access or local walkthrough MCP |
| Answer has unsupported details | Source excerpt and surrounding passage |
These docs are open source. Spotted something wrong or missing?