Skip to main content
Glama
EstebanIIT

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:app --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

F
license - not found
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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