# Install drillr MCP

drillr's MCP server is a hosted Streamable HTTP endpoint with browser OAuth. There is no package to
install, no repository to clone, and no API key to copy.

- Server name: `drillr-data`
- URL: `https://gateway.drillr.ai/mcp/data`
- Transport: Streamable HTTP
- Authentication: browser OAuth (no static headers)
- Permission shown on the consent screen: **drillr Data**

Signing in at [drillr.ai](https://drillr.ai) once, before or during setup, is all the account setup
there is.

## Let a coding agent set it up

Paste this into Claude Code, Codex, Cursor, or anything else with a shell. It works out which
client it is and hands back the steps that are yours — the browser Allow click, and one restart.

```text
Please install the drillr MCP server for me and walk me through the sign-in: server drillr-data, url https://gateway.drillr.ai/mcp/data, auth browser OAuth.

Use my client's own MCP command to add it (claude mcp add / codex mcp add / my editor's MCP config — whichever applies to you). Then tell me the steps that are mine: MCP tools only load at startup so I'll need to restart, and the browser Allow click is mine to make. Per-client details if you want them: https://drillr.ai/developer/mcp-install.md Reply in the language I'm using with you.
```

The rest of this page is the same information per client, for setting it up by hand.

## Codex

```bash
codex mcp add drillr-data --url https://gateway.drillr.ai/mcp/data
```

Codex detects OAuth support and starts the flow from this one command. It prints an authorization
URL and waits for the browser callback, so leave it running. Open the URL, sign in, and approve
**drillr Data**; the command reports `Successfully logged in` on its own.

Codex loads MCP tools when a session starts, so exit Codex and start a new session before using the
tools. `codex mcp login drillr-data` re-runs the browser flow later if a credential expires.

## Claude Code

```bash
claude mcp add --scope user --transport http drillr-data https://gateway.drillr.ai/mcp/data
```

Claude Code reads MCP servers at startup, so quit Claude Code and start it again. Then run `/mcp`,
select `drillr-data`, choose `Authenticate`, sign in, and approve **drillr Data** in the browser.
The panel reports `Authentication successful` and the tools are usable in that same session.

`claude mcp login drillr-data` does the same thing from a terminal prompt. It needs a real terminal
and exits with `stdin isn't a terminal` when something else runs it, which is why authorization here
belongs to the `/mcp` panel.

## Cursor

Add to `.cursor/mcp.json` in the project (or `~/.cursor/mcp.json` for every project), then approve
**drillr Data** when the browser opens:

```json
{
  "mcpServers": {
    "drillr-data": {
      "url": "https://gateway.drillr.ai/mcp/data"
    }
  }
}
```

## VS Code

VS Code reads a different file with a different shape — `.vscode/mcp.json`, top-level key
`servers`. Save it, click **Start** above the entry, and approve **drillr Data** in the browser:

```json
{
  "servers": {
    "drillr-data": {
      "type": "http",
      "url": "https://gateway.drillr.ai/mcp/data"
    }
  }
}
```

## Claude Desktop

Remote servers are custom connectors, added in the app rather than in a config file:
**Settings → Connectors → Add custom connector**, name it `drillr-data`, paste
`https://gateway.drillr.ai/mcp/data`, click Add, then **Connect** and approve **drillr Data** in
the browser.

## Other MCP clients

Any OAuth-capable MCP client works with the same URL. Clients that read a JSON config take:

```json
{
  "mcpServers": {
    "drillr-data": {
      "type": "http",
      "url": "https://gateway.drillr.ai/mcp/data"
    }
  }
}
```

Clients without OAuth support take an API key from
[drillr.ai/account/api-keys](https://drillr.ai/account/api-keys) as a bearer header on the same
endpoint:

```json
{
  "mcpServers": {
    "drillr-data": {
      "type": "http",
      "url": "https://gateway.drillr.ai/mcp/data",
      "headers": { "Authorization": "Bearer drl_your_key_here" }
    }
  }
}
```

That is a fallback for those clients, not the default path: an OAuth-capable client needs no key
at all.

## Check that it works

Ask for a free, read-only lookup:

```text
Use drillr-data to look up the ticker for Apple
```

A result naming Apple Inc. and AAPL confirms the server is configured and authorized.

## Troubleshooting

- **The browser did not open.** Use the authorization URL the client printed.
- **The new tools are missing.** Both clients load MCP tools at startup. Start a new session.
- **`401` or expired authentication.** Re-run the client's own flow: `/mcp` then `Re-authenticate`
  in Claude Code, or `codex mcp login drillr-data`.
- **`404`.** Confirm the URL is exactly `https://gateway.drillr.ai/mcp/data`.
- **`403`.** Either a static auth header is mixed into an OAuth entry, or the credential was issued
  for a different drillr server. Remove the entry, add it again without headers, and authorize it.
- **The browser said the account is not authorized for drillr Data.** That is a permission answer,
  not a setup fault. Contact support rather than retrying setup.

## More

- Install page, one tab per client: <https://drillr.ai/docs/mcp>
- Full API reference: <https://drillr.ai/docs>
