Repocaster:用于计算生物学的自动MCP服务器生成器
Repocaster 是一个智能代理框架,旨在自动将现有的GitHub存储库或本地代码库“转换”到 模型上下文协议(MCP) 服务器。
虽然Repocaster是一个通用工具,但它已经过专门的优化 计算生物学 工作流程。它使研究人员和开发人员能够立即将复杂的、基于CLI的生物信息学工具(如ProteinMPNN、ESM或对接实用程序)转换为交互式、人工智能可访问的工具,而无需编写一行包装代码。
🧠 运作原理
Repocaster采用多级代理管道,由 LangGraph:
- 存储库摄入:克隆目标存储库(远程GitHub URL或本地路径)。
- AST分析:使用Python的抽象语法树(AST)静态分析代码库。它标识入口点、参数解析器和函数签名。
- 深度代理推理:一个多步骤LLM代理分析代码结构和使用示例,以了解 *意图* 以及该工具的“黄金工作流程”。
- 工作流分析师:标识脚本的正确执行顺序(例如,预处理->推理)。 - 模式精炼器:选择关键参数并过滤掉噪声。 - 工具评论家和评论家:迭代地提高工具覆盖率和参数完整性,同时避免冗余。
- MCP服务器生成:代理生成功能齐全的
server.py使用fastmcp库,将存储库的功能作为结构化工具公开。它还丰富了工具 综合文档字符串,确保LLM能够准确理解和利用这些工具。
📊 LangGraph可视化
LangGraph协调代理进程。下面是代理工作流程的可视化:
🚀 安装
# Clone the repository
git clone https://github.com/ivandon15/repocaster.git
cd repocaster
# Install dependencies
pip install -r requirements.txt💻 用法
跑 cast.py 使用目标存储库URL。
基本用法(OpenAI)
确保你有 OPENAI_API_KEY 设置在您的环境中。
export OPENAI_API_KEY=sk-...
python cast.py https://github.com/dauparas/ProteinMPNN使用其他模型(例如DeepSeek、Qwen)
您可以指定自定义模型名称、基本URL和 *名字* 包含API密钥的环境变量的。
# Example: Using DeepSeek
export DEEPSEEK_API_KEY=sk-...
python cast.py https://github.com/dauparas/ProteinMPNN \
--model_name deepseek-chat \
--model_url https://api.deepseek.com \
--api_key DEEPSEEK_API_KEY# Example: Using Qwen (via DashScope)
export QWEN_API_KEY=sk-...
python cast.py https://github.com/facebookresearch/esm \
--model_name qwen3-max \
--model_url https://dashscope.aliyuncs.com/compatible-mode/v1 \
--api_key QWEN_API_KEY生成的MCP服务器将保存在: ./mcp_servers//
然后,您可以使用MCP检查器运行生成的服务器,或在MCP客户端中对其进行配置(但您最好先对服务器代码进行一些改进):
mcp dev mcp_servers/ProteinMPNN/server.py🛠️ 推荐工作流程
为确保生成的MCP服务器在生产中可靠工作:
- 生成:运行Repocaster以生成
server.py. - 验证:请GitHub Copilot(或其他编码助手)为生成的服务器代码编写一个简单的测试脚本,以捕获任何基本语法或导入错误。
- 测试:将服务器连接到LLM(例如,通过Claude Desktop或MCP客户端)并运行测试查询。
备注:我发现 qwen3-max 使用LangGraph管道的模型可以产生高质量的结果,通常只需要进行微小的调整。🧪 案例研究:ProteinMPNN
我们已成功将Repocaster应用于 蛋白质MPNN,一种最先进的蛋白质序列设计方法。
自动重新启动:
- 识别
protein_mpnn_run.py作为主要的推理脚本。 - 检测到以下辅助脚本
parse_multiple_chains.py用于数据预处理。 - 生成了一个MCP服务器,将这些作为工具公开:
- parse_chains:将PDB文件转换为所需的JSONL格式。 - protein_mpnn_run:使用以下参数运行序列设计模型 sampling_temp, num_seq_per_target等等。
更多细节和示例可以在 mcp_servers/ProteinMPNN/ 目录。
📜 许可证
该项目根据MIT许可证获得许可。请参阅 许可证 文件以获取详细信息。
