Cursor
Cursor has first-class MCP support. Drop a mcp.json file, restart
Cursor, and OAuth runs in your browser the first time the agent
reaches for Engram. For protocol background, see MCP.
Prerequisites
Section titled “Prerequisites”Before you start, confirm:
- You have an Engram account at app.engram.page.
- At least one vault is synced. Open the Obsidian plugin or the web app and confirm notes have synced within the last day.
- You can sign in via browser. The MCP auth flow opens a browser window.
Endpoint
Section titled “Endpoint”https://mcp.engram.page/api/mcp1. Edit mcp.json. Create or edit ~/.cursor/mcp.json
(user-global) or .cursor/mcp.json at your project root
(project-scoped, overrides global for the same server name):
{ "mcpServers": { "engram": { "url": "https://mcp.engram.page/api/mcp" } }}2. Restart Cursor. Fully quit (Cmd+Q / File → Exit) and
reopen. Window reload isn’t enough; MCP servers register at app
start.
3. Verify. Open Settings → Tools & MCP and confirm engram
shows in the server list.
First-run auth
Section titled “First-run auth”Cursor doesn’t prompt for OAuth on connect. It triggers on the
first tool call. Open a new chat and ask the agent to search
your Engram. Your browser opens to sign in to Engram and approve the
connection. Cursor stores the token and reuses it from there on. The
grant is the full mcp scope. Granular
per-action scopes are on the roadmap.
To skip OAuth (for headless or shared-vault setups), swap the block for an API key:
{ "mcpServers": { "engram": { "url": "https://mcp.engram.page/api/mcp", "headers": { "Authorization": "Bearer ${env:ENGRAM_API_KEY}" } } }}Get a key at app.engram.page/settings/api-keys.
Tell Cursor how to use it
Section titled “Tell Cursor how to use it”Add the snippet below to your Cursor Rules: ~/.cursor/rules
(user-scoped) or a .cursor/rules/*.mdc file in a project.
Engram holds my personal notes — treat it as your long-term memory of me. Search it when a question depends on context I might have shared before. Before saving or updating a note, ask first.Try it
Section titled “Try it”Once connected, ask Cursor’s agent:
- Search my vault for notes about the engineering interview process and summarize the top three.
- Find anything I wrote about embeddings in the last month.
Cursor calls Engram’s search (or get_note, write_note, etc.)
tool, pulls back results, and answers in-context. If the tool fires,
you’re set.
Troubleshooting (Cursor specific)
Section titled “Troubleshooting (Cursor specific)”- Two
engramentries in Tools & MCP. The server is defined in both~/.cursor/mcp.jsonand.cursor/mcp.json. Remove one (project-scoped wins). - Server shows in Settings but agent never calls it. Known
global-config injection issue on some Cursor builds. Workaround:
move the config to project-level
.cursor/mcp.json. - OAuth never prompts. The agent hasn’t invoked a tool yet.
Force it: ask the agent to call the engram
searchtool by name. If still silent, restart Cursor; stale connection state can block the first call.
For cross-client failures, see Troubleshooting.
Revocation
Section titled “Revocation”To disconnect Cursor from Engram:
- In Cursor, find the connector or MCP server entry and remove it.
- In Engram, open your account → API Keys & Sessions and revoke the matching session.
- The OAuth token is invalidated server-side. Cursor will need to re-authenticate to reconnect.
To remove it client-side, delete the engram block from your
mcp.json and restart Cursor.