Model Coupling Platform Server
MCPサーバーの実装
名前: エステバン・ニコラス 学生ID: A20593170
I. 実装された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 ファイルから 2 つの列をプロットします (デフォルトは最初の 2 列)
パラメータ:
csv_path(必須)、column x、column y(どちらもオプション)
II. セットアップ手順
仮想環境を作成する
uv venv -p python3.10 .venv\Scripts\activate # Unixの場合: source .venv/bin/activate
依存関係をインストールする
UVシンクUVロック
環境設定 このプロジェクトでは、依存関係の管理にpyproject.tomlを使用しています。主な依存関係は次のとおりです。
ファストAPI
ウビコーン
ピダンティック
パンダ
Matplotlib
パイテスト
Pytest-ascyncio
MCPサーバーの実行
サーバーを起動します。cd src uvicorn server:app --reload
サーバーは次の場所で利用できます:
APIエンドポイント: http://localhost:8000/mcpヘルスチェック: http://localhost:8000/health
III テスト
すべてのテストを実行します。
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","method":"mcp/callTool","params":{"tool":"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","列x":"時間","列y":"温度"},"id":4}'
IV 実装ノート
モック実装:
HDF5 ファイルリストはシミュレートされたディレクトリ構造を使用します - Slurm ジョブの送信はモックジョブ ID を生成します - CPU コアのレポートは os.cpu_count() を使用します
CSV 可視化:
plots_results ディレクトリにプロットを作成します - 指定されていない場合は最初の 2 列がデフォルトになります - 生成された PNG ファイルへのパスを返します
エラー処理:
適切な JSON-RPC 2.0 エラー応答 - すべてのパラメータの入力検証 - 不足しているファイル/無効なパスの適切な処理
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