Connect Cursor 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. Cursor speaks the transport it uses directly, so this is one entry in one JSON file with no bridge in the middle. Add it globally, or per project when only one repository needs it.
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.
Set it up
Add the entry to ~/.cursor/mcp.json for every project, or to .cursor/mcp.json inside one repository for just that project. Cursor's own Settings → MCP → Add new global MCP server opens the first of those files for you.
{
"mcpServers": {
"earkeep": {
"url": "http://127.0.0.1:8730/mcp",
"type": "streamableHttp"
}
}
}
If you already have other servers in there, add earkeep beside them inside the existing mcpServers object rather than adding a second one.
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 this same block with the right port already in it, ready to copy.
Per project or global? Global if you want a meeting to be one question away wherever you are working. Per project when the meetings only matter to one repository, or when you share a machine and would rather not have the connection present by default.
Check it works
Open Settings → MCP in Cursor. Earkeep should be listed with its tools discovered. Then ask for something only it can answer:
"Use the earkeep tools to find the last meeting about this project and turn what was decided into a checklist."
Real titles from your own week mean the connection is live.
If something goes wrong
Earkeep doesn't appear in the MCP list. Three things in order: the app has to be running, the file has to be valid JSON, and Cursor may need reopening. A trailing comma is the usual culprit, and it fails silently.
It is listed but shows no tools. That is a connection failure rather than a configuration one. Check Earkeep is open, and check the port against Settings → General in the app.
The project file isn't being read. A per-project .cursor/mcp.json applies to the folder you opened. Opening a subfolder of the repository leaves it out of scope.
It connects but finds nothing. The server searches saved meetings, so a day that was captured but never had a span kept from it has nothing to find.
Related
- Set up Cursor Agent inside Earkeep: the other direction, where the agent runs beside the meeting and needs no MCP setup at all.
- Agents and MCP: why both exist and what each is for.
- All Earkeep how-tos.
Frequently asked questions
Global or per project?
Global puts your meeting history one question away in every project. Per project keeps it scoped to the repository it matters to. Both use the same entry; only the file differs.
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 Cursor?
Earkeep's side stays on your device: the server listens on loopback and nothing leaves the machine through it. Cursor calls its model provider's API, so a transcript you ask it to read is a transcript you have sent to that provider.
Do I have to keep Earkeep open?
Yes. The MCP server lives inside the app, so it answers only while the app is running.
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.