高性能计算MCP工具库

一个为高性能计算和融合计算场景提供的MCP工具库,包含函数、提示和资源,可通过独立服务器或其他工具组合使用。

  • by converged-computing
  • Python
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 converged-computing/hpc-mcp

使用说明

hpc-mcp

🌀 用于高性能计算的代理MCP工具

相关项目

  • 通量mcp:Flux框架的MCP功能。
  • 分形:(分形)MCP编排(代理、数据库、ui接口)。

用法

这是一个用于融合计算和HPC用例的MCP工具库(功能、提示和资源)。这里提供了一个演示服务器,预计大部分功能将作为其他库的导入单点使用。我们欢迎与HPC、融合计算和科学相关的所有功能类型的贡献。这些MCP工具可以通过独立服务器使用,也可以与其他工具结合使用。

环境

工具的控制(访问、限制等)是通过环境完成的。

名称 描述 默认值
HPCMCP_FILESYSTEM_SANDBOX 启用(要求)沙盒 False
HPCMCP_FILESYSTEM_DATA_ROOT 如果启用了沙盒,则只读数据根 未设置
HPCMCP_FILESYSTEM_RESULT_ROOT 如果启用了沙盒,则读取和写入代理要写入的结果根 未设置
HPCMCP_FILESYSTEM_TOKEN_LIMIT 响应中允许的令牌硬限制 未设置

服务器

我们提供了fastmcp和vanilla mcp(stdio)设置的示例。这两个要求都不会直接添加到安装中,因此由用户(您)安装。使用fastmcp(TBA)进行测试

fastmcp

您需要安装fastapi和fastmcp。

# fastmcp
pip install fastmcp fastapi

要启动演示服务器,请执行以下操作:

# Vanilla MCP (with cli)
echo '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0"}}}' | python3 -m hpc_mcp.server | jq

# Initialize and list tools
(echo '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "manual-test", "version": "1.0"}}}';
 echo '{"jsonrpc": "2.0", "method": "notifications/initialized"}';
 echo '{"jsonrpc": "2.0", "id": 2, "method": "tools/list"}') | python3 -m hpc_mcp.server | jq

# FastMCP
python3 -m hpc_mcp.server.fastmcp

测试

我将在为git编写测试时向其添加工具。要进行测试,请在一个终端中启动fastmcp服务器:

python3 -m hpc_mcp.server.fastmcp

在另一个终端中,运行测试。你需要 pip install pytest pytest-asyncio

pytest -xs tests/test_build_docker.py

# or
pytest -xs tests/test_*.py

待办事项

  • 为LLM的所有函数添加带注释的描述。

要添加的工具:

  • 助手
    • 调试
    • 结果解析器(正则表达式)
  • Kubernetes
    • 部署作业
    • 部署微型集群

许可证

DevTools是根据MIT许可证的条款分发的。 所有新的贡献都必须根据此许可证进行。

看 许可证, 版权,以及 通知 了解详情。

SPDX 许可证标识符: (MIT)

LLNL-CODE-842614