IntegrationUpdated

Connect Cursor to your backlog

Stride is a backlog MCP server for Cursor. It 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

Sign in with your Stride account and there is nothing to copy. For CI and other runs that cannot open a browser, use an agent key instead.

Sign in with your Stride account

  1. Click Add to Cursor: Cursor opens and asks you to confirm the install. Or paste the config below into ~/.cursor/mcp.json (global) or .cursor/mcp.json (this repo only).
  2. Open Customize → MCPs in Cursor, where Stride shows that it needs to sign in, and follow its prompt. Your browser opens to Stride.
  3. Sign in, choose the project Cursor works in and the projects it can reach, and click Allow. You can disconnect it at any time in Settings → Integrations → Connected apps.
{
  "mcpServers": {
    "stride": {
      "url": "https://www.stride.page/api/mcp/stride"
    }
  }
}

Or install the Stride plugin: /stride-next and /stride-done

The plugin adds the same server and two skills. /stride-next picks up your next story (the one a teammate staged for you, or the top one assigned to you) with its full spec and starts it. /stride-done checks the work against the story’s acceptance criteria and moves it to In Review. Copy the cursor folder of the Stride plugins repository to ~/.cursor/plugins/local/stride and run Developer: Reload Window.

Or use an agent key

  1. In Stride, open Settings → Integrations → Cursor and generate a scoped agent key.
  2. On the same screen, click Add to Cursor: Cursor opens and asks you to confirm the install. Or paste the config below into ~/.cursor/mcp.json (global) or .cursor/mcp.json (this repo only).
  3. Export the key in the shell that launches Cursor, then restart it. Stride then appears under Customize → MCPs.
{
  "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 Stride rejects every call. Copy the config from the connect flow and this cannot happen.

What the agent can do

Stride exposes 131 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".

ModuleRepresentative tools
Planread 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
Verifycreate test cases, fetch test runs, rerun failed tests, run quality-gate checks, get defects
Designread architecture diagrams (ERD, BPMN, C4 levels) and link them to stories; create / update / search documents and ADRs, append to a document
Optimizeget processes, list process insights, read delivery KPIs
Workspacelist 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.

Good to know

Checked against Cursor’s documentation on October 24, 2026.

Frequently asked questions

How do I connect Cursor to Stride?

Click "Add to Cursor" on this page, or in Stride under Settings → Integrations → Cursor, which opens Cursor and asks you to confirm the install; or give mcpServers.stride the url https://www.stride.page/api/mcp/stride in your mcp.json by hand. Then open Customize → MCPs in Cursor, where Stride shows that it needs to sign in, and follow its prompt: you sign in to Stride in your browser and choose the projects it can reach, so there is no key to copy. Or install the Stride plugin for /stride-next and /stride-done. For CI and other runs that cannot open a browser, generate an agent key on that screen instead.

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. When both name the same server, the project file wins. Stride’s connect flow gives you the exact JSON for either, and Customize → MCPs in Cursor shows your servers.

My Cursor connection returns 401 — what is wrong?

Signed in, it means the sign-in ended (it was disconnected in Stride, or not used for 30 days): sign in again from Customize → MCPs. With an agent key, it is 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, make sure STRIDE_AGENT_KEY is exported in the shell that launched Cursor, and restart Cursor after changing it.

Can Cursor handle 131 tools from one server?

Yes. Since Cursor 2.4, agents load MCP tools only when they need them, and Cursor 3.22 stopped agents with many MCP tools failing on a model’s tool limit. You can still switch off tools you do not use from the tools list at the top of the chat panel.

Is the MCP access permission-scoped?

Every MCP tool call is RBAC-gated by Stride’s dispatcher before the handler runs. A signed-in app and an agent key alike carry an explicit project scope, each workspace member connects their own, and every action is recorded in the audit log as via: "mcp" against the member who connected it.

How do I tell which agent made a change?

Each connection 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, sign in the same way 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 connection and its own run history.

Which plan includes the MCP server?

Every paid plan includes MCP access, the public API, and webhooks. Starter includes one API or agent key and one webhook; Pro and Enterprise increase those limits. An app you sign in uses one agent key. See the pricing page for the full breakdown.

Create a workspace, then sign in from Cursor to connect it to the delivery record.

Get started

Other integrations

See the full integration catalog →

Defined in our glossary
Related reading
Guides for working with coding agents