Rosetta MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_DEBUG | No | Set to 1 for debug logging to stderr. | |
| PYTHON_BIN | No | Python interpreter with PyRosetta/Biotite. Defaults to python3. | |
| ROSETTA_BIN | No | Path to rosetta_scripts binary or its directory. If not set, searches common paths and PATH. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_rosetta_infoA | 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_helpA | 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. |
| validate_xmlA | 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. |
| xml_to_pyrosettaA | 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. |
| rosetta_to_biotiteA | 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. |
| biotite_to_rosettaA | 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. |
| translate_rosetta_script_to_biotiteA | 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. |
| search_rosetta_web_docsA | Search online Rosetta documentation at rosettacommons.org. Use when you need docs for a specific Rosetta feature. |
| get_rosetta_web_docA | Fetch and extract text from a specific Rosetta docs URL. Use after search_rosetta_web_docs to read a documentation page. |
| get_local_setupA | Get instructions for installing the full Rosetta MCP server locally with PyRosetta support. Use when a user needs scoring, structure optimization, introspection, or running RosettaScripts protocols -- these require a local installation. |
| run_rosetta_scriptsA | Run a RosettaScripts XML protocol on an input PDB file. Use when executing Rosetta protocols. Requires local installation with rosetta_scripts binary. |
| pyrosetta_scoreA | 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. Requires local installation. |
| pyrosetta_introspectA | Search PyRosetta API classes (movers, filters, selectors, task operations) and return docs and signatures. Use to discover available PyRosetta classes or get constructor details. Requires local installation. |
| rosetta_scripts_schemaA | Generate and cache the RosettaScripts XML schema (XSD). Optionally extract element names. Use to get the authoritative list of valid XML elements. Requires local installation. |
| get_cached_docsA | Search locally cached Rosetta CLI docs for a keyword. Auto-caches on first use. Use to look up command-line flags or parser info. Requires local installation. |
| python_env_infoA | Get Python executable path, version, and pip package list. Use to diagnose environment issues or verify package installations. Requires local installation. |
| check_pyrosettaA | Check if PyRosetta is importable in the current environment. Use before PyRosetta-dependent tools to verify availability. Requires local installation. |
| install_pyrosetta_installerA | Install PyRosetta using the pyrosetta-installer package. Takes 10-30 minutes. Use when PyRosetta is not available and needed for scoring or design. Requires local installation. |
| find_rosetta_scriptsA | Resolve the rosetta_scripts executable path by checking exe_path, ROSETTA_BIN env, common directories, and PATH. Use to verify Rosetta is installed. Requires local installation. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
Each tool has a clearly distinct purpose. Tools with similar themes (e.g., documentation, translation) are differentiated by specific actions (help vs info vs search) or direction (biotite_to_rosetta vs rosetta_to_biotite). Descriptions include 'ALWAYS use this tool' cues that reduce ambiguity.
All tool names use snake_case and follow a predictable verb_noun pattern (e.g., check_pyrosetta, run_rosetta_scripts). Even longer names like translate_rosetta_script_to_biotite are consistent in style. The only slight deviation is biotite_to_rosetta which uses source_target format, but it's still clear and matches rosetta_to_biotite.
19 tools is appropriate for the complex Rosetta domain, covering installation, documentation, translation, scripting, scoring, and validation. Each tool serves a specific need without unnecessary overlap. The count allows comprehensive functionality while remaining manageable.
The tool set covers core workflows: setup, documentation, translation between Biotite and Rosetta, XML validation, and running RosettaScripts. Minor gaps exist: no direct PDB I/O tool (though PyRosetta can handle it) and no general Rosetta executable runner beyond rosetta_scripts. Overall, it is well-equipped for common tasks.