M

MCP服务器

@zchaffee1/mcp-server
0 Stars 7 次浏览 zchaffee1 更新于 2026-08-23

一个用于HDF5文件操作、Slurm作业管理、硬件监控和数据压缩的模型耦合协议服务器。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

mcp-server

作者:Zack Chaffee A20478873

一个实现 Model Coupling Protocol (MCP) 功能的服务器,用于 HDF5 文件操作和 Slurm 作业管理。

功能

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