unlob Docs
Browse documentation

Cursor

One JSON file, project or global.

Configuration

Cursor reads mcp.json. Put it in the project at .cursor/mcp.json, or globally at ~/.cursor/mcp.json.

{
  "mcpServers": {
    "unlob": {
      "url": "https://api.unlob.com/mcp",
      "headers": { "x-api-key": "ulb_…" }
    }
  }
}

Then Settings → MCP (or Tools & Integrations, depending on your version), where unlob should appear with a green indicator and eleven tools. Toggle it on if it is not already.

Keep the key out of the repository

.cursor/mcp.json is a project file, and project files get committed. Either add it to .gitignore, or use the global ~/.cursor/mcp.json and share only the fact that the server exists.

Cursor’s environment-variable expansion in this file has varied between versions; if ${UNLOB_API_KEY} arrives literally rather than expanded, that is why. A committed literal key is not a disaster — rotate it in the console — but it is better avoided.

If the remote form does not work

Older builds only spawn stdio servers. Bridge it:

{
  "mcpServers": {
    "unlob": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://api.unlob.com/mcp",
               "--header", "x-api-key:ulb_…"]
    }
  }
}

No space after the colon — argument splitting eats it.

Using it

Cursor’s agent picks tools from the task. Being explicit helps:

Use unlob to find corroborated reporting on this, then tell me which sources are independent.

Add the habits to .cursorrules if you use it often:

When using unlob: prefer assemble_context for open questions, web_search for
specific pages. Run corroborate before stating something as established.

Next