目录

material_MCP — 精简的 MCP 服务复现仓库

本仓库从 flux(MatterGen + DEMO 进化层) 中只抽取与 MCP 服务相关的那一层,剥离 MatterGen 训练 / DEMO 进化优化 / JACS / knowledge_base 等无关代码,提供一个干净、可独立复现的 MCP 服务仓库。

仓库内容

material_MCP/
├── README.md                         本文件
├── .gitignore
├── .claude/skills/deploy-mcp-service 复现/部署 MCP 服务的 skill(runbook + 参考)
├── Dockerfile.mcp-git                git-pull 构建镜像(GIT_REPO 完全参数化)
├── mcp_servers/
│   ├── bootstrap_paths.py            平铺导入路径引导(server.py 依赖)
│   ├── alignn_predict_server/        ALIGNN 性质预测 MCP(自包含,无 MatterSim/JACS)
│   └── mattergen_generate_server/    MatterGen 结构生成 MCP(异步:submit + poll)
└── docker/
    ├── update-alignn-mcp.sh              构建 + 启动 alignn-predict-mcp 容器
    ├── update-mattergen-generate-mcp.sh  启动 mattergen-generate-mcp 容器(复用现成镜像)
    ├── manage-mcp.sh                     已部署 MCP 容器的生命周期/健康总览
    └── git-build-secret.sh               私有仓库 BuildKit 凭据 helper

ALIGNN MCP(mcp_servers/alignn_predict_server/

轻量独立的 ALIGNN 性质预测服务:CIF 输入 → 直接喂 ALIGNN(不做 MatterSim 弛豫), 返回若干标量性质。只依赖 alignn / jarvis / dgl / torch / pymatgen,与重流水线 flux_predict_server(弛豫 + ALIGNN/CHGNet/JACS)解耦。

  • 传输:FastMCP 原生 HTTP(streamable-http),MCP 端点 /mcp
  • 工具:predict_alignn_properties(无需 Header)
  • 模型注册表(10 个单标量 ALIGNN 模型):formation_energy, bandgap, dielectric, ehull, bulk_modulus, shear_modulus, exfoliation_energy, slme, supercon_tc, magmom
  • 失败语义:{value: null, error: "..."}(不使用 999/-1 哨兵);推理用进程锁串行化

详见 mcp_servers/alignn_predict_server/README.md

本地运行

cd mcp_servers/alignn_predict_server
pip install -r requirements.txt          # mcp / pydantic / requests(alignn 等已在镜像/环境内)
python server.py                          # 监听 0.0.0.0:8000,MCP: http://localhost:8000/mcp
# 本机 stdio 调试:
python stdio_mcp.py

部署到团队集群(容器 + nginx 公网暴露)

完整流程见 skill:.claude/skills/deploy-mcp-service/SKILL.md。一键脚本:

# 1) 设置私有仓库凭据(首次 push material_MCP 到远程后)
export GIT_USERNAME=你的用户名
export GIT_PASSWORD=你的密码或Token
# 可选:覆盖默认远程 / 分支
export GIT_REPO=https://gitlink.org.cn/somunslotus/material_MCP.git
export GIT_BRANCH=main

# 2) 构建镜像并启动容器(对外 9125)
bash docker/update-alignn-mcp.sh

# 3) nginx 暴露(在 192.168.60.11 上加 /mcp/alignn/ 路由)—— 见 skill Step 4
#    公网 MCP 地址:http://218.77.58.19:22222/mcp/alignn/mcp

skill 内含:拓扑与端口占用(references/topology.md)、docker run 模板(docker-run.md)、 MCP 握手验证(mcp-verify.md)、nginx 路由与公网验证(nginx-and-verify.md)。

与 flux 仓库的差异

  • 只保留 ALIGNN MCP 一个自包含服务;flux_predict_server / evolution_mcp_server 依赖 MatterGen + DEMO core,仍留在 flux 仓库,作为 skill 里提到的模板。
  • Dockerfile.mcp-gitGIT_REPO 改为完全参数化(原版在带凭据 URL 里硬编码了 flux.git),默认指向本仓库。
  • 其余文件(skill、alignn server、bootstrap_paths、git-build-secret)与 flux 一致。
关于
278.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号