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

# Connect Claude

> Add LobbyStack to Claude as a connector, or to Claude Code, Claude Desktop and the Claude API with an API key.

The server URL is `https://app.lobbystack.com/api/mcp`. Replace `app.lobbystack.com` with your own domain if you self-host. Claude connects to it from the internet, so a self-hosted LobbyStack needs a public HTTPS address.

See [MCP server](/ai/mcp) for the tools each permission unlocks.

## Claude and Claude Desktop connectors

<Steps>
  <Step title="Add the connector">
    In Claude, go to **Customize** > **Connectors**, click **+**, then **Add custom connector**. Name it `LobbyStack`, paste the server URL, and click **Add**. Leave **Advanced settings** empty.

    On Team and Enterprise plans, an owner adds it under **Organization settings** > **Connectors**, and each member connects it from **Customize** > **Connectors**.
  </Step>

  <Step title="Connect and sign in">
    Click **Connect**. Claude opens LobbyStack. Sign in if you aren't signed in already.
  </Step>

  <Step title="Choose the business and permissions">
    Pick the business, uncheck anything Claude shouldn't do, and click **Allow access**. You go back to Claude, connected.
  </Step>
</Steps>

To disconnect, go to **Settings** > **Connected apps** in LobbyStack and click **Disconnect** next to Claude.

## Claude Code

Add the server, then sign in from Claude Code:

```bash theme={null}
claude mcp add --transport http lobbystack https://app.lobbystack.com/api/mcp
```

Start Claude Code, run `/mcp`, select `lobbystack` and choose to authenticate. Your browser opens the LobbyStack sign-in and consent page.

To use an API key instead, pass it as a header:

```bash theme={null}
claude mcp add --transport http lobbystack https://app.lobbystack.com/api/mcp \
  --header "Authorization: Bearer $LOBBYSTACK_API_KEY"
```

## Claude Desktop with an API key

If you'd rather use an API key than the connector, run [`mcp-remote`](https://www.npmjs.com/package/mcp-remote) from Claude Desktop's config file. It forwards requests to LobbyStack with your key. You need Node.js on your computer.

<Steps>
  <Step title="Open the config file">
    In Claude Desktop, go to **Settings** > **Developer** and click **Edit Config**.
  </Step>

  <Step title="Add LobbyStack">
    Add this entry under `mcpServers` and paste your key in place of `lsk_...`:

    ```json claude_desktop_config.json theme={null}
    {
      "mcpServers": {
        "lobbystack": {
          "command": "npx",
          "args": [
            "-y",
            "mcp-remote",
            "https://app.lobbystack.com/api/mcp",
            "--header",
            "Authorization:${LOBBYSTACK_AUTH}"
          ],
          "env": {
            "LOBBYSTACK_AUTH": "Bearer lsk_..."
          }
        }
      }
    }
    ```

    The header value sits in `env` because some systems split arguments on spaces.
  </Step>

  <Step title="Restart Claude Desktop">
    Quit and reopen the app. LobbyStack's tools appear under the tools menu in a new chat.
  </Step>
</Steps>

## Claude API

The Messages API connects to remote MCP servers with the MCP connector. Send an API key, or an OAuth access token your app obtained, as `authorization_token`:

```bash theme={null}
curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "anthropic-beta: mcp-client-2025-11-20" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-opus-5",
    "max_tokens": 4096,
    "mcp_servers": [{
      "type": "url",
      "url": "https://app.lobbystack.com/api/mcp",
      "name": "lobbystack",
      "authorization_token": "'"$LOBBYSTACK_API_KEY"'"
    }],
    "tools": [{ "type": "mcp_toolset", "mcp_server_name": "lobbystack" }],
    "messages": [{ "role": "user", "content": "Which messages are still open?" }]
  }'
```

## Check the connection

Ask Claude to call `get_business`. It should answer with your business name, time zone and booking mode. If the call fails:

| Symptom                                      | Fix                                                                                                                     |
| -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| The sign-in page says you can't connect apps | Ask an owner of the business to connect Claude, or to make you an admin.                                                |
| `401` or "unauthorized"                      | Connect again. With an API key, check that you copied the whole key and that nobody revoked it.                         |
| `403` or "insufficient\_scope"               | Connect again and allow at least one permission. With an API key, create one with a scope other than `webhooks:manage`. |
| A tool is missing                            | Connect again and allow the permission that tool needs.                                                                 |
