# MCP

import Screenshot from "@docs/Screenshot.astro"
import SurfaceTabs from "@docs/SurfaceTabs.astro"
import { Steps } from "@astrojs/starlight/components"

Ren's MCP server lets another AI tool manage your Ren setup. For example, Claude can add a skill to a project or create
a task.

- Use the [CLI](/docs/surfaces/cli/) instead when your coding agent has a shell. The CLI covers more of Ren than the MCP server.
- Use the [web app](/docs/surfaces/web-app/) to chat with Ren itself and review its work.

## Connect a coding agent

Add a remote MCP server using Streamable HTTP and this URL:

```text
https://api.useren.ai/mcp
```

For Claude Code and Codex, use the Ren plugin to install the MCP server and Ren skills together. See
[Claude Code](/docs/migrate/claude-code/) and [Codex](/docs/migrate/codex/).

To add only the MCP server to Claude Code, run:

```sh
claude mcp add --transport http ren https://api.useren.ai/mcp
```

For opencode, add the server to `opencode.json`:

```json title="opencode.json"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ren": {
      "type": "remote",
      "url": "https://api.useren.ai/mcp",
      "enabled": true
    }
  }
}
```

For any other client, add a remote MCP server named `ren` with the URL above, using that client's MCP settings.

## Connect a website

Create a custom connector in your client, using `https://api.useren.ai/mcp` as the server URL and OAuth for authentication:

- **claude.ai:** Open **Customize → Connectors** and add a custom connector.
- **chatgpt.com:** Open **Settings → Connectors → Advanced** and add a custom connector.

Start a new chat after you add the connector so the site loads Ren's tools.

## Sign in

<SurfaceTabs>
<Fragment slot="app">

<Steps>

1. Use a Ren tool. Your client opens the authorization page in your browser. Sign in if needed.

2. Choose an **Organization** on the **Authorize access** screen. Select **Allow**. The connection can act only in that
   organization.

</Steps>

<Screenshot shot="mcp/consent" alt="The Authorize access screen with the organization picker and the Allow button" />

</Fragment>
</SurfaceTabs>

To use a different organization later, disconnect and sign in again.

### Use an access key

For clients without browser authentication, use an [access key](/docs/surfaces/sdk/#create-an-access-key). The client
must support an `Authorization` header. Send the key as a bearer token:

```text
Authorization: Bearer ren_pat_...
```

The key acts with its own role in the organization it was created in.

## Check it worked

Ask your agent:

```text
Summarize my Ren setup.
```

Check that the answer names your organization, spaces, and projects. If Ren tools are missing, check the server's connection status in your client, then start a new chat.

## Limits

The Ren MCP server can't:

- Send a message to Ren in a chat. It can create an empty chat, but the conversation happens in the web app or a
  channel.
- Set up Slack, GitHub, Linear, or Telegram. It can only set a project's email address.
- Invite people to your organization, create labels, or manage environments and databases.

Use the [web app](/docs/surfaces/web-app/) for these. The [CLI](/docs/surfaces/cli/) also covers channel setup,
labels, environments, and databases.