Lockstep for Cursor
Lockstep gives Cursor the binding product decisions it needs before it writes code, so your agent stops shipping changes that conflict with calls the team already made.
What Lockstep captures from Cursor
- binding constraints delivered as agent context
- decisions surfaced via MCP before edits
- drift caught when generated code conflicts
How the loop runs
Lockstep captures the decision from Cursor, routes it to its owner for one-click confirmation that makes it binding, then briefs every engineer and every AI coding agent before they touch the code, and flags any pull request that drifts from it. See the full pipeline on how it works.
How to set up Lockstep for Cursor
- Install the CLI with npm install -g lockstep-cli, then run lockstep login.
- Run lockstep onboard inside your repo to link it to a Lockstep project.
- Add the Lockstep MCP server to .cursor/mcp.json, with LOCKSTEP_VENDOR set to cursor (snippet below).
- In a session, Cursor calls get_product_context for the surface it's working on, or session_briefing for what changed and what's binding.
- Run lockstep status to check auth and config health.
Install the MCP server
Lockstep's MCP server ships in the lockstep-cli npm package and runs over stdio as lockstep mcp. Install the CLI, link your repo, then add the server to Cursor's MCP config.
Install, sign in, and link your repo
npm install -g lockstep-cli
lockstep login
lockstep onboardAdd to .cursor/mcp.json in your project (or ~/.cursor/mcp.json for every project)
{
"mcpServers": {
"lockstep": {
"command": "npx",
"args": ["-y", "lockstep-cli", "mcp"],
"env": { "LOCKSTEP_VENDOR": "cursor" }
}
}
}lockstep onboard wires session hooks automatically for Claude Code today. In Cursor, add the server by hand as above.
Listed on the MCP registry as io.github.lockstep-team-agent/lockstep. Package on npm, source on GitHub.
Example: a decision captured from Cursor
Illustrative example
In the record
An accepted decision: "Exports expire after 24 hours, except internal previews."
In Cursor
Asked to add share links for exports, Cursor calls get_product_context for the exports scope and gets that constraint back before editing.
Result
The generated code sets a 24-hour expiry and exempts internal previews. If it hadn't, the PR check would flag the change before merge.
Access & trust
MCP server exposing get_product_context; read-only.
What Lockstep reads
- The decision record of the project your repo is linked to, through MCP tools such as get_product_context (read-only)
What Lockstep never does
- Storing your source code: the ledger holds decisions and their source anchors
- Running hosted code checks unless you opt in (lockstep checks on)
Full details on the security page.
Frequently asked questions
- How does Cursor get the team's decisions?
- Through Lockstep's MCP server. Cursor calls get_product_context for the capability or surface it's working on and receives the binding decisions that govern it, ranked by how directly they apply.
- Does Lockstep capture decisions Cursor makes mid-session?
- Automatic session capture ships for Claude Code today; Cursor reads the record over MCP and can write decisions through the same tools, with adapters for more agents on the roadmap. Either way, the PR check backstops anything missed in-session.
- Does Cursor get a briefing automatically at session start?
- Not yet. Session-start hooks ship for Claude Code today. In Cursor, the agent reads the record through MCP tools: get_product_context for the surface it's working on, and session_briefing for what changed and what's binding.
Related reading
Other integrations