Skip to main content

MCP Server

The Remyx MCP server exposes ExperimentOps tools via the Model Context Protocol. 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):

Claude Desktop

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

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.
Get your API key at Account > API Access in the Remyx app, or at engine.remyx.ai/account.
MCP keys are scoped: a key only authorizes the tool categories its scopes grant, so a call to a tool outside the key’s scopes is rejected. See API Scopes for the available scopes and how to mint a key with the right ones.

Tools

Discovery Tools

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”
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?”
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”
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”
List the projects in your workspace.Parameters: None.Returns: Array of projects with ID, name, and description. Use a project ID with set_project_context or any experiment tool.Example prompt: “What projects do I have?”
Create a new Research Interest.Parameters: name (required), context (optional; the natural-language description Remyx uses to rank resources).Returns: The created interest with its ID and status.Example prompt: “Create a Research Interest called ‘Long-context retrieval’ focused on RAG over million-token corpora”
Update an existing Research Interest’s name, context, or status.Parameters: interest_name (or interest_id) required; optional name, context, status (active/paused).Returns: The updated interest.Example prompt: “Pause my Long-context retrieval interest”
Delete a Research Interest.Parameters: interest_name (or interest_id) required.Returns: Confirmation of deletion.Example prompt: “Delete the Long-context retrieval interest”

Repo Analysis Tools

Generate or refine a Research Interest from a GitHub repository. Remyx reads the repo and derives the interest context from what the code actually does.
List the GitHub repositories available to analyze for an interest (those reachable through your connected GitHub App installation).Parameters: None required.Returns: Array of repos with owner, name, and default branch.Example prompt: “Which repos can I analyze for a Research Interest?”
Kick off analysis of a GitHub repo to generate a Research Interest from it.Parameters: repo (required, owner/name), interest_name (optional; target interest to attach the analysis to).Returns: A job handle; poll with get_repo_analysis_status.Example prompt: “Analyze acme/inference-server and turn it into a Research Interest”
Check the status of a repo-analysis job.Parameters: job_id (or repo) required.Returns: Status (pending/running/complete/failed) and the derived interest when complete.Example prompt: “Is the analysis of acme/inference-server done yet?”
Re-run analysis on a repo to refresh the interest context after the codebase has changed.Parameters: interest_name (or interest_id) required; optional repo override.Returns: A job handle; poll with get_repo_analysis_status.Example prompt: “Regenerate my inference-server interest from the latest code”

Project Context Tools

Set a default project once and omit project_id on subsequent calls (gcloud-style context resolution). Experiment tools (and others that take a project_id) resolve it from this context when the parameter is omitted.
Set the default project for this session.Parameters: project_id (required).Returns: Confirmation with the resolved project name.Example prompt: “Set my project context to Customer Support AI”
Show the currently active default project.Parameters: None.Returns: The active project_id and name, or a note that no context is set.Example prompt: “What project context am I in?”
Clear the default project so calls require an explicit project_id again.Parameters: None.Returns: Confirmation the context was cleared.Example prompt: “Clear my project context”

Experiment Tools

Create a new experiment in Remyx.Parameters: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”
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”
Update fields on an existing experiment.Parameters:Returns: Updated experiment.Example prompt: “Update the hybrid search experiment with observed delta +3.1%, statistically significant”
Record the team’s decision on an experiment and the reasoning behind it. This is the key ExperimentOps primitive: capturing the why behind a call.Parameters: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.”
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”
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”
Poll the implementation pipeline for a running implementation.Parameters: experiment_id (required).Returns: Pipeline stage (queued/generating/opening_pr/complete/failed) and the PR link once the pipeline opens it.Example prompt: “What’s the implementation status for experiment 3?”

Decision Policy Tools

Define the rules Remyx uses to recommend ship / iterate / reject decisions on an experiment’s outcome: the thresholds and confidence requirements that gate a terminal transition. See Evaluation.
Set the decision policy for a project (or experiment).Parameters: project_id (optional; resolved from set_project_context), policy (object: thresholds, required confidence level, and outcome rules).Returns: The stored policy.Example prompt: “Set a decision policy: ship only when the observed delta is positive and statistically significant, otherwise iterate”
Show the active decision policy.Parameters: project_id (optional; resolved from context).Returns: The current policy, or a note that none is set (defaults apply).Example prompt: “What’s my decision policy for Customer Support AI?”
Remove the decision policy so default decision behavior applies.Parameters: project_id (optional; resolved from context).Returns: Confirmation the policy was cleared.Example prompt: “Clear the decision policy for this project”

Validation Tools

These tools run real validation jobs on connected compute (Modal or Weights & Biases Launch) and return scored results.
Provision and start a validation run for an experiment on connected compute (Modal or W&B Launch).Parameters: experiment_id (required), provider (optional; modal or wandb, defaults to the connected provider), config (optional; run configuration).Returns: A validation job handle; poll with check_validation_status.Example prompt: “Provision a validation run for experiment 7 on Modal”
Check the status of a provisioned validation run.Parameters: experiment_id (required), or job_id.Returns: Job status (queued/running/complete/failed) and progress.Example prompt: “Is the validation for experiment 7 finished?”
Cancel an in-flight validation run.Parameters: experiment_id (required), or job_id.Returns: Confirmation the job was cancelled.Example prompt: “Cancel the validation run for experiment 7”
Get the scored results of a completed validation run.Parameters: experiment_id (required).Returns: Scored validation data: metrics from the run, plus any control vs. treatment comparison recorded for the experiment.
Scored validation runs on Modal / W&B Launch are live. The full external A/B close-loop (pulling live treatment vs. control results from Statsig / LaunchDarkly) is still pending; those data still arrive via update_experiment for now.
Close the experiment loop: record final results and move the experiment to a terminal state (shipped, iterating, rejected, or abandoned).Parameters: experiment_id (required), final_results (object).Returns: Updated experiment in its terminal state with final results recorded.
Scored validation results from Modal / W&B Launch can be closed in directly. Automatically pulling results from external A/B platforms (Statsig / LaunchDarkly) is still pending.

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 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 for a walkthrough.

Next Steps

Connect Claude Code

Step-by-step setup guide

Connect Slack

Set up the managed Slack agent

Experiment Dashboard

See MCP tools in the experiment workflow

API Reference

REST API documentation