# rosetta-mcp-server

An MCP server that lets your coding assistant run RosettaScripts protocols, score protein structures, and map code between PyRosetta and Biotite.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 19
- Author: Arielbs
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/Arielbs/rosetta-mcp-server
- Updated: 2026-04-05
- HTML: https://affpapa.org/en/nevibecode/mcp/rosetta-mcp-server

## What it does

The server exposes 18 tools to the agent. They cover live help on movers and score functions pulled from rosettacommons.org, XML validation against the Rosetta schema, and execution of a protocol on a PDB file. A translator converts RosettaScripts XML into PyRosetta Python across 37 element types, handling attributes such as `repeats`, `cartesian` and `threshold` plus child elements like `MoveMap` and `Reweight`. Anything it cannot map gets listed so you know where to step in.

Biotite support works as a two-way lookup table for function equivalents, with examples, and can rewrite a whole script. Ask about design or structure optimisation and you get a plain answer: Biotite does not do that, you need PyRosetta. There are also checks for the environment: Python version, installed packages, whether PyRosetta is present, where the `rosetta_scripts` binary lives, and an installer for PyRosetta itself.

It will not run on a bare machine. You need a Python environment with PyRosetta and the Rosetta binary path in `ROSETTA_BIN`. The built-in installer takes 10-30 minutes, so do not start it right before a deadline.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `ROSETTA_BIN`, `PYTHON_BIN`, `MCP_DEBUG` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env ROSETTA_BIN=<ROSETTA_BIN> --env PYTHON_BIN=<PYTHON_BIN> --env MCP_DEBUG=<MCP_DEBUG> --transport stdio rosetta-mcp-server -- npx -y rosetta-mcp-server
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add rosetta-mcp-server --env ROSETTA_BIN=<ROSETTA_BIN> --env PYTHON_BIN=<PYTHON_BIN> --env MCP_DEBUG=<MCP_DEBUG> -- npx -y rosetta-mcp-server
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "rosetta-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "rosetta-mcp-server"
            ],
            "env": {
                "ROSETTA_BIN": "<ROSETTA_BIN>",
                "PYTHON_BIN": "<PYTHON_BIN>",
                "MCP_DEBUG": "<MCP_DEBUG>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "rosetta-mcp-server": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "rosetta-mcp-server"
            ],
            "env": {
                "ROSETTA_BIN": "<ROSETTA_BIN>",
                "PYTHON_BIN": "<PYTHON_BIN>",
                "MCP_DEBUG": "<MCP_DEBUG>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e ROSETTA_BIN=<ROSETTA_BIN> -e PYTHON_BIN=<PYTHON_BIN> -e MCP_DEBUG=<MCP_DEBUG> rosetta-mcp-server npx -y rosetta-mcp-server
```
Replace <…> with your own values

## When to use it
- run a RosettaScripts protocol on a PDB from the chat
- convert a RosettaScripts XML into PyRosetta code
- find the Biotite counterpart of a Rosetta call
- catch a misspelled XML element before running
- get per-residue energy numbers for a structure

## Example prompts
- How do I relax a protein with PyRosetta, and is there a Biotite equivalent?
- Validate `protocol.xml` and list the elements you could not map
- Run `rosetta_scripts` on `model.pdb` and show per-residue energies

## Similar
- [Zotero MCP](https://affpapa.org/en/nevibecode/mcp/zotero-mcp.md) — MCP server · ★ 5548
- [arxiv-mcp-server](https://affpapa.org/en/nevibecode/mcp/arxiv-mcp-server.md) — MCP server · ★ 3231
- [PaperBanana](https://affpapa.org/en/nevibecode/mcp/paperbanana.md) — MCP server · ★ 2417
- [MATLAB MCP Server](https://affpapa.org/en/nevibecode/mcp/matlab-mcp-server.md) — MCP server · ★ 1716
- [Hex Research](https://affpapa.org/en/nevibecode/mcp/hex-research.md) — MCP server · ★ 583
- [DocsAgent — Zotero, Obsidian & Apple Notes MCP Server](https://affpapa.org/en/nevibecode/mcp/docsagent-zotero-obsidian-apple-notes-mcp-server.md) — MCP server · ★ 578

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
