使用说明
hpc-mcp
🌀 用于高性能计算的代理MCP工具
相关项目
用法
这是一个用于融合计算和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
