# io.github.Arielbs/rosetta-mcp-server (npm · rosetta-mcp-server)

Rosetta/PyRosetta protein modeling and Biotite translation for computational biology

- Trust score: 73/100 (medium)
- Change this week: −8
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `rosetta-mcp-server`: 73/100 (this document), [markdown](https://verifymcp.io/servers/arielbs-rosetta-mcp-server/rosetta-mcp-server.md), [page](https://verifymcp.io/servers/arielbs-rosetta-mcp-server/rosetta-mcp-server)

## Channel facts

- Registry: `npm`
- Package: `rosetta-mcp-server`
- Version: `1.3.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - No production dependencies, so there is no dependency health to assess.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 121 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 77/100
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 1512 tokens (~84/item across 18 items; 18 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 98/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 94% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add arielbs-rosetta-mcp-server -- npx -y rosetta-mcp-server
```

### Codex

```bash
codex mcp add arielbs-rosetta-mcp-server -- npx -y rosetta-mcp-server
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "arielbs-rosetta-mcp-server": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "rosetta-mcp-server"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add arielbs-rosetta-mcp-server --command npx --arg -y --arg rosetta-mcp-server
```

### Hermes

```yaml
mcp_servers:
  arielbs-rosetta-mcp-server:
    command: "npx"
    args: ["-y", "rosetta-mcp-server"]
```

### Other

```json
{
  "mcpServers": {
    "arielbs-rosetta-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "rosetta-mcp-server"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 73, +19)

- [security improvement] Malware scan: unverified → pass
- [functional improvement] Stability: unverified → 0.23

### 2026-08-01 (score 54, −9)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-31 (score 63, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-27 (score 81, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 81)

First indexed and scored.

## MCP tools (18)

### `get_rosetta_info` (~66 tokens)

Get comprehensive Rosetta installation info including available score functions, movers, filters, selectors, task operations, parameters, and command-line options. Use this first to understand what Rosetta components are available. For live PyRosetta API details, use pyrosetta_introspect.

### `get_rosetta_help` (~75 tokens)

Get help for any Rosetta topic, mover, filter, or concept. Accepts general topics (score_functions, movers, filters, xml, parameters) or specific names (FastRelax, Ddg, ChainSelector). Auto-fetches live documentation when available.

Input parameters:

- `topic` (string): Topic to get help for

### `validate_xml` (~85 tokens)

Validate a RosettaScripts XML protocol. Checks XML syntax and optionally validates element names against the Rosetta XSD schema. Use before run_rosetta_scripts to catch errors early.

Input parameters:

- `validate_against_schema` (boolean): If true, also check element names against the cached Rosetta XSD schema (default: false)
- `xml_content` (string, required): XML content to validate

### `run_rosetta_scripts` (~109 tokens)

Run a RosettaScripts XML protocol on an input PDB file. Use when executing Rosetta protocols. Requires rosetta_scripts binary.

Input parameters:

- `exe_path` (string): Path to rosetta_scripts executable (optional if on PATH)
- `extra_flags` (array): Additional command-line flags
- `input_pdb` (string, required): Path to input PDB
- `out_dir` (string, required): Output directory
- `xml_path` (string, required): Path to Rosetta XML protocol

### `pyrosetta_score` (~98 tokens)

Score a PDB file using PyRosetta. Returns total energy in REU. Use to evaluate structure quality or compare designs. Optionally returns per-residue energy breakdown.

Input parameters:

- `pdb_path` (string, required): Path to input PDB
- `per_residue` (boolean): If true, include per-residue energy breakdown (default: false)
- `scorefxn` (string): Score function name (default: ref2015)

### `pyrosetta_introspect` (~95 tokens)

Search PyRosetta API classes (movers, filters, selectors, task operations) and return docs and signatures. Use to discover available PyRosetta classes or get constructor details.

Input parameters:

- `kind` (string): Filter by kind: mover|filter|selector|task
- `max_results` (number): Max number of results (default 50)
- `query` (string): Substring to match class names

### `rosetta_scripts_schema` (~87 tokens)

Generate and cache the RosettaScripts XML schema (XSD). Optionally extract element names. Use to get the authoritative list of valid XML elements.

Input parameters:

- `cache_dir` (string): Directory to store schema
- `exe_path` (string): Path to rosetta_scripts executable (optional)
- `extract_elements` (boolean): If true, return a list of element names

### `get_cached_docs` (~78 tokens)

Search locally cached Rosetta CLI docs for a keyword. Auto-caches on first use. Use to look up command-line flags or parser info.

Input parameters:

- `cache_dir` (string): Directory where docs are cached
- `max_lines` (number): Max number of lines to return (default 200)
- `query` (string): Search string

### `python_env_info` (~31 tokens)

Get Python executable path, version, and pip package list. Use to diagnose environment issues or verify package installations.

### `check_pyrosetta` (~35 tokens)

Check if PyRosetta is importable in the current environment. Use before PyRosetta-dependent tools to verify availability.

### `install_pyrosetta_installer` (~55 tokens)

Install PyRosetta using the pyrosetta-installer package. Takes 10-30 minutes. Use when PyRosetta is not available and needed for scoring or design.

Input parameters:

- `silent` (boolean)

### `find_rosetta_scripts` (~52 tokens)

Resolve the rosetta_scripts executable path by checking exe_path, ROSETTA_BIN env, common directories, and PATH. Use to verify Rosetta is installed.

Input parameters:

- `exe_path` (string)

### `xml_to_pyrosetta` (~95 tokens)

Translate RosettaScripts XML to equivalent PyRosetta Python code. Supports 37 element types including movers, filters, selectors, and task operations. Use when converting XML protocols to Python.

Input parameters:

- `include_comments` (boolean): Include detailed comments in output (default: true)
- `output_format` (string): Output format (default: python)
- `xml_content` (string, required): RosettaScripts XML content to translate

### `search_rosetta_web_docs` (~72 tokens)

Search online Rosetta documentation at rosettacommons.org. Use when you need docs for a specific Rosetta feature.

Input parameters:

- `max_results` (number): Number of results to return (default 3)
- `query` (string, required): Search query (e.g., FastRelax, AtomPair constraint)

### `get_rosetta_web_doc` (~73 tokens)

Fetch and extract text from a specific Rosetta docs URL. Use after search_rosetta_web_docs to read a documentation page.

Input parameters:

- `max_chars` (number): Max characters of cleaned text to return (default 4000)
- `url` (string, required): Full URL to a Rosetta docs page

### `rosetta_to_biotite` (~156 tokens)

ALWAYS use this tool when asked about Rosetta vs Biotite equivalents. Returns the Biotite equivalent of a Rosetta/PyRosetta function with working example code. Covers: structure I/O, SASA, RMSD, superimposition, secondary structure, distances, angles, contacts, hydrogen bonds, B-factors, interface analysis, database access, and residue selection.

Input parameters:

- `category` (string): Optional category filter (e.g., "Structure I/O", "Geometry", "Surface Analysis")
- `query` (string, required): Rosetta method or concept name (e.g., "pose_from_pdb", "FastRelax", "SuperimposeMover", "SASA", "RMSD")

### `biotite_to_rosetta` (~132 tokens)

ALWAYS use this tool when asked about Biotite vs Rosetta equivalents. Returns the Rosetta/PyRosetta equivalent of a Biotite function with working example code. Covers: structure I/O, SASA, RMSD, superimposition, secondary structure, distances, angles, contacts, hydrogen bonds, B-factors, and residue selection.

Input parameters:

- `category` (string): Optional category filter
- `query` (string, required): Biotite function or concept name (e.g., "sasa", "superimpose", "PDBFile.read", "annotate_sse")

### `translate_rosetta_script_to_biotite` (~118 tokens)

ALWAYS use this tool when asked to convert or translate Rosetta code to Biotite. Translates RosettaScripts XML or PyRosetta code to Biotite Python code. Analysis operations are translated; design/optimization are flagged as Rosetta-only.

Input parameters:

- `code` (string, required): RosettaScripts XML content or PyRosetta Python code to translate
- `include_comments` (boolean): Include explanatory comments in output (default: true)
- `input_format` (string): Input format (default: "auto")

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/arielbs-rosetta-mcp-server/rosetta-mcp-server#diagnostics

## Score history

- 2026-08-03: 73
- 2026-08-02: 73
- 2026-08-01: 54
- 2026-07-31: 63
- 2026-07-29: 81
- 2026-07-28: 81
- 2026-07-27: 81
- 2026-07-26: 81

## Links

- npm package: https://www.npmjs.com/package/rosetta-mcp-server
- Socket report: https://socket.dev/npm/package/rosetta-mcp-server
- Repository: https://github.com/Arielbs/rosetta-mcp-server
- Changelog RSS feed: https://verifymcp.io/servers/arielbs-rosetta-mcp-server/rosetta-mcp-server/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/arielbs-rosetta-mcp-server/rosetta-mcp-server/changelog.json
- HTML version of this page: https://verifymcp.io/servers/arielbs-rosetta-mcp-server/rosetta-mcp-server
