Model Coupling Platform Server
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 x、column y(均为可选)
II. 设置说明
创建虚拟环境
uv venv -p python3.10 .venv\Scripts\activate # 在 Unix 上:source .venv/bin/activate
安装依赖项
紫外线同步 紫外线锁定
环境配置本项目使用 pyproject.toml 进行依赖管理,主要依赖包括:
快速API
优维康
派丹蒂克
熊猫
Matplotlib
Pytest
Pytest-ascyncio
运行 MCP 服务器
启动服务器 cd src uvicorn server:app --reload
该服务器将在以下位置可用:
API 端点: http://localhost:8000/mcp健康检查: http://localhost:8000/health
三、测试
运行所有测试:
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
示例请求 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}'
四、实施说明
模拟实现:
-HDF5 文件列表使用模拟目录结构 -Slurm 作业提交生成模拟作业 ID -CPU 核心报告使用 os.cpu_count()
CSV 可视化:
在 plots_results 目录中创建图表 - 如果未指定,则默认为前两列 - 返回生成的 PNG 文件的路径
错误处理:
-正确的 JSON-RPC 2.0 错误响应 -所有参数的输入验证 -优雅地处理丢失的文件/无效路径
GITHUB: https://github.com/EstebanIIT/cs550\ _MCP.git
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
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