Agents

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.com

Claude.ai and Claude Desktop

  1. Open Settings → Connectors and choose Add custom connector.
  2. Name it Eavesy and paste https://mcp.eavesy.com as the URL.
  3. Select Connect. Sign in to Eavesy and approve the connection.

If the menus have moved, follow Anthropic's guide to custom connectors.

ChatGPT

  1. Turn on developer mode under Settings → Apps & Connectors → Advanced.
  2. Create a connector with https://mcp.eavesy.com as the URL and OAuth as the authentication.
  3. 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.com

Then 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@eavesy

Other 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:

  1. Sign in to the web app and open Settings → AI assistants (MCP).
  2. Tick Allow writes only if this connection should be able to write.
  3. 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

ToolWhat it does
searchSearch everything in your library: recordings, dictations, notes, screenshots and other captures. Filter by kinds, project, and a since/until date range.
recentList your newest items, with the same filters. Good for "my last call" or "screenshots from this week".
getGet 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_libraryRetrieve source passages from completed account recordings, with segment IDs and timestamps.
ask_libraryAnswer from supported recording evidence when cloud answers are enabled; can abstain or report context limits.
list_projectsList the projects available to the connection.
search_meetingsSearch recordings by title or transcript. Returns matches with an excerpt.
get_meetingGet one recording by ID, with its summary, your notes and full transcript.
recent_meetingsList the most recent recordings.
search_dictationsSearch your dictations.
get_action_itemsList action items, filterable by status (open, completed, all) and owner.
send_to_humanShow a message on your Mac and read a one-sentence version aloud. Needs Claude chat and ChatGPT turned on in the Mac app.
ask_humanAsk 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_infoShow 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_outDisconnect this connection. The agent only calls it when you ask; your other connections keep working.
send_to_my_devicesPut text, such as a session handoff doc, in your Drop inbox on every device where Eavesy is open. Needs write access.
save_noteSave Markdown as a note in your library, optionally under a project. It syncs to your signed-in Macs. Needs write access.
update_action_itemMark 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_projectFile a recording, note or capture under a project, or take it out of one. Needs write access.
renameGive 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_note keeps Markdown, such as a plan or a decision log, as a note. Without a title, the first line is used. Notes are up to 1 MB and count against your daily capture limit.
  • update_action_item ticks off an action item. It takes the recording's ID and the item's index from get_action_items. Pass the item's text too: if the list has changed since the agent read it, the call is refused rather than changing the wrong item.
  • set_project and rename change 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.

Note

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.

SymptomCheck
Authorization repeatsCorrect Eavesy account and completed client approval
Connected but intended recording absentAccount, recording completion, and retrieval scope
Local screenshot missingLocal file/image access or local walkthrough MCP
Answer has unsupported detailsSource excerpt and surrounding passage

These docs are open source. Spotted something wrong or missing?