# MCP server

ReSim's MCP server follows the [authenticated remote MCP](https://modelcontextprotocol.io/) spec, so the server is centrally hosted and managed — no local installation or API keys required. Authentication is handled via OAuth, and compliant clients will prompt you to sign in through your browser on first use. All available tools are read-only queries for browsing projects, batches, test results, metrics, logs, and more.

LLM-friendly docs

Pair the MCP server with our LLM-friendly documentation, published as plain markdown following the [llms.txt convention](https://llmstxt.org):

- [`https://docs.resim.ai/llms.txt`](https://docs.resim.ai/llms.txt) — curated index of the docs
- [`https://docs.resim.ai/llms-full.txt`](https://docs.resim.ai/llms-full.txt) — full corpus as a single file
- Any page is also available as raw markdown by appending `.md` to its URL (e.g. [`/setup/cli.md`](https://docs.resim.ai/setup/cli.md))

Point your agent at these alongside the MCP server for full context on the platform.

## Setup

Add the ReSim MCP server to your client's configuration. The only thing you need is the server URL:

Text

```
https://bff.resim.ai/mcp
```

### Claude Desktop

Open **Settings > Developer > Edit Config** and add the `resim` entry to your `mcpServers`:

JSON

```
{
  "mcpServers": {
    "resim": {
      "url": "https://bff.resim.ai/mcp"
    }
  }
}
```

Restart Claude Desktop. You'll be prompted to authenticate through your browser on first use.

### Cursor

Open **Settings > MCP** and click **+ Add new global MCP server**. Use the following configuration:

JSON

```
{
  "mcpServers": {
    "resim": {
      "url": "https://bff.resim.ai/mcp"
    }
  }
}
```

### Claude Code

Run the following command in your terminal:

Bash

```
claude mcp add --transport http resim https://bff.resim.ai/mcp
```

Claude Code will handle OAuth automatically when the server is first used.

## Rate limiting

The MCP server enforces a rate limit of **60 requests per minute** per user. If you exceed this limit, the server responds with HTTP 429 and a JSON-RPC error. Back off and retry after a short delay.

## Available tools

The MCP server exposes read-only tools organized into the categories below. All list tools support `page_size` and `page_token` for pagination, and most support `order_by` for sorting. Tool arguments like `project_id`, `batch_id`, etc. are UUIDs.

### Projects & branches

| Tool            | Description                                                                      |
| --------------- | -------------------------------------------------------------------------------- |
| `list_projects` | List all projects the user has access to                                         |
| `list_branches` | List branches for a project. Filter by type: `MAIN`, `CHANGE_REQUEST`, `RELEASE` |

### Builds & systems

| Tool           | Description                                                   |
| -------------- | ------------------------------------------------------------- |
| `list_builds`  | List builds for a project. Supports fuzzy name/version search |
| `get_build`    | Get details of a specific build                               |
| `list_systems` | List systems for a project. Filter by name                    |
| `get_system`   | Get details of a specific system                              |

### Experiences & tags

| Tool                   | Description                                                                                                                                                             |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `list_experiences`     | List experiences for a project. Supports free-text search across name, description, and tags, plus structured filters (`tag_id`, `test_suite_id`). Can include archived |
| `get_experience`       | Get details and tags of a specific experience                                                                                                                           |
| `list_experience_tags` | List experience tags for a project. Filter by name                                                                                                                      |

### Test suites

| Tool               | Description                                                                                   |
| ------------------ | --------------------------------------------------------------------------------------------- |
| `list_test_suites` | List test suites for a project. Filter by `experience_ids`, `system_id`. Can include archived |
| `get_test_suite`   | Get details of a test suite including its experiences                                         |

### Batches

| Tool                          | Description                                                                                                                                                                  |
| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `list_batches`                | List batches for a project. Each batch has a `conflatedStatus` (`ERROR`, `BLOCKER`, `WARNING` = failing; `COMPLETE` = passing). Supports fuzzy search and structured filters |
| `get_batch`                   | Get details of a specific batch                                                                                                                                              |
| `list_batch_errors`           | List error details for jobs in a batch. `CUSTOMER_` prefix = user-side issue                                                                                                 |
| `list_batches_for_build`      | List batches for a specific build (requires `branch_id`)                                                                                                                     |
| `list_batches_for_test_suite` | List batches for a specific test suite across all revisions                                                                                                                  |
| `get_batch_comparison`        | Compare two batches — per-experience status diffs                                                                                                                            |
| `get_batch_suggestions`       | Get suggested comparison targets (`latestOnMain`, `lastPassingOnMain`, `latestOnBranch`, etc.)                                                                               |

### Jobs

| Tool        | Description                                                                                                                     |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `list_jobs` | List jobs within a batch. Includes inline `executionErrors` and `conflatedStatus`. Filter by status, experience name, tag UUIDs |
| `get_job`   | Get job details including execution errors and optional AI-generated `log_analysis`                                             |

### Metrics

| Tool                        | Description                                                   |
| --------------------------- | ------------------------------------------------------------- |
| `get_batch_metrics_summary` | Get metrics summary for a batch. Filter by metric name        |
| `get_job_metrics_summary`   | Get metrics summary for a specific job. Filter by metric name |
| `list_job_events`           | List structured events emitted during job execution           |

### Reports

| Tool           | Description                                            |
| -------------- | ------------------------------------------------------ |
| `list_reports` | List reports for a project. Supports fuzzy name search |
| `get_report`   | Get details of a specific report                       |

### Logs

| Tool              | Description                                                                                     |
| ----------------- | ----------------------------------------------------------------------------------------------- |
| `list_batch_logs` | List log file metadata for a batch                                                              |
| `get_batch_log`   | Get a batch log file with presigned download URL                                                |
| `list_job_logs`   | List log file metadata for a job. Filter by type: `CONTAINER_LOG`, `ERROR_LOG`, `EXECUTION_LOG` |
| `get_job_log`     | Get a job log file with presigned download URL                                                  |

### Datalake introspection

| Tool                 | Description                                                                          |
| -------------------- | ------------------------------------------------------------------------------------ |
| `list_topics`        | List available datalake topics and column schemas. Use before writing metric queries |
| `get_topic_schema`   | Get detailed schema for a topic including all metadata columns for joins             |
| `preview_topic_data` | Preview up to 10 sample rows from a topic (may take 10-30s)                          |
