纳米抗体设计协议服务器

BoltzGen MCP是一个为纳米抗体设计提供模型上下文协议的服务器,支持文件上传、验证、模板渲染和作业管理等功能。

  • by SungminKo-smko
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 SungminKo-smko/boltzgen-mcp

使用说明

博尔茨根-MCP

BoltzGen MSA API용 模型上下文协议(MCP)服务器.

允许Claude直接使用工具调用BoltzGen纳米主体设计API。

提供的Tools(11个)

Tool 说明
upload_structure .cif/.pdb 上传文件→ asset_id 返回
validate_spec 验证原始YAML spec→ spec_id 返回
render_template nanobody_targeted_binder 呈现模板→ spec_id 返回
submit_job 提交设计杂志→ job_id 返回
get_job 查看杂状态和详细信息
list_jobs 查询杂项列表(支持筛选器)
cancel_job 取消正在运行的杂项
get_logs 查看工作人员stdout日志
get_artifacts 查询已完成的Job的文章URL
list_templates 可用spec模板列表
list_workers 正在运行的ACA工作人员列表(admin)

部署方法

A.本地stdio(Claude Code)

git clone https://github.com/SungminKo-smko/boltzgen-mcp ~/workspace/boltzgen-mcp
python3 ~/workspace/boltzgen-mcp/setup.py

setup.py自动处理依赖性安装+API_KEY设置+MCP注册。

B.Azure Functions(远程HTTP MCP)

1.事前准备

# Azure Functions Core Tools 설치
npm install -g azure-functions-core-tools@4

# Azurite (로컬 스토리지 에뮬레이터)
npm install -g azurite

2.本地测试

cd ~/workspace/boltzgen-mcp

# local.settings.json에 API_KEY 설정
# "API_KEY": "<your-key>"

azurite &          # 스토리지 에뮬레이터 시작
func start         # Azure Functions 로컬 실행

MCP端点: http://localhost:7071/runtime/webhooks/mcp

3.部署Azure

# Azure 로그인
az login

# Function App 생성 (최초 1회)
az group create --name boltzgen-rg --location westus3
az storage account create --name boltzgenstorage --resource-group boltzgen-rg \
    --location westus3 --sku Standard_LRS
az functionapp create \
    --resource-group boltzgen-rg \
    --consumption-plan-location westus3 \
    --runtime python --runtime-version 3.11 \
    --functions-version 4 \
    --name boltzgen-mcp \
    --storage-account boltzgenstorage \
    --os-type linux

# API_KEY 설정
az functionapp config appsettings set \
    --name boltzgen-mcp \
    --resource-group boltzgen-rg \
    --settings API_KEY=<your-boltzgen-api-key>

# 배포
func azure functionapp publish boltzgen-mcp

4.验证MCP端点和验证密钥

# mcp_extension 시스템 키 조회
az functionapp keys list \
    --name boltzgen-mcp \
    --resource-group boltzgen-rg \
    --query "systemKeys.mcp_extension" -o tsv

MCP端点: https://boltzgen-mcp.azurewebsites.net/runtime/webhooks/mcp

注册Claude Code:

claude mcp add boltzgen-remote --transport http \
    https://boltzgen-mcp.azurewebsites.net/runtime/webhooks/mcp \
    --header "x-functions-key: <mcp_extension-key>"

文件结构

boltzgen-mcp/
  server.py           ← stdio MCP 서버 (로컬, Claude Code)
  function_app.py     ← Azure Functions MCP 서버 (원격, HTTP)
  host.json           ← Azure Functions 호스트 설정 (MCP extension bundle)
  local.settings.json ← 로컬 개발 설정 (gitignored)
  requirements.txt    ← azure-functions, httpx, mcp[cli]
  pyproject.toml      ← 패키지 메타데이터
  smithery.yaml       ← Smithery 등록용
  setup.py            ← API_KEY 설정 + MCP 등록 자동화
  .vscode/mcp.json    ← VS Code MCP 연결 설정

身份验证(Authentication)

如何获取API密钥

BoltzGen API x-api-key 用标头认证。获取API密钥的方法有两种:

方法1:Google OAuth(推荐)

在浏览器中打开以下URL,通过Google帐户登录,即可获得API密钥:

https://nanobody-aca-api.politebay-55ff119b.westus3.azurecontainerapps.io/auth/login
  • @shaperon.com 帐户自动批准(auto-approved)
  • 发放的API密钥与Boltz-2结构预测服务共享(相同的Supabase identity)

方法2:直接设置

从管理员处获取API密钥,以获取环境变量或 .env 在文件中设置。

OAuth端点(注意)

端点 说明
GET /auth/login 返回Google OAuth URL({auth_url})
GET /auth/callback?code=... OAuth回调→ {user_id, email, api_key, ...} 返回
POST /auth/device-code 发放设备代码({device_code, user_code, verification_url, expires_in})
POST /auth/device-token 使用设备代码交换令牌({status, api_key})

API Key搜索顺序

MCP服务器按以下顺序查找API密钥:

  1. 每个tool的 api_key 参数(调用时直接传递)
  2. API_KEY 环境变量(或服务器目录的 .env 文件)
  3. ~/.claude/skills/boltzgen-design/.env 文件(与boltzgen-skill共享)
  4. 如果上面都没有,则返回OAuth登录提示信息

环境变量

变量 必需 说明
API_KEY BoltzGen x-api-key认证密钥(可通过Google OAuth获得)
API_BASE_URL - API服务器URL覆盖(默认内置)

开发模式(stdio)

mcp dev server.py

相关报告