Integration
Connect Cursor to your backlog
Stride exposes your backlog over the Model Context Protocol (MCP), so Cursor reads and writes real stories, sprints, tests, and architecture decisions — working from your connected delivery graph instead of context pasted into a chat window.
Why Cursor needs your backlog
Cursor already sees your repository. What it cannot see is why the code is the way it is: the acceptance criteria the story was scoped against, the architecture decision that rules out the obvious refactor, the test cases that already cover the edge case, the sibling stories in the same sprint. Stride hands the agent that structured context over MCP, so it implements the feature you actually specified rather than a plausible reading of the diff.
How to connect it
- In Stride, open Settings → Integrations → Cursor and generate a project-scoped agent key.
- Click Add to Cursor for a one-click install, or paste the config below into ~/.cursor/mcp.json (global) or .cursor/mcp.json (this repo only).
- Export the key in the shell that launches Cursor, then restart it.
{
"mcpServers": {
"stride": {
"url": "https://www.stride.page/api/mcp/stride",
"headers": {
"Authorization": "Bearer ${env:STRIDE_AGENT_KEY}"
}
}
}
}One detail is worth reading twice, because it fails silently: Cursor interpolates environment variables as ${env:NAME}, not the bare ${NAME} form Claude Code uses. Adapt a Claude Code config by hand and Cursor will send the literal characters as your Authorization header, and every call comes back 401 with nothing on screen explaining why. Copy the config from the connect flow and this cannot happen.
What the agent can do
Stride exposes 116 RBAC-gated tools across all four modules — the same set Claude Code and Codex get. Every call is permission-checked by the dispatcher before it runs, and every write lands in the audit log as via: "mcp".
| Module | Representative tools |
|---|---|
| Plan | read a story’s full spec in one call (acceptance criteria, designs, docs, tests); create / update / search stories, epics, sprints, releases; bulk-update; open a GitHub draft PR from a story |
| Verify | create test cases, fetch test runs, rerun failed tests, run quality-gate checks, get defects |
| Design | create / update / search documents and ADRs, append to a document |
| Optimize | get processes, list process insights, read delivery KPIs |
| Workspace | list members, manage labels, attachments, reactions, end session |
You can always tell it was the agent
Every agent key gets its own identity. Work Cursor does shows up as Cursor agent — <project>, carrying the Cursor mark as its avatar, wherever an author appears: comments, the activity feed, notifications, and the Reporter field on stories it creates. Run history for each key lives in Settings, down to the individual tool call. Nothing an agent does is filed under a teammate’s name.
Frequently asked questions
How do I connect Cursor to Stride?
In Stride, open Settings → Integrations → Cursor and generate a project-scoped agent key. Then either click "Add to Cursor", which installs the Stride MCP server for you, or paste the config into your mcp.json by hand. Cursor discovers Stride’s tools automatically over MCP. There is no plugin to install.
Where does the Cursor MCP config live?
Cursor reads ~/.cursor/mcp.json for a global server list, or .cursor/mcp.json in a project root to scope the server to one repo. Stride’s connect flow gives you the exact JSON for either.
My Cursor connection returns 401 — what is wrong?
Almost always the interpolation syntax. Cursor substitutes environment variables written as ${env:NAME}, not the bare ${NAME} form Claude Code uses. Given the bare form Cursor sends the literal characters as the header value and Stride rejects it. Copy the config from the connect flow rather than adapting a Claude Code one, and make sure STRIDE_AGENT_KEY is exported in the shell that launched Cursor.
Is the MCP access permission-scoped?
Every MCP tool call is RBAC-gated by Stride’s dispatcher before the handler runs. AGENT keys carry an explicit project scope, each workspace member holds their own key, and every action is recorded in the audit log as via: "mcp" against the member who created the integration.
How do I tell which agent made a change?
Each agent key gets its own bot identity, so Cursor’s writes appear as "Cursor agent — <project>" with the Cursor mark as the avatar, in comments, the activity feed and the story’s Reporter field. Claude Code and Codex appear the same way under their own marks.
Does Stride work with Claude Code and Codex too?
Yes. All three runtimes hit the same MCP endpoint and get the same tool surface; only the config file format differs. You can connect more than one at the same time, and each gets its own key and its own run history.
Which plan includes the MCP server?
The MCP server, public API, and webhooks are included on the Pro plan and Enterprise. See the pricing page for the full breakdown.
- How AI writes acceptance criteria (and where it fails)The honest map of where AI is dramatically better than humans at writing acceptance criteria, and the five places it confidently writes garbage. Plus the prompts that work.10 min read
- The connected delivery graph: one source of truth from PRD to prodMost teams ship software with five tools that don't talk to each other. The friction isn't any individual tool. It's the missing graph between them. This is the case for one connected graph.9 min read