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

# MCP Server

> Use Remyx ExperimentOps tools from Claude Code, Slack, or any MCP client

# MCP Server

The Remyx MCP server exposes ExperimentOps tools via the [Model Context Protocol](https://modelcontextprotocol.io). Connect from Claude Code, Claude Desktop, Cursor, or any MCP-compatible client to manage experiments and discover relevant resources using natural language.

The server also powers the managed Slack agent and the Claude Code implementation pipeline.

***

## Architecture

The MCP server runs as a standalone service at `mcp.remyx.ai`. Connect using **Streamable HTTP** at `https://mcp.remyx.ai/mcp`, or **SSE** at `https://mcp.remyx.ai/sse` for clients that require it.

Every tool call is logged and powers the activity feed in the experiment detail view.

***

## Connecting

### Claude Code

Add to your Claude Code MCP configuration (`~/.claude/settings.json` or project-level):

```json theme={null}
{
  "mcpServers": {
    "remyx": {
      "type": "http",
      "url": "https://mcp.remyx.ai/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_REMYX_API_KEY"
      }
    }
  }
}
```

### Claude Desktop

Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):

```json theme={null}
{
  "mcpServers": {
    "remyx": {
      "type": "http",
      "url": "https://mcp.remyx.ai/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_REMYX_API_KEY"
      }
    }
  }
}
```

### Other MCP Clients

Any client supporting the MCP Streamable HTTP transport can connect using the URL `https://mcp.remyx.ai/mcp` with a Bearer token in the Authorization header.

