Connect Claude Code to Earkeep
Last updated: · Reviewed quarterly
Earkeep runs a small MCP server so other tools on your machine can search and read your saved meetings. Claude Code speaks the transport it uses directly, so connecting the two is a single command with no bridge in the middle. Once it is added, you can ask Claude Code about a meeting the way you would ask it about a file.
What you are connecting to
The server is always on while Earkeep is running, and it listens on 127.0.0.1 and nothing else. That loopback binding is the security model: there is no address at which anything off your device could reach it.
It offers two tools, and both are read-only. Nothing connected here can create, edit or delete a meeting.
search_spansfinds saved meetings by a case-insensitive match on their title or notes, or lists all of them when you don't give it a query. Newest first, twenty at a time.read_spantakes one meeting's id and returns that meeting plus the transcript lines it covers.
Worth knowing before you write a prompt: search matches titles and notes, not the words inside transcripts. So "find the meeting about pricing" works when the meeting is called that, and the way to search the actual conversation is to read the meetings back and let the model do it, or to grep the files on disk yourself.
Set it up
Run this in your terminal, with Earkeep running:
claude mcp add --transport http earkeep http://127.0.0.1:8730/mcp
That adds it for the current project. Add --scope user to make it available in every project instead:
claude mcp add --scope user --transport http earkeep http://127.0.0.1:8730/mcp
If you changed the port. The address above is the default. Earkeep shows its real one: press MCP at the bottom of the left rail, and the Connect apps panel gives you the address and this same command with the right port already in it, ready to copy.
Check it works
- Confirm the server is registered:
claude mcp list
Then ask Claude Code for something only Earkeep can answer. Anything that requires it to go looking will do:
"Use the earkeep tools to list my most recent meetings, then read the latest one and summarise what was decided."
If it comes back with real meeting titles from your own week, the connection is live.
If something goes wrong
The connection fails or the tools don't appear. Earkeep has to be running: the server lives inside the app, so a closed app is a closed port. Check the app is open, then check the address matches the one in the Connect apps panel.
The port is wrong. If another application was already using the default port when Earkeep started, Earkeep's own setting is the one to trust. Open Settings → General to see or change the MCP server port. A change takes effect when you restart Earkeep, and you will need to re-add the server with the new address.
It connects but finds nothing. The server searches saved meetings. A day that was captured but never had a span kept from it has nothing to find, so keep a meeting first and try again.
You want it gone. Remove it the way you added it:
claude mcp remove earkeep
Related
- Set up Claude Code as an in-app agent: the other direction, where Claude Code runs inside Earkeep beside the meeting and needs no MCP setup at all.
- Agents and MCP: why both exist and what each is for.
- Local RAG: querying your meeting history when you want more than metadata search.
- All Earkeep how-tos.
Frequently asked questions
Do I need this if I already run Claude Code inside Earkeep?
No. An agent started from Earkeep's own panel already has the meeting in hand, and the MCP server is wired into that session automatically. This page is for the other direction: Claude Code in your terminal, reaching back into your meeting history.
Can it change or delete my meetings?
No. The server is read-only. It can search meetings and read them, and there is no tool for anything else.
Does this send my transcripts to Anthropic?
Earkeep's side stays on your device: the server listens on loopback and nothing leaves the machine through it. What happens next is Claude Code's business, and like most agents it calls its model provider's API, so a transcript you ask it to read is a transcript you have sent to that provider. That choice is yours to make per prompt.
Why can't it search what was said inside a meeting?
The server searches span metadata, meaning titles and notes. Transcripts are plain files on your own disk, so searching their contents is what grep is for, or you can have the agent read meetings back and search them itself.
Does the server need an account or an API key?
No. It listens on your own machine and has nothing to authenticate against.
Your meetings, where you already work
14-day full trial, no account required.