HDF5文件操作与Slurm作业管理服务器

一个实现模型耦合协议(MCP)功能的服务器,提供HDF5文件操作、Slurm作业管理、节点硬件信息获取及数据压缩功能。

  • by zchaffee1
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 zchaffee1/mcp-server

使用说明

mcp服务器

发件人:扎克·查菲A20478873

实现HDF5文件操作和Slurm作业管理的模型耦合协议(MCP)功能的服务器。

特性

HDF5文件操作:

  • 读取数据集
  • 列出文件内容

Slurm作业管理:

  • 提交作业
  • 检查作业状态

节点硬件操作

  • 获取CPU信息
  • 获取内存信息
  • 获取磁盘信息
  • 获取全面的系统信息

压缩操作

  • 使用gzip或zlib压缩字符串数据
  • 使用gzip或zlib压缩文件
  • 解压缩数据

初始化

一旦你将此责任cd克隆到其中

在此之后,hwe将创建一个虚拟环境并安装所有依赖项:

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