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

# MCP server

> Connect Adapt to external agents and tools through a hosted Model Context Protocol endpoint.

<Note>
  The MCP server is in early access. The interface may change.
</Note>

Adapt hosts a [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server so external agents and tools can talk to your organization programmatically — not just through Slack and the web app. Point an MCP-capable client at Adapt, and it can run a full agent with all of your knowledge, integrations, and skills behind it.

## What you can do

Once connected, you can address Adapt with `@adapt` from your client and put the same agent that runs in Slack and the web app to work — now alongside whatever you're already doing in your editor or terminal. A few examples:

**Use your integrations**

```
@adapt close out ENG-1234 now that the fix is merged and deployed
```

```
@adapt pull up ENG-1234, walk me through the likely root cause, then let's work the fix together
```

**Draw on company knowledge**

```
@adapt re-read the engineering style guide in company knowledge and apply it to the changes on this branch
```

```
@adapt you're over-commenting the code. Update our knowledge so we only annotate genuinely unclear logic, and when something needs a comment to be understood, weigh whether it should be rewritten instead
```

**Use apps and the sandbox**

```
@adapt spin up a minimal app that demos this code so I can share it with my team
```

**Load up Claude or Codex with full context from an Adapt chat**

```
hey claude, start working through this Adapt chat using the MCP, I was talking with the team and Adapt in Slack and ended up with a great idea to build out.
```

## Endpoint

```
https://app.adapt.com/mcp
```

The server uses the Streamable HTTP transport.

## Authentication

Authenticate with your Adapt session token, sent as a Bearer credential:

```
Authorization: Bearer <sessionToken>
```

To find your session token, open [app.adapt.com](https://app.adapt.com) while signed in, open your browser's developer tools, and copy the value of the `sessionToken` cookie (**Application** > **Cookies** > **app.adapt.com**). Session tokens rotate periodically, so you'll need to refresh it when it expires.

### Multiple organizations

If your account belongs to more than one organization, also send an `X-Adapt-Org` header with the organization ID you want to use:

```
X-Adapt-Org: <organizationId>
```

Without it, the server returns a `400` because it can't tell which organization to act in. A `401` means the token itself is missing or expired.

## Setup

### Claude Code

```bash theme={null}
claude mcp add --transport http adapt https://app.adapt.com/mcp \
  --header "Authorization: Bearer <sessionToken>"
```

If you belong to multiple organizations, add the org header:

```bash theme={null}
claude mcp add --transport http adapt https://app.adapt.com/mcp \
  --header "Authorization: Bearer <sessionToken>" \
  --header "X-Adapt-Org: <organizationId>"
```

## The `ask_adapt` tool

The server exposes one tool, `ask_adapt`, which runs an Adapt agent in your organization.

| Parameter | Type   | Description                                                              |
| --------- | ------ | ------------------------------------------------------------------------ |
| `message` | string | The message to send to the agent. Omit to read an existing conversation. |
| `chat_id` | string | The conversation to continue or read. Omit to start a new conversation.  |

Three ways to call it:

* **Start a conversation** — pass `message` with no `chat_id`. Adapt creates a new chat, runs the agent, and returns the reply.
* **Continue a conversation** — pass both `message` and `chat_id` to keep going in the same chat.
* **Read a conversation** — pass only `chat_id` to return the full transcript.

Every reply is prefixed with `chat_id: <id>`. Save that value to continue or revisit the conversation later.

Agent runs are asynchronous and can take some time on longer tasks. The tool waits for the reply and returns it when the run finishes.

## Related

* [Web app](/platform/web-app)
* [Slack app](/platform/slack-app)
