mcp-server について
HDF5ファイル操作、Slurmジョブ管理、ハードウェア情報の取得、圧縮機能を提供するサーバーです。クライアントはMCPエンドポイントを通じてこれらの操作を実行できます。
主な機能
- 01HDF5データセットの読み込みと内容一覧
- 02Slurmジョブの送信と状態確認
- 03CPU、メモリ、ディスク情報の取得
- 04データやファイルの圧縮と解凍
活用シーン
- 01HDF5ファイルからデータセットを読む
- 02Slurmジョブを送信して状態を確認する
- 03ノードのハードウェア情報を確認する
- 04データを圧縮または解凍する
MCP 対応
`POST /mcp`でMCPリクエストを受け付け、`GET /health`でヘルスチェックを提供します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
エンドポイント
http://localhost:8000インストールコマンドをコピー
Claude CodeTerminal
claude mcp add --transport http zchaffee1 http://localhost:8000Cursor.cursor/mcp.json
{"mcpServers":{"zchaffee1":{"type":"http","url":"http://localhost:8000"}}}Cursor で開くVS Code.vscode/mcp.json
{"servers":{"zchaffee1":{"type":"http","url":"http://localhost:8000"}}}VS Code で開くClaude Desktopclaude_desktop_config.json
{"mcpServers":{"zchaffee1":{"type":"http","url":"http://localhost:8000"}}}Windsurf~/.codeium/windsurf/mcp_config.json
{"mcpServers":{"zchaffee1":{"serverUrl":"http://localhost:8000"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
mcp-server
作成者:Zack Chaffee A20478873
HDF5 ファイル操作と Slurm ジョブ管理のための Model Coupling Protocol(MCP)機能を実装するサーバーです。
機能
HDF5 ファイル操作:
- データセットの読み取り
- ファイルの内容の一覧表示
Slurm ジョブ管理:
- ジョブの送信
- ジョブのステータスの確認
ノードのハードウェア操作
- CPU 情報の取得
- メモリ情報の取得
- ディスク情報の取得
- システム情報の包括的な取得
圧縮操作
- gzip または zlib による文字列データの圧縮
- gzip または zlib によるファイルの圧縮
- データの解凍
初期化
このリポジトリをクローンしたら、ディレクトリに移動します。
続いて仮想環境を作成し、すべての依存関係をインストールします。
uv venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e .
uv pip install -e ".[test]"
実行
サーバーを起動するには、次を実行します。
python -m src.server
サーバーは自動的に http://localhost:8000 で起動します。
エンドポイント
POST /mcp:MCP リクエストのメインエンドポイントGET /health:ヘルスチェックエンドポイント
例:
import httpx
async with httpx.AsyncClient() as client:
# Read a dataset
response = await client.post("http://localhost:8000/mcp", json={
"capability": "hdf5",
"action": "read_dataset",
"parameters": {
"file_path": "/path/to/data.h5",
"dataset_path": "/path/to/dataset"
}
})
# List contents
response = await client.post("http://localhost:8000/mcp", json={
"capability": "hdf5",
"action": "list_contents",
"parameters": {
"file_path": "/path/to/data.h5",
"group_path": "/"
}
})
curl -X POST http://localhost:8000/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "mcp/listTools",
"params": {},
"id": "1"
}'
テスト
テストを実行するには、次を実行します。
pytest
カバレッジ付きでテストするには、次を実行します。
pytest --cov=src
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。