自动MCP服务器生成器

Repocaster是一个智能代理框架,能够自动将现有的GitHub仓库或本地代码库转换为模型上下文协议(MCP)服务器,特别优化于计算生物学工作流。

  • by ivandon15
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ivandon15/repocaster

使用说明

Repocaster:用于计算生物学的自动MCP服务器生成器

Repocaster 是一个智能代理框架,旨在自动将现有的GitHub存储库或本地代码库“转换”到 模型上下文协议(MCP) 服务器。

虽然Repocaster是一个通用工具,但它已经过专门的优化 计算生物学 工作流程。它使研究人员和开发人员能够立即将复杂的、基于CLI的生物信息学工具(如ProteinMPNN、ESM或对接实用程序)转换为交互式、人工智能可访问的工具,而无需编写一行包装代码。

🧠 运作原理

Repocaster采用多级代理管道,由 LangGraph:

  1. 存储库摄入:克隆目标存储库(远程GitHub URL或本地路径)。
  2. AST分析:使用Python的抽象语法树(AST)静态分析代码库。它标识入口点、参数解析器和函数签名。
  3. 深度代理推理:一个多步骤LLM代理分析代码结构和使用示例,以了解 意图 以及该工具的“黄金工作流程”。
    • 工作流分析师:标识脚本的正确执行顺序(例如,预处理->推理)。
    • 模式精炼器:选择关键参数并过滤掉噪声。
    • 工具评论家和评论家:迭代地提高工具覆盖率和参数完整性,同时避免冗余。
  4. 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/<RepoName>/

然后,您可以使用MCP检查器运行生成的服务器,或在MCP客户端中对其进行配置(但您最好先对服务器代码进行一些改进):

mcp dev mcp_servers/ProteinMPNN/server.py

🛠️ 推荐工作流程

为确保生成的MCP服务器在生产中可靠工作:

  1. 生成:运行Repocaster以生成 server.py.
  2. 验证:请GitHub Copilot(或其他编码助手)为生成的服务器代码编写一个简单的测试脚本,以捕获任何基本语法或导入错误。
  3. 测试:将服务器连接到LLM(例如,通过Claude Desktop或MCP客户端)并运行测试查询。

备注:我发现 qwen3-max 使用LangGraph管道的模型可以产生高质量的结果,通常只需要进行微小的调整。

🧪 案例研究:ProteinMPNN

我们已成功将Repocaster应用于 蛋白质MPNN,一种最先进的蛋白质序列设计方法。

自动重新启动:

  1. 识别 protein_mpnn_run.py 作为主要的推理脚本。
  2. 检测到以下辅助脚本 parse_multiple_chains.py 用于数据预处理。
  3. 生成了一个MCP服务器,将这些作为工具公开:
    • parse_chains:将PDB文件转换为所需的JSONL格式。
    • protein_mpnn_run:使用以下参数运行序列设计模型 sampling_temp, num_seq_per_target等等。

更多细节和示例可以在 mcp_servers/ProteinMPNN/ 目录。

📜 许可证

该项目根据MIT许可证获得许可。请参阅 许可证 文件以获取详细信息。