<Info>
  Get your API key at **Account > API Access** in the Remyx app, or at [engine.remyx.ai/account](https://engine.remyx.ai/account).
</Info>

***

## Tools

### Discovery Tools

<AccordionGroup>
  <Accordion title="get_digest">
    Get today's recommended resources across all your Research Interests.

    **Parameters:** None required. Optionally pass `period` (`today`, `week`) and `limit`.

    **Returns:** Recommended resources grouped by Research Interest, with titles, abstracts, relevance scores, and links.

    **Example prompt:** *"Show me today's research digest"*
  </Accordion>

  <Accordion title="list_interests">
    List all of your configured Research Interests.

    **Parameters:** None.

    **Returns:** Array of interests with name, context, daily paper count, and status (active/paused).

    **Example prompt:** *"What Research Interests do I have set up?"*
  </Accordion>

  <Accordion title="refresh_interests">
    Trigger a fresh resource ranking for one or all Research Interests.

    **Parameters:** `interest_name` (optional — refresh all if omitted).

    **Returns:** Confirmation that the refresh job was started. Results are available via `get_digest` after processing.

    **Example prompt:** *"Refresh my Retrieval Systems interest"*
  </Accordion>

  <Accordion title="get_papers">
    Get resources for a specific Research Interest.

    **Parameters:** `interest_name` (required), `period` (optional), `limit` (optional).

    **Returns:** Resources matched to the specified interest with metadata, scores, and Docker availability.

    **Example prompt:** *"Show me resources about spatial reasoning from this week"*
  </Accordion>
</AccordionGroup>

### Experiment Tools

<AccordionGroup>
  <Accordion title="create_experiment">
    Create a new experiment in Remyx.

    **Parameters:**

    | Parameter       | Type   | Required | Description                                                 |
    | --------------- | ------ | -------- | ----------------------------------------------------------- |
    | `name`          | string | Yes      | Experiment name                                             |
    | `source_type`   | string | No       | `paper`, `hypothesis`, `incident`, or `recommendation`      |
    | `source_ref`    | object | No       | Source details (paper ID, hypothesis text, etc.)            |
    | `target_metric` | string | No       | Business metric this experiment aims to move                |
    | `tags`          | array  | No       | Free-form tags for grouping                                 |
    | `project_id`    | string | No       | Project ID (resolved from `set_project_context` if omitted) |
    | `resource_id`   | string | No       | Resource ID (for research-sourced experiments)              |

    **Returns:** Created experiment with ID and all fields.

    **Example prompt:** *"Create an experiment called 'Hybrid search with re-ranking' targeting resolution-rate, tagged retrieval and re-ranking, in the Customer Support AI project"*
  </Accordion>

  <Accordion title="get_experiments">
    List experiments with optional filters.

    **Parameters:** `project_id` (optional), `status` (optional), `tags` (optional).

    **Returns:** Array of experiments with all ExperimentOps fields.

    **Example prompt:** *"Show me all experiments in Customer Support AI"*
  </Accordion>

  <Accordion title="update_experiment">
    Update fields on an existing experiment.

    **Parameters:**

    | Parameter          | Type   | Description                                 |
    | ------------------ | ------ | ------------------------------------------- |
    | `experiment_id`    | string | Required                                    |
    | `observed_delta`   | float  | Measured result                             |
    | `delta_confidence` | string | `significant`, `inconclusive`, `not_tested` |
    | `tags`             | array  | Updated tag list                            |
    | `pr_url`           | string | Link to implementation PR                   |
    | `pr_status`        | string | PR status                                   |
    | `ab_test_config`   | object | A/B test configuration                      |
    | `ab_test_results`  | object | Test results                                |
    | `status`           | string | Experiment status                           |

    **Returns:** Updated experiment.

    **Example prompt:** *"Update the hybrid search experiment with observed delta +3.1%, statistically significant"*
  </Accordion>

  <Accordion title="log_decision">
    Record the team's decision on an experiment. This is the key ExperimentOps primitive — capturing *why*, not just *what*.

    **Parameters:**

    | Parameter       | Type   | Required | Description                      |
    | --------------- | ------ | -------- | -------------------------------- |
    | `experiment_id` | string | Yes      | Which experiment                 |
    | `decision`      | string | Yes      | The decision text with reasoning |
    | `outcome`       | string | No       | `ship`, `iterate`, `abandon`     |

    **Returns:** Updated experiment with decision, timestamp, and author.

    **Example prompt:** *"Log decision on experiment 12: Ship to 100%. This is the synthesis experiment — it combined retrieval with few-shot selection and produced our best single-experiment improvement."*
  </Accordion>

  <Accordion title="get_experiment_context">
    Get the full implementation context for a research-sourced experiment, including resource metadata, Docker environment, repo structure, and implementation plan.

    **Parameters:** `experiment_id` (required).

    **Returns:** Launch context object with resource details, file tree, and implementation plan.

    **Example prompt:** *"Get the implementation context for experiment 7"*
  </Accordion>

  <Accordion title="run_experiment_implementation">
    Trigger the Claude Code implementation pipeline for a research-sourced experiment. This generates a PR in the target repository.

    **Parameters:** `experiment_id` (required).

    **Returns:** Implementation status and PR link when complete.

    **Example prompt:** *"Run the implementation for experiment 3"*
  </Accordion>
</AccordionGroup>

### Validation Tools

<AccordionGroup>
  <Accordion title="get_validation_results">
    Get validation results for an experiment (A/B test outcomes, online metrics).

    **Parameters:** `experiment_id` (required).

    **Returns:** Validation data including control vs. treatment metrics.

    <Note>
      Full validation integration with A/B testing platforms (Statsig, LaunchDarkly) is coming soon. Currently returns data recorded via `update_experiment`.
    </Note>
  </Accordion>

  <Accordion title="close_loop">
    Close the experiment loop — record final results and mark the experiment as validated.

    **Parameters:** `experiment_id` (required), `final_results` (object).

    **Returns:** Updated experiment in validated state.

    <Note>
      Full close-loop automation (pulling results from external A/B platforms) is coming soon.
    </Note>
  </Accordion>
</AccordionGroup>

***

## Slack Agent

The MCP server also powers the managed Slack agent. When you `@mention` the Remyx bot in Slack, it uses the same MCP tools to respond: fetching digests, listing experiments, logging decisions, etc. See [Connectors > Slack](/platform/manage/connectors#slack) for setup.

***

## Implementation Pipeline

For research-sourced experiments with a launch context, Claude Code can run the full implementation flow:

1. Fetch the experiment context (resource metadata, Docker environment, repo structure, implementation plan)
2. Read the target repository
3. Generate code changes implementing the technique
4. Push a branch and open a PR
5. Link the PR back to the experiment

The PR status syncs via GitHub webhooks. When the PR is merged, the experiment status updates automatically. See the [Quick Start](/quickstart#5-run-the-implementation) for a walkthrough.

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Connect Claude Code" icon="terminal" href="/platform/manage/connectors#claude-code">
    Step-by-step setup guide
  </Card>

  <Card title="Connect Slack" icon="hashtag" href="/platform/manage/connectors#slack">
    Set up the managed Slack agent
  </Card>

  <Card title="Experiment Dashboard" icon="chart-line" href="/platform/experiments/outcomes">
    See MCP tools in the experiment workflow
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference/api-reference">
    REST API documentation
  </Card>
</CardGroup>
