Skip to main content
Glama

Model Coupling Platform Server

by EstebanIIT

MCP 服务器实现

姓名:Esteban Nicolas 学生 ID:A20593170

一、已实现的MCP功能

1 数据资源 1.1 HDF5 文件清单

  • 列出目录结构中的模拟 HDF5 文件
  • 参数: path_pattern (可选文件路径模式)

2 工具 2.1 Slurm 作业提交

  • 模拟向 Slurm 调度程序提交作业
  • 参数: script_path (必需)、 cores (可选,默认值=1)

2.2 CPU 核心报告

  • 报告系统上可用的 CPU 核心数
  • 无需参数

2.3 CSV可视化

  • 从 CSV 文件中绘制两列(默认为前两列)
  • 参数: csv_path (必需)、 column xcolumn y (均为可选)

II. 设置说明

  1. 创建虚拟环境

uv venv -p python3.10 .venv\Scripts\activate # 在 Unix 上:source .venv/bin/activate

  1. 安装依赖项

紫外线同步 紫外线锁定

  1. 环境配置本项目使用 pyproject.toml 进行依赖管理,主要依赖包括:

快速API

优维康

派丹蒂克

熊猫

Matplotlib

Pytest

Pytest-ascyncio

  1. 运行 MCP 服务器

启动服务器 cd src uvicorn server --reload

该服务器将在以下位置可用:

API 端点: http://localhost:8000/mcp健康检查: http://localhost:8000/health

三、测试

  1. 运行所有测试:

pytest 测试/运行特定的测试文件:

pytest 测试/test_capabilities_plot_vis.py pytest 测试/test_capabilities_hdf5.py pytest 测试/test_capabilities_cpu_core.py pytest 测试/test_capabilities_slurm.py pytest 测试/test_mcp_handler.py

  1. 示例请求 2.1 列出可用资源

curl -X POST http://localhost:8000/mcp
-H“内容类型:application/json”
-d '{“jsonrpc”:“2.0”,“method”:“mcp/listResources”,“id”:1}'

2.2 列出 HDF5 文件

curl -X POST http://localhost:8000/mcp
-H“内容类型:application/json”
-d'{“jsonrpc”:“2.0”,“方法”:“mcp / callTool”,“params”:{“工具”:“hdf5_file_listing”,“path_pattern”:“/ data / sim_run_123”},“id”:2}'

2.3 提交 Slurm 作业

curl -X POST http://localhost:8000/mcp
-H“内容类型:application/json”
-d '{“jsonrpc”:“2.0”,“method”:“mcp / callTool”,“params”:{“tool”:“slurm_job_submission”,“script_path”:“/jobs/analysis.sh”,“cores”:4},“id”:3}'

2.4 绘制 CSV 列

curl -X POST http://localhost:8000/mcp
-H“内容类型:application/json”
-d '{“jsonrpc”:“2.0”,“method”:“mcp/callTool”,“params”:{“tool”:“plot_vis_columns”,“csv_path”:“data.csv”,“column x”:“时间”,“column y”:“温度”},“id”:4}'

四、实施说明

  1. 模拟实现:

-HDF5 文件列表使用模拟目录结构 -Slurm 作业提交生成模拟作业 ID -CPU 核心报告使用 os.cpu_count()

  1. CSV 可视化:
  • 在 plots_results 目录中创建图表 - 如果未指定,则默认为前两列 - 返回生成的 PNG 文件的路径
  1. 错误处理:

-正确的 JSON-RPC 2.0 错误响应 -所有参数的输入验证 -优雅地处理丢失的文件/无效路径

GITHUB: https://github.com/EstebanIIT/cs550\ _MCP.git

-
security - not tested
F
license - not found
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

基于 FastAPI 的 JSON-RPC 2.0 服务器实现,使用户能够处理 HDF5 文件、提交 Slurm 作业、检索 CPU 信息以及通过标准化 API 端点可视化 CSV 数据。

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    A server implementing Model Coupling Protocol for HDF5 file operations, Slurm job management, hardware monitoring, and data compression.
    Last updated -
    Python
    MIT License
  • -
    security
    F
    license
    -
    quality
    A JSON-RPC 2.0 compliant server that enables interaction with HDF5 data files and Slurm job scheduling through standardized API endpoints.
    Last updated -
    Python
  • -
    security
    A
    license
    -
    quality
    A lightweight FastAPI server that allows remote execution of shell commands on Windows, with real-time output streaming and security features like API key authentication and rate limiting.
    Last updated -
    1
    Python
    MIT License

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/EstebanIIT/CS550_MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server