Cursor
Capture Cursor's Agent through the proxy and give it recall via MCP, one workspace per repo.
Cursor anchors its agent to the repo you open, and MarkDB mirrors that: create one workspace per repo, mint that workspace's key and use the same key for both capture and recall inside that repo.
Capture: route the Agent through the proxy
In Cursor settings, add a custom OpenAI-compatible model with:
- Base URL:
https://proxy.markdb.cloud/v1 - API key: the workspace's
mk_live_...key - Model: any model MarkDB is configured for, e.g.
gemini-3.6-flash
Cursor sends standard /v1/chat/completions traffic, which MarkDB captures and
dispatches natively to the underlying provider.
Chat continuity
Cursor replays the full conversation on every request and rotates its session id each time. MarkDB derives a stable chat key from the opening messages, so a long Cursor chat stays one continuous thread instead of fragmenting, and repeated history is de-duplicated rather than re-stored. If the chat sits idle for more than three hours, the next message opens a fresh session under the same chat key, which marks the break between sittings.
Recall: add the MCP server to the repo
Save a project-scoped MCP config inside the repo so the memory tools are available whenever Cursor is open there:
// .cursor/mcp.json
{
"mcpServers": {
"markdb": {
"url": "https://mcp.markdb.cloud/mcp",
"headers": { "Authorization": "Bearer mk_live_xxx" }
}
}
}Don't commit your key
.cursor/mcp.json lives inside the repo. Add it to .gitignore, or replace the
literal with ${env:MARKDB_API_KEY} and export the key in your shell instead.
Working across multiple repos
Create one workspace per repo and mint one key per workspace. Each repo's config carries its own key, so capture and recall stay partitioned per repo. Opening a different project in Cursor switches memory automatically.
Verify
Start a chat in Cursor, then open the Work log. You should see the conversation labeled with its workspace, with user and assistant turns captured as you go.