---
title: MCP
description: Connect an AI assistant to your Rupt account over the Model Context Protocol. Investigate users, explain verdicts, manage lists, and read the docs from your editor or chat client.
---

# MCP (Model Context Protocol)

Rupt's MCP server gives an AI assistant access to your Rupt account, so you can ask it to do things on your behalf.

It's a remote server, so there's nothing to install or run yourself. Point your client at:

```
https://api.rupt.dev/v3/mcp
```

## Add it to your client

::CodeTabs

#Claude Code

```sh
claude mcp add --transport http rupt https://api.rupt.dev/v3/mcp
```

Then run `/mcp` and sign in.

#Cursor

```json
// Add this to `~/.cursor/mcp.json`:
{
  "mcpServers": {
    "rupt": {
      "url": "https://api.rupt.dev/v3/mcp"
    }
  }
}
```

#VS Code

```json
// Add this to `.vscode/mcp.json` in your workspace:
{
  "servers": {
    "rupt": {
      "type": "http",
      "url": "https://api.rupt.dev/v3/mcp"
    }
  }
}
```

#Codex

```toml
// Add this to `~/.codex/config.toml`:
[mcp_servers.rupt]
url = "https://api.rupt.dev/v3/mcp"
```

Then run `codex mcp login rupt`.

#Other

MCP is an open protocol. Follow your client's setup instructions and use `https://api.rupt.dev/v3/mcp` as the server URL, with OAuth for authentication.

::

## Signing in

The server uses OAuth, don't paste an API key into your AI client. The first time you connect, your client opens a Rupt consent page listing what it's asking for:

- **Read**: projects, users, devices, evaluations, policies, lists and statistics.
- **Read and write**: the above, plus changing list entries, suspending users, and detaching devices.

Approve it and you're connected. The assistant acts as you: it can reach the projects you can reach, with the permissions you already have, and nothing more.

## What it can do

| Area          | Tools                                                                      |
| ------------- | -------------------------------------------------------------------------- |
| Projects      | `list_projects`, `get_project`, `list_api_keys`                            |
| Users         | `search`, `list_users`, `get_user`, `update_user`                          |
| Devices       | `list_user_devices`, `detach_device`                                       |
| Evaluations   | `list_evaluations`, `get_evaluation`                                       |
| Challenges    | `list_challenges`, `get_challenge`                                         |
| Policies      | `list_policies`, `get_policy`, `list_policy_templates`                     |
| Lists         | `list_lists`, `list_list_entries`, `add_list_entries`, `remove_list_entry` |
| Risks         | `list_risk_definitions`, `list_risk_indicators`, `get_risk_overview`       |
| Intelligence  | `list_fingerprints`, `get_fingerprint`, `get_ip`                           |
| Statistics    | `get_stats`                                                                |
| Documentation | `search_docs`, `get_doc`                                                   |

Four of these change things: `update_user`, `detach_device`, `add_list_entries` and `remove_list_entry`. Everything else is read-only.

Policies, challenge configs, and the deny and suspend pages are read-only over MCP. Change those in the [dashboard](https://app.rupt.dev/policies).

## Managing connections

Connected clients are listed under [Connected apps](https://app.rupt.dev/account/connections) in your account settings, with what each one can reach and how much it has been doing. Disconnect any of them from there, and it loses access immediately.

Every call an assistant makes, read or write, is recorded against your account.

::alert{type="warning"}
Turn on tool confirmation in your AI client before granting write access, and be careful combining Rupt with MCP servers that read untrusted content. A model that reads an attacker's text can be talked into calling tools with it.
::

## Related

- [Evaluations](/docs/v3/concepts/evaluations)
- [Policies](/docs/v3/concepts/policies)
- [Lists](/docs/v3/concepts/lists)
