slurm_MCP
Slurm HPC MCP Server
SSH経由でSlurmスーパーコンピューティングクラスターに接続し、Claude Desktop、Claude Code、Cursor、MCP Inspectorなどのクライアントに対してクラスター操作機能を提供するPythonベースのMCPサーバーです。
現在のバージョンでは、以下の実環境での検証が完了しています:
MCPサーバーの正常起動
Claude/MCP Inspectorからの正常な接続
SSH経由でのリモートSlurmログインノードへの接続
実際の
sbatchジョブの投入ジョブログの読み取り
一般的なHPC実行エラーの構造化診断
機能
現在、以下のMCP機能を提供しています:
list_jobs現在のジョブキューを表示list_partitionsパーティション情報を表示get_job_status指定したジョブのステータス、終了コード、理由、ログパスを照会submit_slurm_jobSlurmスクリプトをアップロードして投入diagnose_errorログに対して構造化されたエラー分類を実行job_log://{job_id}ジョブの標準出力ログを読み取り
Related MCP server: claude-ssh-mcp
技術スタック
Python
MCP Python SDK (
mcp[cli])Paramiko
Slurm CLI (
squeue,sinfo,sacct,scontrol,sbatch)
ディレクトリ構造
slurm-hpc-mcp/
├─ mcp_hpc_server.py
├─ README.md
├─ requirements.txt
├─ claude_desktop_config.example.json
├─ mcp.inspector.template.json
├─ examples/
│ └─ example_job.slurm
└─ tests/
└─ test_mcp_server.pyインストール
独立した仮想環境の使用を推奨します。
pip install -r requirements.txt設定方法
サービスは環境変数からリモートクラスターの設定を読み取ります。
必須:
SLURM_SSH_HOSTSLURM_SSH_USERNAME
オプション:
SLURM_SSH_PORT、デフォルト22SLURM_SSH_KEY_PATHSLURM_SSH_PASSWORDSLURM_SSH_ALLOW_UNKNOWN_HOSTS、デフォルトfalseSLURM_REMOTE_WORKDIR、デフォルト/tmp/mcp-slurmSLURM_CONNECT_TIMEOUT、デフォルト15SLURM_COMMAND_TIMEOUT、デフォルト60SLURM_LOG_MAX_BYTES、デフォルト200000MCP_TRANSPORT、デフォルトstdio
ローカルでの実行
デフォルトでは stdio モードで実行され、Claude Desktop、Claude Code、Cursor、Inspectorに適しています:
python .\mcp_hpc_server.pyHTTPトランスポートに切り替える場合:
$env:MCP_TRANSPORT="streamable-http"
python .\mcp_hpc_server.pyClaude Desktopの設定
以下を参照してください:
claude_desktop_config.example.json
例:
{
"mcpServers": {
"slurm-hpc": {
"type": "stdio",
"command": "<your-python-executable>",
"args": ["<your-project-dir>/mcp_hpc_server.py"],
"env": {
"SLURM_SSH_HOST": "your-login-host",
"SLURM_SSH_PORT": "22",
"SLURM_SSH_USERNAME": "your-username",
"SLURM_SSH_KEY_PATH": "<your-ssh-private-key-path>",
"SLURM_SSH_ALLOW_UNKNOWN_HOSTS": "true"
}
}
}
}WindowsにおけるClaude Desktopの一般的な設定場所:
%APPDATA%\Claude\claude_desktop_config.jsonMCP Inspector
以下を参照してください:
mcp.inspector.template.json
Inspectorで直接手動設定する場合:
CommandにPythonインタープリタのパスを入力Argumentsにmcp_hpc_server.pyのパスを入力環境変数に
SLURM_SSH_*関連の項目を入力
ジョブスクリプトの例
以下を参照してください:
examples/example_job.slurm
投入時は、クラスターの実際の状況に合わせて以下を修正してください:
パーティション名
GRES / GPU / DCU リソース
時間制限
出力パス
ツール説明
1. list_jobs
現在のキュー内のジョブを表示します。
入力:
{
"user": "optional"
}2. list_partitions
パーティションの状態を表示します。
入力:
{}3. get_job_status
指定したジョブの状態を照会します。
入力:
{
"job_id": "37285107"
}4. submit_slurm_job
Slurmスクリプトを投入します。
入力フィールドは script_content です。複数行のスクリプト本文をそのまま入力してください(引用符で囲む必要はありません)。
5. diagnose_error
ログテキストに対して構造化された障害分類を行います。
入力:
{
"log_content": "ModuleNotFoundError: No module named 'mpi4py'"
}6. job_log://{job_id}
リソーステンプレートを通じてジョブの標準出力ログを読み取ります。
セキュリティメカニズム
投入前に ActionGuard によるチェックが行われ、デフォルトで以下のような危険なコマンドを遮断します:
rm -rf /mkfs/dev/*への直接書き込みshutdown/rebootsudo
これは第一層の防御に過ぎません。本番環境では以下を推奨します:
低権限のSSHアカウントを使用する
リモート作業ディレクトリを制限する
操作ログを保持する
プライベートキーをリポジトリにコミットしない
テスト
最小限のテストを実行:
python -m unittest tests.test_mcp_server現在の最小テスト範囲:
スクリプトの先頭行の検証
バッチスクリプトの正規化
エラー分類ロジック
パーティション解析
ジョブ状態解析
This server cannot be deployed
Maintenance
Related MCP Connectors
Use your Mac, Windows or Linux computer from ChatGPT, Claude or Codex: files, commands, documents.
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
Customer support for MCP servers: work your tickets from Claude or any MCP client. Service key auth.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables SSH remote access to servers through Claude, allowing users to execute commands, transfer files via SFTP, and manage multiple remote connections using natural language.128MIT
- AlicenseAqualityCmaintenanceEnables Claude to connect to servers via SSH, execute commands, transfer files, and manage connections through natural language.911 npm1MIT
- FlicenseNot gradedqualityDmaintenanceEnables Claude Code to interact with a TACC or SLURM HPC cluster for bioinformatics pipelines, allowing job management, log reading, file browsing, remote script execution, and job submission through natural language.-
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage SLURM HPC clusters via SSH. Supports job submission, resource monitoring, queue management, and file operations.7 npm4-