mcpField
M
mcp-server

mcp-server

远程服务
github.com/zchaffee1云与基础设施079 周前更新
代码仓库

关于 mcp-server

该服务提供 HDF5 文件操作、Slurm 作业管理、硬件信息查询和压缩功能,供客户端通过 MCP 端点执行这些操作。

主要功能

  1. 01读取 HDF5 数据集并列出文件内容
  2. 02提交 Slurm 作业并查询状态
  3. 03获取 CPU、内存和磁盘信息
  4. 04压缩及解压数据和文件

适用场景

  1. 01读取 HDF5 文件中的数据集
  2. 02提交 Slurm 作业并查看状态
  3. 03检查节点硬件详情
  4. 04压缩或解压数据

MCP 相关

服务通过 `POST /mcp` 接收 MCP 请求,并通过 `GET /health` 提供健康检查端点。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址http://localhost:8000
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。