Read-only access to your Haystack data from Claude, Cursor and GitHub Copilot. Nothing to install.
The connection inherits your access level. You see exactly what you already see in the web app, and nothing more.
This guide covers DORA, at dora.usehaystack.io. If you sign in at delivery.usehaystack.io, you are on Delivery — the setup guide for that is at help.usehaystack.io/features/mcp-server.
What you can ask about
Around 40 tools. The ones that do the most work on DORA:
Performance and trends — change lead time, development time, review time, release time, deployment frequency, change failure rate, throughput, PR size and weekend activity. Every figure comes with the previous period beside it, so "has this got better?" is answered in one question.
Risk counts — pull requests merged without review, waiting for review, waiting for merge, long cycle time, large diffs, too many discussions, concurrent work, commits without PRs.
Teams and people — team structure, membership, unassigned members, new joiners.
The difference from a dashboard is the second question. "Why did that go up?" costs you nothing, so you ask it.
Before you start
A Haystack account. The connection inherits your access level.
A Personal API Token. Created in your Haystack settings — step 1 below.
An MCP client. Claude Code, Claude Desktop, Claude on the web, Cursor, or VS Code with GitHub Copilot in agent mode.
1. Create your Personal API Token
At dora.usehaystack.io:
Sign in, then open Settings → API Tokens (
/app/settings/api-tokens).Click Create API Token and name it after the client, for example
Claude — laptop.Copy it immediately. The token is shown only once.
Settings → API Tokens. Existing tokens list a revoke action; Create API Token sits top right.
Treat the token like a password. Tokens are long-lived, read-only and revocable from the same page. Use one token per client, so revoking one does not break the others. Never commit a token, paste it into a ticket, or share it in chat. If a device or token is exposed, revoke it and create a replacement.
2. One server URL
https://mcp.usehaystack.io/mcp
Streamable HTTP, OAuth with automatic client registration.
Every client below connects to that same hosted endpoint. When your client sends you to the Haystack authorization page it asks for one thing: your Personal API Token. Paste it, submit, and you are returned to the client with the tools enabled.
The authorization page. Paste your token, click Authorize Access, and you are redirected back automatically.
3. Client setup
Claude Code (CLI)
claude mcp add --transport http -s user haystack https://mcp.usehaystack.io/mcp
Start Claude Code, run /mcp, select haystack → Authenticate, and paste your token in the browser page that opens. The entry then reads connected. -s user covers all your projects on this machine; -s local is this project only; -s project shares the entry with your team through .mcp.json, each teammate authenticating with their own token.
Claude Desktop, and Claude on the web
Open Settings → Connectors → Add custom connector, name it Haystack, enter the server URL, click Connect and paste your token on the Haystack page. Then enable Haystack from the tools menu in a new chat. On Team and Enterprise plans an admin may need to approve custom connectors first.
Cursor
Create ~/.cursor/mcp.json for all projects, or .cursor/mcp.json for one:
{ "mcpServers": { "haystack": { "url": "https://mcp.usehaystack.io/mcp" } }}
Open Cursor Settings → MCP & Integrations, click Connect or Needs login on the haystack entry, paste your token, then ask a question in Agent mode.
GitHub Copilot in VS Code
Create .vscode/mcp.json in the workspace, or run MCP: Add Server… from the Command Palette and choose HTTP:
{ "servers": { "haystack": { "type": "http", "url": "https://mcp.usehaystack.io/mcp" } }}
Click Start above the server entry, paste your token on the Haystack page, then open Copilot Chat in Agent mode and confirm haystack is ticked in the tools picker. Organizations with Copilot policy management may need an admin to allow MCP servers first.
4. Check that it works
Ask something that forces a tool call:
"Using Haystack, who am I and which organization am I in?"
"List my Haystack teams."
"What are our biggest risks over the last 30 days?"
If the assistant answers without calling a tool, tell it to use the Haystack tools explicitly, and check that the server shows as connected in your client's MCP panel.
5. Your first ten minutes
Start with the trend, because it is already built in. Every performance figure comes back with the previous period beside it:
"How has our change lead time moved this quarter compared with last?"
Then find where the time actually goes. Change lead time splits into development, review and release — and the answer is usually not where people assume:
"Break our change lead time into development, review and release time. Which one got worse?"
Ask the before-and-after. This is the question a dashboard cannot take, and the one DORA answers best:
"We changed [the thing] on [date]. Compare the eight weeks before with the eight weeks after."
Then make it a habit. Run this before a planning session or a leadership update and you walk in with the summary already written:
"Summarise our delivery performance over the last quarter, and tell me which risks moved."
6. Worth knowing
DORA risks are counts, not lists. You get the number of pull requests merged without review, waiting for review and so on — not the individual pull requests behind each count. The named-PR view is a Delivery feature.
A query that runs longer than 30 seconds fails. Narrow the date range or ask for fewer results and retry.
If something goes wrong
Connected, but no tools appear, or a 403. Get in touch and we will take a look, then reconnect the server in your client.
401 Unauthorized. The token was mistyped, revoked, or pasted with a trailing space. Create a fresh one and re-authenticate.
Config changes have no effect. Fully quit and relaunch the client. MCP config is read at startup only.
Every client fails at once. Suspect an outage rather than your setup. Get in touch instead of re-adding the server.
"Unable to reach the Haystack API". Usually a query that took too long rather than a connection problem. Narrow the date range or ask for fewer results, then retry.
Read-only, by design
Personal API Tokens are restricted server-side to read endpoints, so an assistant cannot change Haystack data. Tokens are held in memory on the MCP server to serve your session, never written to a database or logs. Revoking one in Haystack cuts access at the source; a cached copy can persist on the server for up to an hour.

