Ravn in Cursor, via mcp.json
Add a ravn entry to .cursor/mcp.json pointing at https://api.askravn.com/mcp with your key in the Authorization header. Cursor’s agent then lists the Ravn tools and can call them from chat.
Add Ravn to Cursor
- / 01
Get a key
Create a key after you sign up with an email code, or run
npx ravn login. Keys start withrw_live_. - / 02
Pick global or project config
Cursor reads
~/.cursor/mcp.jsonfor every project and.cursor/mcp.jsoninside a project. Prefer the global file so the key never sits inside a repository. - / 03
Paste the server entry
Add the JSON below. If the file already has
mcpServers, add only theravnblock inside it. - / 04
Check it loaded
Open Cursor’s settings and find the MCP section. Ravn should show as enabled with its tools listed. If it shows an error, the JSON is invalid or the key is wrong.
- / 05
Use it from the agent
In the agent chat ask “Use Ravn to check whether billing@acme.com is a role account.” Approve the tool call when Cursor asks.
~/.cursor/mcp.json
Replace the placeholder with your own key. Remote MCP over Streamable HTTP needs only a URL and a header.
{
"mcpServers": {
"ravn": {
"url": "https://api.askravn.com/mcp",
"headers": {
"Authorization": "Bearer rw_live_…"
}
}
}
}Where it helps while coding
Seed data that is real. Ask the agent to verify the email addresses in a fixtures file and flag disposable or role accounts before they end up in a demo.
Build the integration with the tools in view. Because the agent can call validate_email directly, it can show you the exact response shape while it writes your handler. Pair it with the response envelope reference and the JavaScript guide.
Quick account research. Ask for a company profile from a domain with the website scraper without leaving the editor.
How the agent sees Ravn
Once the server loads, Cursor’s agent reads the name, description and input schema of each of the 25 tools. It picks one the same way it picks any tool: from what you asked. Say what you want in plain words (“check these addresses”, “who runs finance at acme.com”) rather than naming tools.
Every tool returns the same envelope: status, results and metadata with the lookups used. A miss is not_found and free. If the agent hits a limit it gets a clear error code, such as fair_use_exhausted, or provider_key_required when a people or company tool needs your own provider key, and can tell you instead of retrying blindly. Plans and limits are on the pricing page; the full tool list is on the MCP server page.
Can teammates share one Cursor setup?
Each person should use their own key in their own global mcp.json. That keeps usage per person visible in get_usage and means one person leaving never means rotating everyone’s key.
Is it safe to put the key in .cursor/mcp.json?
Only if that file is outside version control. Use ~/.cursor/mcp.json, or add .cursor/mcp.json to .gitignore. If a key leaks, revoke it and create a new one; we store keys hashed, so we cannot show an old one again.
Does Cursor support sign-in instead of a key?
Ravn’s MCP server supports OAuth sign-in. Whether your Cursor version offers a sign-in flow for remote servers depends on the version, so the header shown here is the reliable path.
Will every agent request use a lookup?
No. Only tool calls count, and only when they return data. A not_found gives the lookup back, and account tools like get_usage are free.
More in integrations
Every page uses the same account, plan and tools. See pricing →