关于 mcp-server
该服务提供 HDF5 文件操作、Slurm 作业管理、硬件信息查询和压缩功能,供客户端通过 MCP 端点执行这些操作。
主要功能
- 01读取 HDF5 数据集并列出文件内容
- 02提交 Slurm 作业并查询状态
- 03获取 CPU、内存和磁盘信息
- 04压缩及解压数据和文件
适用场景
- 01读取 HDF5 文件中的数据集
- 02提交 Slurm 作业并查看状态
- 03检查节点硬件详情
- 04压缩或解压数据
MCP 相关
服务通过 `POST /mcp` 接收 MCP 请求,并通过 `GET /health` 提供健康检查端点。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
服务地址
http://localhost:8000一键复制安装命令
Claude CodeTerminal
claude mcp add --transport http zchaffee1 http://localhost:8000Cursor.cursor/mcp.json
{"mcpServers":{"zchaffee1":{"type":"http","url":"http://localhost:8000"}}}在 Cursor 中打开VS Code.vscode/mcp.json
{"servers":{"zchaffee1":{"type":"http","url":"http://localhost:8000"}}}在 VS Code 中打开Claude Desktopclaude_desktop_config.json
{"mcpServers":{"zchaffee1":{"type":"http","url":"http://localhost:8000"}}}Windsurf~/.codeium/windsurf/mcp_config.json
{"mcpServers":{"zchaffee1":{"serverUrl":"http://localhost:8000"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
mcp-server
作者:Zack Chaffee A20478873
实现 HDF5 文件操作和 Slurm 作业管理功能的 Model Coupling Protocol(MCP)服务。
功能
HDF5 文件操作:
- 读取数据集
- 列出文件内容
Slurm 作业管理:
- 提交作业
- 检查作业状态
节点硬件操作
- 获取 CPU 信息
- 获取内存信息
- 获取磁盘信息
- 获取全面的系统信息
压缩操作
- 使用 gzip 或 zlib 压缩字符串数据
- 使用 gzip 或 zlib 压缩文件
- 解压缩数据
初始化
克隆此仓库后,进入该目录。
之后,我们将创建虚拟环境并安装所有依赖项:
uv venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e .
uv pip install -e ".[test]"
运行
要启动服务,请运行:
python -m src.server
服务将在 http://localhost:8000 自动启动。
端点
POST /mcp:MCP 请求的主端点GET /health:健康检查端点
示例:
import httpx
async with httpx.AsyncClient() as client:
# Read a dataset
response = await client.post("http://localhost:8000/mcp", json={
"capability": "hdf5",
"action": "read_dataset",
"parameters": {
"file_path": "/path/to/data.h5",
"dataset_path": "/path/to/dataset"
}
})
# List contents
response = await client.post("http://localhost:8000/mcp", json={
"capability": "hdf5",
"action": "list_contents",
"parameters": {
"file_path": "/path/to/data.h5",
"group_path": "/"
}
})
curl -X POST http://localhost:8000/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "mcp/listTools",
"params": {},
"id": "1"
}'
测试
要运行测试,请执行:
pytest
要运行带覆盖率统计的测试:
pytest --cov=src
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。