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

# Quick Start

> Connect the 2extract MCP server to your AI agent and provision your first proxy by describing what you need.

Three steps: create a key, add the server to your client, describe what you want.

***

<Steps>
  <Step title="Create an API key">
    Open the [Dashboard](https://2extract.com/app/api-keys) and go to **API Keys** → **Create API Key**.

    Name it after the client that will use it - `Claude Code MCP`, `Cursor MCP` - so you can tell keys apart later and revoke the right one.

    Select these scopes:

    | Scope           | Why                                                            |
    | :-------------- | :------------------------------------------------------------- |
    | `proxies:read`  | The agent inspects existing proxies before it creates anything |
    | `proxies:write` | Creating proxies, setting limits and whitelists                |
    | `balance:read`  | Checking funds before a billable action                        |
    | `stats:read`    | Traffic and spend reports                                      |
    | `geo:read`      | Turning "Germany" into a country ID                            |

    Copy the key - it is shown only once.

    <Warning>
      `proxies:write` does not include `proxies:read`. Grant both, or the agent will fail partway through most workflows.
    </Warning>
  </Step>

  <Step title="Add the server to your client">
    Every client uses the same endpoint and the same auth header:

    ```
    https://mcp.2extract.com/mcp
    Authorization: Bearer 2xt_YOUR_API_KEY
    ```

    For Claude Code, that is one command:

    ```bash icon="terminal" theme={null}
    claude mcp add --transport http 2extract https://mcp.2extract.com/mcp \
      --header "Authorization: Bearer 2xt_YOUR_API_KEY"
    ```

    Using something else? Pick your client:

    <CardGroup cols={4}>
      <Card title="Claude Code" href="/ai/clients/claude-code" />

      <Card title="Claude Desktop" href="/ai/clients/claude-desktop" />

      <Card title="Codex" href="/ai/clients/codex" />

      <Card title="Cursor" href="/ai/clients/cursor" />

      <Card title="VS Code" href="/ai/clients/vs-code" />

      <Card title="Windsurf" href="/ai/clients/windsurf" />

      <Card title="Cline" href="/ai/clients/cline" />

      <Card title="Other clients" href="/ai/clients/other" />
    </CardGroup>
  </Step>

  <Step title="Check the connection">
    Ask the agent something read-only. If it answers with a number, you are connected:

    > What is my 2extract balance?

    The agent calls `getAccountBalance` and reports your available funds. Nothing is created and nothing is charged.
  </Step>

  <Step title="Create your first proxy">
    Now describe the job rather than the configuration:

    > Create a residential proxy in Germany for collecting Amazon product prices, cap it at 20 GB per month, and give me the connection string.

    The agent resolves Germany to a country ID, picks a plan, confirms you have funds, creates the proxy with a name and description that match the task, sets the cap, and returns a connection string.

    <Check>
      The new proxy appears in your [Dashboard](https://2extract.com/app) under **My Proxies**, exactly as if you had created it by hand.
    </Check>
  </Step>

  <Step title="Try a built-in prompt">
    The server ships four guided workflows. Clients that support MCP prompts expose them as slash commands - try:

    ```
    /create-proxy-resource
    ```

    It asks what the proxy is for, then handles the rest. See [Prompts](/ai/mcp-server/prompts) for all four.
  </Step>
</Steps>

***

## What to ask for next

Plain language works. The agent resolves IDs, plans, and geo codes on its own.

* Show my traffic usage and spend for the last 30 days.
* Which cities can I target in Brazil?
* Put a 100 GB monthly traffic cap on the price-monitor proxy.
* Add `203.0.113.10` to the IP whitelist on my active proxies.
* Find proxies I have not used in a month and deactivate them.

***

## If something does not work

| Symptom                                | Cause                                                               |
| :------------------------------------- | :------------------------------------------------------------------ |
| Agent says the server is unauthorized  | Key missing, mistyped, or expired. Check the `Authorization` header |
| A tool fails but others work           | The key is missing that tool's scope                                |
| Client shows no 2extract tools at all  | Config not reloaded - restart the client                            |
| Browser shows an error on the endpoint | Expected. `/mcp` speaks the protocol, not HTML                      |

More in the [FAQ](/ai/mcp-server/faq).

***

## Next steps

<CardGroup cols={2}>
  <Card title="Tools" icon="wrench" href="/ai/mcp-server/tools">
    Everything the agent can call, with parameters.
  </Card>

  <Card title="Usage Examples" icon="terminal" href="/ai/mcp-server/usage-examples">
    Full sessions from request to connection string.
  </Card>
</CardGroup>
