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

# Quickstart

> Connect an MCP client to Presston AI MCP with a Boxpressd developer key.

This guide connects a remote MCP client and searches the Boxpressd cigar catalog.

## Prerequisites

* A Boxpressd developer application
* A development or production API key
* An MCP client that supports Streamable HTTP and custom headers

<Steps>
  <Step title="Create a developer key">
    Sign in to the [Developer Dashboard](https://developers.boxpressd.com), open your application, and select **Credentials**. Create a key and copy the complete `bxp_test_...` or `bxp_live_...` value.
  </Step>

  <Step title="Add the remote server">
    Add a Streamable HTTP server at `https://mcp.boxpressd.io`. Configure the developer key as transport authentication:

    ```json theme={null}
    {
      "mcpServers": {
        "presston": {
          "url": "https://mcp.boxpressd.io",
          "headers": {
            "Authorization": "Bearer bxp_live_replace_me"
          }
        }
      }
    }
    ```

    Client configuration formats differ. Use the equivalent remote HTTP and header settings in your client.
  </Step>

  <Step title="Verify the connection">
    Ask the client to list tools. You should see `search_cigars`, `resolve_cigar`, `identify_band`, and the non-billable billing tools.
  </Step>

  <Step title="Run a catalog search">
    Ask:

    ```text theme={null}
    Search the Boxpressd catalog for Liga Privada No. 9 and show the top five results.
    ```

    The client should call `search_cigars` with:

    ```json theme={null}
    {
      "query": "Liga Privada No. 9",
      "limit": 5
    }
    ```
  </Step>
</Steps>

## Authentication headers

Most remote clients should send the developer key as a Bearer credential:

```http theme={null}
Authorization: Bearer bxp_live_replace_me
```

Clients that support custom headers can send `x-boxpressd-key` instead. Keep the key in the client’s secret storage. Do not include it in prompts, tool arguments, browser code, or source control.

## Verify with JSON-RPC

You can verify the endpoint independently of an AI client:

```bash theme={null}
curl "https://mcp.boxpressd.io" \
  --request POST \
  --header "Authorization: Bearer $BOXPRESSD_DEVELOPER_API_KEY" \
  --header "Accept: application/json, text/event-stream" \
  --header "Content-Type: application/json" \
  --data '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
      "protocolVersion": "2025-06-18",
      "capabilities": {},
      "clientInfo": { "name": "boxpressd-check", "version": "1.0.0" }
    }
  }'
```

A successful response identifies the server as `boxpressd-mcp`.

## Development endpoint

Use `https://mcp-dev.boxpressd.io` with a development key while you build. Keep development and production keys in separate client profiles.
