mcpField
M
MCP Server Implementation

MCP Server Implementation

本地服务
github.com/jalzoubi开发工具079 周前更新

关于 MCP Server Implementation

MCP Server Implementation 是一个 Python 服务实现,支持处理 HDF5 数据并模拟 Slurm 作业,适用于需要通过 HTTP MCP 端点使用这些能力的用户。

主要功能

  1. 01递归列出 HDF5 目录
  2. 02读取 HDF5 数据集和元数据
  3. 03模拟提交 Slurm 作业
  4. 04跟踪模拟作业状态
  5. 05异步处理请求

适用场景

  1. 01检查模拟 HDF5 数据集
  2. 02读取 HDF5 文件元数据
  3. 03提交模拟 Slurm 作业
  4. 04查看模拟作业状态

MCP 相关

它通过 HTTP MCP 端点提供 HDF5 和 Slurm 功能,并使用 JSON-RPC 2.0 请求。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP 服务实现

姓名:Jafar Alzoubi 学号:A20501723

已实现的功能

  • HDF5(数据)
  • Slurm(工具)

设置

  1. 安装 uv:pip install uv
  2. 创建环境:uv venv
  3. 激活环境:source .venv/bin/activate
  4. 同步依赖项:uv sync

运行服务

uvicorn src.server:app --reload

运行测试

pytest tests/

假设

  • HDF5 模拟数据存储在 mock_data/hdf5 中
  • Slurm 模拟使用本地 echo 命令

这些操作可以单独运行,并且运行正常

HDF5 操作

curl -X POST "http://127.0.0.1:8000/mcp"
-H "Content-Type: application/json"
-d '{ "jsonrpc": "2.0", "method": "mcp/callTool", "params": { "tool": "hdf5", "action": "read", "filePath": "mock_data/hdf5/simulation_1.h5", "dataset": "temperature" }, "id": 1 }'

Slurm 操作

curl -X POST "http://127.0.0.1:8000/mcp"
-H "Content-Type: application/json"
-d '{ "jsonrpc": "2.0", "method": "mcp/callTool", "params": { "tool": "slurm", "action": "submit", "script": "analysis.sh", "cores": 8 }, "id": 2 }'

运行所有测试

pytest tests/

运行特定功能的测试

pytest tests/test_hdf5.py -v pytest tests/test_slurm.py -v

生成覆盖率报告

pytest --cov=src

项目根目录/ ├── mock_data/ │ ├── hdf5/ │ │ ├── simulation_1.h5 │ │ └── simulation_2.h5 │ └── slurm/ │ ├── job_scripts/ │ └── job_status.json


实现详情

HDF5 处理程序 使用 h5py 库进行文件操作

模拟数据路径:./mock_data/hdf5/

支持的操作:

list:递归列出目录

read:获取数据集及其形状和 dtype 信息

metadata:文件级元数据

Slurm 处理程序

使用 subprocess 模拟作业提交

模拟功能:

生成基于 UUID 的作业 ID

在内存中跟踪作业状态

模拟排队、运行和已完成状态


故障排除

常见问题: lsof -i :8000 kill -9

缺少依赖项:

uv pip install --force-reinstall -r requirements.txt


满足的要求

✅ 已实现两个功能(HDF5 + Slurm)

✅ 完全符合 JSON-RPC 2.0 规范

✅ 两项功能的测试覆盖率均为 100%

✅ 错误处理和响应恰当

✅ 异步请求处理

测试输出示例

tests/test_hdf5.py::test_read_dataset PASSED tests/test_slurm.py::test_job_submission PASSED

共运行 13 个测试,耗时 0.42s 成功

评论

支持 Markdown

第一次接触 MCP?

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

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