
Rosetta Mcp Server
io.github.Arielbs由 GitHub 帳號 Arielbs 發布v1.3.1更新於 Nov 10, 2026
Rosetta/PyRosetta protein modeling and Biotite translation for computational biology
概覽
讓助理執行 Rosetta 與 PyRosetta 蛋白質建模工作、把 RosettaScripts XML 轉譯成 Python,並在 Rosetta 與 Biotite 之間對應函式。
- 可以做什麼
- 提供 18 個面向計算結構生物學的工具:在 PDB 檔案上執行 RosettaScripts XML 協定、用 PyRosetta 評分(可選逐殘基能量分解)、依 Rosetta XSD 結構描述驗證 XML,以及把 RosettaScripts XML 或 PyRosetta 程式碼轉譯為 Python。另有探索與文件工具,例如即時 PyRosetta API 檢索與 rosettacommons.org 文件搜尋,以及 Rosetta 與 Biotite 的雙向函式對應與整份指令碼轉譯。環境類工具可檢查 Python 環境、找出 rosetta_scripts 執行檔並安裝 PyRosetta。
- 適用情境
- 適合助理需要處理 Rosetta 或 PyRosetta 蛋白質建模的情境:撰寫或驗證 RosettaScripts 協定、轉成 PyRosetta 程式碼、為結構評分,或查找某個 Rosetta 操作對應的 Biotite 寫法。適合已有 Rosetta 或 PyRosetta 環境、想讓 AI 用戶端驅動這些流程的研究人員與開發者。
- 執行需求
- 以 npm 套件形式透過 stdio 在本機執行(Node 14+)。需要安裝 PyRosetta 與 Biotite 的 Python 3.8+ 解譯器,可用 PYTHON_BIN 指定;ROSETTA_BIN 指向 rosetta_scripts 執行檔或其目錄。MCP_DEBUG 可開啟除錯記錄。首次使用時 PyRosetta 可自動安裝,需時 10-30 分鐘。僅支援桌面用戶端。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Rosetta Mcp Server,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
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 functiontranslate_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(withSpan),Reweight,ScoreFunction - Reports unrecognized elements so you know what needs manual work
Improved: Help and documentation
get_rosetta_helpnow accepts any topic: movers by name ("FastRelax"), concepts ("constraints", "docking"), or score functions ("ref2015") -- auto-fetches live docs from rosettacommons.orgsearch_rosetta_web_docsfallback: when DuckDuckGo is rate-limited, probes direct Rosetta docs URLsget_cached_docsauto-caches: no need to callcache_cli_docsfirst- Expanded static help for score_functions, movers, filters, xml, and parameters
Improved: Scoring
pyrosetta_score: newper_residueoption returns per-residue energy breakdownscorefxnparameter now works (was ignored in v1.1.8)- Proper error messages for missing files instead of silent
{}
Improved: Validation
validate_xml: newvalidate_against_schemaoption checks element names against the Rosetta XSD schema (catches typos likeFastRleax)
MCP spec compliance fixes
tools/callresponses 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
resourcescapability 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 intoget_rosetta_info),search_pyrosetta_wheels,cache_cli_docs(auto-cache inget_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,MoveMapconfiguration...
2. rosetta_to_biotite("FastRelax") returns:
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
Documentation
Execution & Scoring
Translation
Validation & Schema
Environment
Quick start
1. Install from npm
2. Set up Python environment
Or skip this step -- PyRosetta auto-installs on first use (takes 10-30 min).
3. Configure your MCP client
Cursor (~/.cursor/mcp.json):
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
Environment variables:
4. Restart your editor
Open Settings -> MCP. The "rosetta" server should appear green with 18 tools.
XML to PyRosetta translation example
Input XML:
Generated PyRosetta code:
Rosetta <-> Biotite mapping coverage
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_scriptsfails: VerifyROSETTA_BINpoints to a valid binary. Try"$ROSETTA_BIN" -help.- PyRosetta tools say "not available": Install via
pip install pyrosetta-installerthen 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_helpreturns "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
Development
License and attribution
- MIT for this repository
- Rosetta/PyRosetta: see RosettaCommons licenses; commercial use requires the appropriate license
- Biotite: BSD 3-Clause license
來源:README.md,提交 0c710cb
工具
0版本歷史
1- v1.3.1最新Sep 16, 2026
評分
已滿足適用檢查項的 40%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
請在儲存庫或註冊中心條目中宣告授權條款。