> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firecrawl.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Keyless and API key MCP

> Start on shared free limits in under a minute, or add an API key for stable unattended access.

## Try instantly

Keyless server URL (Streamable HTTP, no credential): `https://mcp.firecrawl.dev/v2/mcp`

* Codex: `codex mcp add firecrawl --url https://mcp.firecrawl.dev/v2/mcp`
* Claude Code: `claude mcp add --transport http firecrawl https://mcp.firecrawl.dev/v2/mcp`
* Cursor or any JSON-config client: `{"mcpServers": {"firecrawl": {"url": "https://mcp.firecrawl.dev/v2/mcp"}}}`
* OpenCode (`opencode.json`): `{"mcp": {"firecrawl": {"type": "remote", "url": "https://mcp.firecrawl.dev/v2/mcp", "enabled": true}}}`

ChatGPT and Claude.ai use account sign-in instead: see [OAuth](/mcp-server/oauth.md).

This is Firecrawl's keyless mode: connect with no account and no API key. Use it for a quick trial, and use an API key when the connection must run reliably without a person present. If you want to sign in through a browser instead — including from ChatGPT or Claude.ai — use [OAuth](/mcp-server/oauth).

Keyless MCP exposes exactly Search, Scrape, and Parse. It has daily request and credit limits shared by users on the same public IP address. Another person or process on the same network can use part of that allowance.

Use keyless access to evaluate the connection, not as an identity or a production credential. For the current allowance, see [Keyless rate limits](/rate-limits#keyless-no-api-key).

## Add an API key

Use an API key for CI, backend services, and other unattended connections. [Create a Firecrawl API key](https://www.firecrawl.dev/app/api-keys), then make it available to the MCP client as `FIRECRAWL_API_KEY`.

<Warning>
  The human or system operator must configure the key outside the agent conversation. Never paste the key into agent chat, put it in the MCP URL, or commit its value to a project file. An environment variable reference in a config file is safe; the secret value is not.
</Warning>

### Codex

Export the key in the environment that starts Codex:

```bash theme={null}
export FIRECRAWL_API_KEY=fc-YOUR-API-KEY
```

Add this to `~/.codex/config.toml`:

```toml theme={null}
[mcp_servers.firecrawl]
url = "https://mcp.firecrawl.dev/v2/mcp"
bearer_token_env_var = "FIRECRAWL_API_KEY"
```

### Claude Code

Export the key before starting Claude Code:

```bash theme={null}
export FIRECRAWL_API_KEY=fc-YOUR-API-KEY
```

Add an environment-variable reference to `.mcp.json`. Do not replace `${FIRECRAWL_API_KEY}` with the key itself.

```json theme={null}
{
  "mcpServers": {
    "firecrawl": {
      "type": "http",
      "url": "https://mcp.firecrawl.dev/v2/mcp",
      "headers": {
        "Authorization": "Bearer ${FIRECRAWL_API_KEY}"
      }
    }
  }
}
```

### Other clients

Point the client at:

```text theme={null}
https://mcp.firecrawl.dev/v2/mcp
```

Configure this header through the client's environment or secret storage:

```text theme={null}
Authorization: Bearer <FIRECRAWL_API_KEY>
```

Start a new client session after saving the configuration. Open the MCP status or tool list and confirm that `firecrawl` is connected.

## Verify the connection

Try:

```text theme={null}
Search the web for the latest Firecrawl release notes and summarize the sources.
```

A keyless connection shows `firecrawl_search`, `firecrawl_scrape`, and `firecrawl_parse`. An API-key connection can expose the [full tool surface](/mcp-server/tools), subject to plan, deployment, and team policy.

If the tools do not match the mode you configured, remove any duplicate Firecrawl entries, restart the client, and check the active server URL and credential source.

## Run in CI or a backend

Store `FIRECRAWL_API_KEY` in the platform's secret manager and inject it into the process environment. Keep only the environment-variable reference in MCP configuration:

```json theme={null}
{
  "url": "https://mcp.firecrawl.dev/v2/mcp",
  "headers": {
    "Authorization": "Bearer ${FIRECRAWL_API_KEY}"
  }
}
```

Do not put the value in source control, build logs, prompts, or generated configuration. Start a new process after changing the secret, verify the `firecrawl` tool list, and rotate the key if it may have been exposed.

## Legacy API-key URL support

<Warning>
  The key-in-URL form exists only for existing configurations and clients that cannot send an authorization header. Do not use it for a new connection.
</Warning>

Existing configurations may use `https://mcp.firecrawl.dev/<FIRECRAWL_API_KEY>/v2/mcp`. The full URL is a credential: never paste it into chat, screenshots, issues, logs, or shared configuration. Migrate to an environment-backed `Authorization: Bearer` header when possible, and rotate the key if the URL was exposed.

This compatibility route applies only to the full `/v2/mcp` surface. It does not work for the OAuth-only search resource.

## More resources

<CardGroup cols={2}>
  <Card title="Compare connection options" icon="shuffle" href="/mcp-server">
    Return to the MCP setup chooser.
  </Card>

  <Card title="Run locally" icon="terminal" href="/mcp-server/local">
    Start the open-source server over stdio or Streamable HTTP.
  </Card>
</CardGroup>
