# Cursor MCP Server for Contact Data — Ravn

Canonical: https://askravn.com/integrations/cursor

Integrations · Cursor

# 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.
[Start free: 1,000 lookups](https://askravn.com/#start) [Read the docs](https://askravn.com/docs)

Setup
## Add Ravn to Cursor

- / 01
### Get a key
Create a key after you [sign up with an email code](https://askravn.com/pricing), or run `npx ravn login`. Keys start with `rw_live_`.
- / 02
### Pick global or project config
Cursor reads `~/.cursor/mcp.json` for every project and `.cursor/mcp.json` inside 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 the `ravn` block 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.
Config
## ~/.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_…"
}
}
}
}
```

Recipes
## 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](https://askravn.com/docs#envelope) and [the JavaScript guide](https://askravn.com/integrations/javascript).
Quick account research. Ask for a company profile from a domain with [the website scraper](https://askravn.com/features/website-scraper-api) without leaving the editor.
Good to know
## 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](https://askravn.com/pricing); the full tool list is on [the MCP server page](https://askravn.com/mcp-server).
FAQ
## Common questions.
[All questions →](https://askravn.com/faq)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](https://askravn.com/integrations)
Every page uses the same account, plan and tools. [See pricing →](https://askravn.com/pricing)
- [Google Sheets Email VerificationVerify a column of emails in Google Sheets with an Apps Script custom function that calls Ravn, with your key kept in Script Properties..](https://askravn.com/integrations/google-sheets)
- [HubSpot Email Verification & EnrichmentVerify and enrich HubSpot contacts with Ravn: export a CSV, run npx ravn enrich, import the results back, or let Claude do it with both connectors..](https://askravn.com/integrations/hubspot)
- [JavaScript & Node.js Email Verification APICall Ravn from Node with built-in fetch: a small typed-free client that branches on status, waits on 429 Retry-After and throws clear error codes..](https://askravn.com/integrations/javascript)
- [Make.com Email Verification & EnrichmentCall Ravn from a Make scenario with the HTTP app’s Make a request module: JSON body, Bearer header, parsed response you can map and filter..](https://askravn.com/integrations/make)
- [n8n Email Verification & EnrichmentUse the n8n HTTP Request node with Header Auth to verify emails, find work addresses and enrich companies with Ravn inside any n8n workflow..](https://askravn.com/integrations/n8n)
- [Python Email Verification API ClientCall Ravn from Python with requests: one POST per tool, branch on status, retry 429 using Retry-After, and turn error codes into clear exceptions..](https://askravn.com/integrations/python)
