原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Rosetta MCP Server

作者:Arielbs版本 1.3.1i★ –i在你的电脑上运行
注册名称io.github.Arielbs/rosetta-mcp-server

安装

概览

作者提供的说明(英文原文)

Rosetta/PyRosetta protein modeling and Biotite translation for computational biology

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 其他

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 需要你自己填写: ROSETTA_BIN, PYTHON_BIN, MCP_DEBUG

你需要

  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "rosetta": {
      "command": "npx",
      "args": [
        "-y",
        "rosetta-mcp-server"
      ],
      "env": {
        "ROSETTA_BIN": "your-value",
        "PYTHON_BIN": "your-value",
        "MCP_DEBUG": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add rosetta --env ROSETTA_BIN=your-value --env PYTHON_BIN=your-value --env MCP_DEBUG=your-value -- npx -y rosetta-mcp-server

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "rosetta": {
      "command": "npx",
      "args": [
        "-y",
        "rosetta-mcp-server"
      ],
      "env": {
        "ROSETTA_BIN": "your-value",
        "PYTHON_BIN": "your-value",
        "MCP_DEBUG": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "rosetta": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "rosetta-mcp-server"
      ],
      "env": {
        "ROSETTA_BIN": "your-value",
        "PYTHON_BIN": "your-value",
        "MCP_DEBUG": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • ROSETTA_BIN env
    Path to rosetta_scripts binary or its directory
  • PYTHON_BIN env
    Python interpreter with PyRosetta/Biotite installed
  • MCP_DEBUG env
    Set to 1 for debug logging

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 Arielbs 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 32686 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 32686 个服务器的 6% 更新
  • 基础检查结果等于或优于此分类中其他 32686 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Rosetta MCP Server 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(1.3.1)于7个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, Microsoft Exchange Online MCP

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

作者:formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

在你的电脑上运行★ 440MIT14个月前更新
安装

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

在云端运行★ 211前天更新
安装

Exchange Online admin for MSPs: forwarding audits, EWS posture and offboarding, no PowerShell

在你的电脑上运行今天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

Rosetta MCP Server

Author: Ariel J. Ben-Sasson

A Model Context Protocol (MCP) server that lets Cursor (or any MCP client) work with Rosetta, PyRosetta, and Biotite: run RosettaScripts, validate XML protocols, translate between Rosetta and Biotite, score structures, and query documentation -- all from your AI coding assistant.

What's new in v1.3.0 (vs v1.1.8 on npm)

New: Biotite integration
  • `rosetta_to_biotite` -- Find the Biotite equivalent of any Rosetta function with working example code (21 mappings covering structure I/O, SASA, RMSD, superimposition, secondary structure, contacts, hydrogen bonds, B-factors, angles, and more)
  • `biotite_to_rosetta` -- Reverse lookup: find the Rosetta equivalent of a Biotite function
  • `translate_rosetta_script_to_biotite` -- Translate entire RosettaScripts XML or PyRosetta code to Biotite Python. Design/optimization operations are flagged as Rosetta-only.
  • Fuzzy search with keyword aliases ("contacts", "binding energy", "surface area", "align", etc.)
Improved: XML to PyRosetta translator
  • 37 element types supported (was 6): 11 movers, 9 filters, 10 selectors, 7 task operations
  • Full attribute handling: repeats, disable_design, cartesian, tolerance, threshold, distance, and more
  • Child element support: MoveMap (with Span), Reweight, ScoreFunction
  • Reports unrecognized elements so you know what needs manual work
Improved: Help and documentation
  • `get_rosetta_help` now accepts any topic: movers by name ("FastRelax"), concepts ("constraints", "docking"), or score functions ("ref2015") -- auto-fetches live docs from rosettacommons.org
  • `search_rosetta_web_docs` fallback: when DuckDuckGo is rate-limited, probes direct Rosetta docs URLs
  • `get_cached_docs` auto-caches: no need to call cache_cli_docs first
  • Expanded static help for score_functions, movers, filters, xml, and parameters
Improved: Scoring
  • `pyrosetta_score`: new per_residue option returns per-residue energy breakdown
  • `scorefxn` parameter now works (was ignored in v1.1.8)
  • Proper error messages for missing files instead of silent {}
Improved: Validation
  • `validate_xml`: new validate_against_schema option checks element names against the Rosetta XSD schema (catches typos like FastRleax)
MCP spec compliance fixes
  • tools/call responses now use correct { content: [{ type: "text", text }] } format
  • Tool errors return isError: true (not JSON-RPC errors)
  • Standard JSON-RPC error codes (-32601, -32700, -32603)
  • Removed false resources capability advertisement
Security fixes
  • User input no longer interpolated into Python code (uses env vars / stdin)
  • Temp files written to os.tmpdir() (not module directory)
Cleanup
  • Removed 3 redundant tools: list_functions (merged into get_rosetta_info), search_pyrosetta_wheels, cache_cli_docs (auto-cache in get_cached_docs)
  • Removed hardcoded personal paths
  • Fixed shadowed variables, async anti-patterns, dead code
  • 18 tools (was 21), all with improved agent-oriented descriptions

Example: asking a naive question

This is what makes the MCP server powerful -- an AI agent can answer domain questions by calling the right tools automatically:

User asks in Cursor: *"How do I relax my protein and what's the Biotite equivalent?"*

The agent calls two MCP tools behind the scenes:

1. `get_rosetta_help("FastRelax")` returns 6000+ chars of live documentation:

FastRelax performs all-atom relaxation using the FastRelax protocol. Parameters include scorefxn, repeats, cartesian, disable_design, MoveMap configuration...

2. `rosetta_to_biotite("FastRelax")` returns:

{

"found": true, "results": [{ "rosetta": { "name": "FastRelax", "example": ["relax = FastRelax()", "relax.set_scorefxn(get_score_function('ref2015'))", "relax.apply(pose)"] }, "biotite": null, "equivalence": "none_from_biotite", "notes": "Biotite does NOT perform structure optimization. These are Rosetta-specific capabilities." }] }

The agent synthesizes: *"FastRelax is Rosetta's all-atom relaxation protocol. Here's how to use it... Note: Biotite is analysis-only and has no equivalent -- you need PyRosetta for structure optimization."*

Without the MCP, the agent would guess from training data and likely get parameter names or API signatures wrong.


What you get (18 tools)

Discovery & Help
ToolDescription
get_rosetta_infoAll available score functions, movers, filters, selectors, parameters
get_rosetta_helpHelp for any topic -- accepts mover names, concepts, or score functions
pyrosetta_introspectLive PyRosetta API search with docs and signatures
Documentation
ToolDescription
search_rosetta_web_docsSearch rosettacommons.org documentation
get_rosetta_web_docFetch and read a specific docs page
get_cached_docsSearch cached CLI help (auto-caches on first use)
Execution & Scoring
ToolDescription
run_rosetta_scriptsRun a RosettaScripts XML protocol on a PDB
pyrosetta_scoreScore a PDB with optional per-residue breakdown
Translation
ToolDescription
xml_to_pyrosettaXML to PyRosetta Python (37 element types)
rosetta_to_biotiteFind Biotite equivalent of a Rosetta function
biotite_to_rosettaFind Rosetta equivalent of a Biotite function
translate_rosetta_script_to_biotiteTranslate full scripts from Rosetta to Biotite
Validation & Schema
ToolDescription
validate_xmlCheck XML syntax + optional schema validation
rosetta_scripts_schemaGenerate XSD schema and extract element names
Environment
ToolDescription
python_env_infoPython version and installed packages
check_pyrosettaVerify PyRosetta is available
install_pyrosetta_installerAuto-install PyRosetta (10-30 min)
find_rosetta_scriptsLocate the rosetta_scripts binary

Quick start

1. Install from npm
npm install -g rosetta-mcp-server
2. Set up Python environment
# Create a venv with PyRosetta and Biotite

uv venv ~/.venvs/rosetta-mcp ~/.venvs/rosetta-mcp/bin/pip install pyrosetta-installer biotite ~/.venvs/rosetta-mcp/bin/python -c "import pyrosetta_installer as I; I.install_pyrosetta()"

Or skip this step -- PyRosetta auto-installs on first use (takes 10-30 min).

3. Configure your MCP client

Cursor (~/.cursor/mcp.json):

{

"mcpServers": { "rosetta": { "command": "rosetta-mcp-server", "args": [], "env": { "ROSETTA_BIN": "/path/to/rosetta_scripts.default.macosclangrelease", "PYTHON_BIN": "/path/to/.venvs/rosetta-mcp/bin/python" } } } }

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{

"mcpServers": { "rosetta": { "command": "rosetta-mcp-server", "env": { "ROSETTA_BIN": "/path/to/rosetta_scripts.default.macosclangrelease", "PYTHON_BIN": "/path/to/.venvs/rosetta-mcp/bin/python" } } } }

Environment variables:

VariableRequiredDescription
ROSETTA_BINNoPath to rosetta_scripts binary or its directory. If not set, searches common paths and PATH.
PYTHON_BINNoPython interpreter with PyRosetta/Biotite. Defaults to python3.
MCP_DEBUGNoSet to 1 for debug logging to stderr.
4. Restart your editor

Open Settings -> MCP. The "rosetta" server should appear green with 18 tools.


XML to PyRosetta translation example

Input XML:

<ROSETTASCRIPTS>

Generated PyRosetta code:

import pyrosetta

from pyrosetta import pose_from_pdb from pyrosetta.rosetta.core.scoring import get_score_function from pyrosetta.rosetta.core.select.residue_selector import * from pyrosetta.rosetta.protocols.relax import *

pyrosetta.init("-mute all")

pose = pose_from_pdb("your_protein.pdb")

Residue Selectors

chainSelector = ChainSelector() chainSelector.set_chain_strings("A")

Movers

fastRelax = FastRelax() fastRelax.set_scorefxn(get_score_function("ref")) fastRelax.set_default_repeats(5) fastRelax.cartesian(True)

sfxn = get_score_function("ref2015")

Apply movers

fastRelax.apply(pose)

pose.dump_pdb("output.pdb") score = pose.energies().total_energy() print(f"Final score: {score}")


Rosetta <-> Biotite mapping coverage

CategoryRosettaBiotiteEquivalence
Structure I/Opose_from_pdbPDBFile.readFull
Structure I/Opose.dump_pdbPDBFile.writeFull
Structure I/Opose_from_file (CIF)CIFFile.readFull
Surface AnalysisSasaMetricbiotite.structure.sasaFull
AlignmentSuperimposeMoverbiotite.structure.superimposeFull
RMSDall_atom_rmsdbiotite.structure.rmsdFull
Secondary StructureDsspMoverannotate_ssePartial
Sequencepose.sequence()get_residuesFull
DistanceAtomPairConstraintbiotite.structure.distanceFull
Anglespose.phi/psi/omegabiotite.structure.dihedralFull
InterfaceInterfaceAnalyzerMoversasa + selectionPartial
Databasercsb.pose_from_rcsbrcsb.fetchFull
SelectionChainSelector etc.numpy boolean indexingFull
Contactsdistance matricesCellListPartial
Ramachandranpose.phi/psidihedral_backbonePartial
H-bondsHBondSetbiotite.structure.hbondPartial
B-factorspdb_info().bfactorAtomArray.b_factorFull
Center of Masscenter_of_massmass_centerFull
ScoringScoreFunction*None*Rosetta only
OptimizationFastRelax*None*Rosetta only
DesignFastDesign*None*Rosetta only

Troubleshooting

  • Server shows red in Cursor: Restart Cursor. Use absolute path in config (e.g., /opt/homebrew/bin/rosetta-mcp-server). Ensure Node 14+ and Python 3.8+.
  • `run_rosetta_scripts` fails: Verify ROSETTA_BIN points to a valid binary. Try "$ROSETTA_BIN" -help.
  • PyRosetta tools say "not available": Install via pip install pyrosetta-installer then run the installer, or let the MCP server auto-install on first use.
  • Biotite tools return no results: Install Biotite in the same Python env: pip install biotite
  • `get_rosetta_help` returns "No detailed help": Try the exact Rosetta class name (e.g., "FastRelax" not "relax"). The tool resolves common aliases but may miss unusual names.

Verify from the command line

# Check version

echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05"}}' | rosetta-mcp-server 2>/dev/null | python3 -c "import sys,json; print(json.loads(sys.stdin.readline())'result')"

List all tools

echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | rosetta-mcp-server 2>/dev/null | python3 -c "import sys,json; [print(t['name']) for t in json.loads(sys.stdin.readline())'result']"

Development

rosetta-mcp-server/

├── rosetta_mcp_wrapper.js # Node MCP server (protocol + all 18 tools) ├── rosetta_mcp_server.py # Python helper (static Rosetta data)

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx