Token导航 LogoToken导航TokenDH.com
Rosetta MCP Server logo
运维云端未说明官方级别未说明来源级核验

Rosetta MCP Server

MCP Server

一个模型上下文协议(MCP)服务器,使Cursor(或任何MCP客户端)能够与Rosetta、PyRosetta和Biotite协同工作,运行RosettaScripts、验证XML协议、在Rosetta和Biotite之间进行转换、评分结构以及查询文档。

工具数

18

提示词数

0

GitHub Stars

15

资源数

0
生物信息学JavaScriptClaudeClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Arielbs

提供方

Arielbs

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Rosetta MCP服务器

作者:Ariel J.Ben Sasson

一个模型上下文协议(MCP)服务器,允许Cursor(或任何MCP客户端)与Rosetta、PyRosetta和Biosite一起工作:运行RosettaScripts、验证XML协议、在Rosetta和biosite之间进行翻译、评分结构和查询文档——所有这些都可以从您的AI编码助手中完成。

v1.3.0的新功能(与npm上的v1.1.8相比)

新增:Biotite集成

  • rosetta_to_biotite --使用示例代码查找任何Rosetta函数的Biosite等价物(21个映射,涵盖结构I/O、SASA、RMSD、叠加、二级结构、接触、氢键、B因子、角度等)
  • biotite_to_rosetta --反向查找:找到与Biosite函数等效的Rosetta
  • translate_rosetta_script_to_biotite --将整个RosettaScripts XML或PyRosetta代码翻译成Biosite Python。设计/优化操作仅标记为Rosetta。
  • 带有关键字别名的模糊搜索(“联系人”、“结合能”、“表面积”、“对齐”等)

改进:XML到PyRosetta转换器

  • 37种元素类型 支持(6个):11个移动器、9个过滤器、10个选择器、7个任务操作
  • 全属性处理: repeats, disable_design, cartesian, tolerance, threshold, distance,以及更多
  • 儿童元素支持: MoveMap (与 Span), Reweight, ScoreFunction
  • 报告未识别的元素,以便您知道需要手动操作的内容

改进:帮助和文档

  • get_rosetta_help 现在接受任何主题:按名称(“FastRelax”)、概念(“约束”、“对接”)或分数函数(“ref2015”)移动者——自动从rosettacommons.org获取实时文档
  • search_rosetta_web_docs 后备方案:当DuckDuckGo受到速率限制时,会直接探测Rosetta文档URL
  • get_cached_docs 自动缓存:不需要打电话 cache_cli_docs 第一
  • 扩展了score_functions、movers、过滤器、xml和参数的静态帮助

改进:评分

  • pyrosetta_scoreper_residue 每次剩余能量分解的期权回报
  • scorefxn 参数 现在有效(在v1.1.8中被忽略)
  • 丢失文件的正确错误消息,而不是沉默 {}

改进:验证

  • validate_xmlvalidate_against_schema 该选项根据Rosetta XSD模式检查元素名称(捕获拼写错误,如 FastRleax)

MCP规范合规性修复

  • tools/call 现在使用正确的答案 { content: [{ type: "text", text }] } 格式
  • 刀具错误返回 isError: true (非JSON-RPC错误)
  • 标准JSON-RPC错误代码(-32601、-32700、-32603)
  • 已删除false resources 能力广告

安全修补程序

  • 用户输入不再插入Python代码中(使用env-vars/stdin)
  • 写入临时文件 os.tmpdir() (不是模块目录)

清理

  • 删除了3个冗余工具: list_functions (合并成 get_rosetta_info), search_pyrosetta_wheels, cache_cli_docs (自动缓存在 get_cached_docs)
  • 删除了硬编码的个人路径
  • 修复了阴影变量、异步反模式、死代码
  • 18工具 (21岁),所有人都有改进的面向代理的描述

______________________________________________________________________

示例:问一个幼稚的问题

这就是MCP服务器的强大之处——AI代理可以通过自动调用正确的工具来回答域问题:

用户在游标中询问: *“我如何放松我的蛋白质,Biotite的等效物是什么?”*

代理在幕后调用两个MCP工具:

1. get_rosetta_help("FastRelax") 返回6000多个字符的实时文档:

FastRelax使用FastRelax协议执行所有原子弛豫。参数包括 scorefxn, repeats, cartesian, disable_design, MoveMap 配置。..

2. rosetta_to_biotite("FastRelax") 返回:

{
  "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."
  }]
}

该试剂合成: *“FastRelax是Rosetta的全原子弛豫协议。以下是如何使用它……注意:Biosite仅用于分析,没有等效物——你需要PyRosetta进行结构优化。”*

如果没有MCP,代理将根据训练数据进行猜测,并可能得到错误的参数名称或API签名。

______________________________________________________________________

你得到了什么(18个工具)

发现与帮助

工具说明
get_rosetta_info所有可用的评分函数、移动器、过滤器、选择器、参数
get_rosetta_help任何主题的帮助——接受移动者名称、概念或分数函数
pyrosetta_introspect实时PyRosetta API搜索与文档和签名

文档

工具说明
search_rosetta_web_docs搜索rosettacommons.org文档
get_rosetta_web_doc获取并阅读特定的文档页面
get_cached_docs搜索缓存的CLI帮助(首次使用时自动缓存)

执行与评分

工具说明
run_rosetta_scripts在PDB上运行RosettaScripts XML协议
pyrosetta_score使用可选的每个残留物细分对PDB进行评分

翻译

工具说明
xml_to_pyrosettaXML到PyRosetta Python(37种元素类型)
rosetta_to_biotite找到Rosetta函数的Biosite等价物
biotite_to_rosetta找到Rosetta中Biosite函数的等价物
translate_rosetta_script_to_biotite将Rosetta的完整脚本翻译为Biosite

验证和模式

工具说明
validate_xml检查XML语法+可选模式验证
rosetta_scripts_schema生成XSD架构并提取元素名称

环境

工具说明
python_env_infoPython版本和已安装的软件包
check_pyrosetta验证PyRosetta是否可用
install_pyrosetta_installer自动安装PyRosetta(10-30分钟)
find_rosetta_scripts找到rosetta_scripts二进制文件

______________________________________________________________________

快速启动

1.从npm安装

npm install -g rosetta-mcp-server

2.设置Python环境

# 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()"

或者跳过这一步——PyRosetta在首次使用时自动安装(需要10-30分钟)。

3.配置您的MCP客户端

光标 (~/.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"
      }
    }
  }
}

克劳德桌面 (~/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"
      }
    }
  }
}

环境变量:

变量必填描述
ROSETTA_BIN路径 rosetta_scripts 二进制文件或其目录。如果未设置,则搜索公共路径和PATH。
PYTHON_BIN带有PyRosetta/Biosite的Python解释器。默认为 python3.
MCP_DEBUG设置为 1 用于将调试日志记录到stderr。

4.重新启动编辑器

打开设置->MCP。“rosetta”服务器应显示为绿色,带有18个工具。

______________________________________________________________________

XML到PyRosetta的翻译示例

输入XML:


  
    
  
  
    
  
  
    
  
  

    
  

生成的PyRosetta代码:

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}")

______________________________________________________________________

罗塞塔\生物群测绘覆盖率

类别罗塞塔生物岩等效
结构I/Opose_from_pdbPDBFile.read
结构I/Opose.dump_pdbPDBFile.write
结构I/Opose_from_file (CIF)CIFFile.read
表面分析SasaMetricbiotite.structure.sasa
对齐SuperimposeMoverbiotite.structure.superimpose
RMSDall_atom_rmsdbiotite.structure.rmsd
二级结构DsspMoverannotate_sse部分
序列pose.sequence()get_residues
距离AtomPairConstraintbiotite.structure.distance
角度pose.phi/psi/omegabiotite.structure.dihedral
接口InterfaceAnalyzerMoversasa +选择部分
数据库rcsb.pose_from_rcsbrcsb.fetch
选择ChainSelector 等等numpy布尔索引完整
联系人距离矩阵CellList部分
拉玛钱德兰pose.phi/psidihedral_backbone部分
H键HBondSetbiotite.structure.hbond部分
B因素pdb_info().bfactorAtomArray.b_factor
质心center_of_massmass_center
评分ScoreFunction*无*仅限罗塞塔
优化FastRelax*无*仅限罗塞塔
设计FastDesign*无*仅限罗塞塔

______________________________________________________________________

故障排除

  • 服务器在光标中显示红色:重新启动游标。在配置中使用绝对路径(例如。, /opt/homebrew/bin/rosetta-mcp-server).确保Node 14+和Python 3.8+。
  • run_rosetta_scripts 失败:验证 ROSETTA_BIN 指向一个有效的二进制文件。尝试 "$ROSETTA_BIN" -help.
  • PyRosetta工具显示“不可用”:通过安装 pip install pyrosetta-installer 然后运行安装程序,或者让MCP服务器在首次使用时自动安装。
  • Biosite工具未返回任何结果:在同一Python环境中安装Biosite: pip install biotite
  • get_rosetta_help return“无详细帮助”:尝试精确的Rosetta类名(例如,“FastRelax”而不是“relax”)。该工具可以解析常见别名,但可能会遗漏不寻常的名称。

从命令行验证

# 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']['serverInfo'])"

# 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']['tools']]"

发展

rosetta-mcp-server/
├── rosetta_mcp_wrapper.js   # Node MCP server (protocol + all 18 tools)
├── rosetta_mcp_server.py    # Python helper (static Rosetta data)
├── install_pyrosetta.js     # Standalone PyRosetta installer
├── package.json             # npm package config
└── README.md

许可和归属

  • MIT用于此存储库
  • Rosetta/PyRosetta:请参阅RosettaCommons许可证;商业使用需要适当的许可证
  • Biotite:BSD 3条款许可

目录标签

目录标签

生物信息学JavaScriptClaude本地部署蛋白质建模结构生物学计算化学Python集成

支持客户端

ClaudeCursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

18

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP