ravn
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 Read the docs

Setup

Add Ravn to Cursor

  1. / 01

    Get a key

    Create a key after you sign up with an email code, or run npx ravn login. Keys start with rw_live_.

  2. / 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.

  3. / 03

    Paste the server entry

    Add the JSON below. If the file already has mcpServers, add only the ravn block inside it.

  4. / 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.

  5. / 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 and the JavaScript guide.

Quick account research. Ask for a company profile from a domain with the website scraper 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; the full tool list is on the MCP server page.

FAQ

Common questions.

All questions →

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.