tcs-mcp
Provides tools for managing jobs on Fujitsu Technical Computing Suite (TCS/PJM) on Kyushu University's supercomputer, including submitting, canceling, and monitoring batch jobs, as well as file operations and resource status.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@tcs-mcpCheck the status of my running jobs"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
tcs-mcp
九州大学スーパーコンピュータ「玄界」で採用されている Fujitsu Technical Computing Suite (TCS/PJM) を、Codex などの MCP クライアントから操作するための個人利用向け stdio サーバーです。
次の2方式を同じツールインターフェースで利用できます。
direct: 玄界のログインノード上でpjstat、pjsub、pjdel、pjshowrscを直接実行ssh: 手元の PC で MCP サーバーを起動し、OpenSSH 経由で玄界を操作・ファイル転送
必要環境
Node.js 20 以降
direct モード: TCS コマンドを利用できる玄界ログインノード
SSH モード:
sshとscp、設定済みのknown_hosts、パスフレーズを保持したssh-agent
SSH の秘密鍵やパスフレーズを MCP の設定ファイルへ保存しないでください。SSH モードは非対話実行のため BatchMode=yes を使用します。
Related MCP server: jlab-mcp
セットアップ
npm install
npm run build
cp tcs-mcp.config.example.json tcs-mcp.config.jsontcs-mcp.config.json の許可ルートを実際のプロジェクトディレクトリへ変更します。設定ファイルを指定しない場合は、起動ディレクトリだけを許可する direct プロファイルになります。
{
"defaultProfile": "genkai-direct",
"profiles": {
"genkai-direct": {
"mode": "direct",
"remoteRoots": ["/home/GROUP/USER/work"],
"allowedCommands": ["make", "cmake", "ninja", "gcc", "g++", "gfortran", "python3"],
"commandTimeoutSeconds": 600,
"maxOutputBytes": 1048576
}
}
}複数プロジェクトやアカウントはプロファイルを分け、起動時に選択します。
TCS_MCP_CONFIG=/absolute/path/tcs-mcp.config.json \
TCS_MCP_PROFILE=genkai-direct \
node /absolute/path/dist/index.jsCodex の設定例
玄界上で Codex を使う場合:
[mcp_servers.tcs]
command = "/absolute/path/to/tcs_mcp_codex/dist/index.js"
env = { TCS_MCP_CONFIG = "/absolute/path/to/tcs_mcp_codex/tcs-mcp.config.json", TCS_MCP_PROFILE = "genkai-direct" }手元 PC から SSH モードを使う場合は、先に OpenSSH の alias を設定します。
Host genkai
HostName genkai.hpc.kyushu-u.ac.jp
User kuXXXXXXXX
IdentityFile ~/.ssh/genkai/id_rsa
IdentitiesOnly yesssh-add ~/.ssh/genkai/id_rsa
ssh genkai trueMCP プロファイルは次のようにします。
{
"mode": "ssh",
"host": "genkai",
"remoteRoots": ["/home/GROUP/USER/work"],
"localRoots": ["/Users/you/projects"],
"allowedCommands": ["make", "cmake", "ninja", "gcc", "g++", "gfortran", "python3"]
}MCP ツール
参照専用:
system_status: 接続、TCS コマンド、プロファイル、許可ルートを診断list_jobs,get_job,get_job_stats: 現在のジョブ、365日以内の履歴、統計を取得list_resources: リソースグループの空き状況とユーザー制限を取得list_modules: Environment Modules を一覧・検索list_files,read_file,search_files: 許可ルート内のファイルを参照validate_job,render_job: 通常バッチジョブを検証・生成
更新操作:
submit_job,cancel_job: 通常バッチジョブを投入・取消run_command: allowlist または許可ルート内の実行ファイルをログインノードで実行write_file,manage_files: ファイル作成、追記、コピー、移動、削除transfer_files: SSH モードで upload/downloadconfirm_action: プレビュー済み操作を実行
更新ツールの初回呼び出しは何も変更せず、内容と5分間有効な確認トークンを返します。そのトークンを confirm_action に渡した場合だけ、保存された操作を一度実行します。ジョブスクリプトがプレビュー後に変更された場合、投入は拒否されます。
構造化ジョブの例
{
"definition": {
"name": "omp-test",
"workdir": "/home/GROUP/USER/work/example",
"resourceGroup": "a-batch",
"vnodeCores": 30,
"elapsed": "01:00:00",
"modules": ["intel/2025.1.3"],
"env": { "OMP_NUM_THREADS": "30" },
"commands": [{ "executable": "./a.out", "args": ["input.dat"] }],
"joinOutput": true,
"stats": "basic",
"restart": false
}
}玄界固有の A/B/C リソース上限を事前検証しますが、実際の利用可否はアカウントの ACL と投入時点の TCS 設定が優先されます。ジョブは /home または /fast 配下の、設定で明示的に許可したルートから投入してください。
安全上の制約
許可ルートは
realpathで評価し、..やシンボリックリンクによる逸脱を拒否します。stdout/stderr、ファイル読取り、検索結果、実行時間には上限があります。
run_commandはシェル文字列を受け付けず、実行ファイルと引数を分離します。CPU/GPU を多く使う処理を
run_commandで実行せず、必ずsubmit_jobを使用してください。run_command、ジョブスクリプト、Python などは任意コードを実行できます。本サーバーの制限は誤操作防止であり、悪意あるコードに対するサンドボックスではありません。v1 の専用 API は通常バッチジョブのみです。対話型、ステップ、バルク、予約ジョブ、利用申請ポータル操作は対象外です。
開発
npm run check
npm test
npm run buildテストでは PJM 出力パース、玄界の資源検証、パス境界、タイムアウト、確認トークン、更新前プレビュー、MCP tool discovery を検証します。実環境に対する自動テストは参照専用に限定し、ジョブ投入や取消は行いません。
参考資料
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceA server implementing Model Coupling Protocol for HDF5 file operations, Slurm job management, hardware monitoring, and data compression.Last updatedMIT
- FlicenseAqualityBmaintenanceAn MCP server that enables LLMs to execute Python code on GPU-accelerated compute nodes within SLURM-managed HPC environments. It bridges local clients to remote clusters by launching JupyterLab sessions via SLURM jobs to facilitate high-performance notebook-based computation.Last updated7
- Flicense-qualityDmaintenanceAn MCP server that gives AI coding assistants direct access to Slurm HPC clusters for job submission, file management, and shell access.Last updated3
- Alicense-qualityBmaintenanceMCP server for the Fugaku supercomputer that enables natural language job submission, monitoring, file transfer, and command execution via AI agents like Claude Code.Last updated1MIT
Related MCP Connectors
Remote MCP server for XDaLa workflow preparation on XGR.Network.
Read-only MCP server for searching Japan government procurement bid information from the KKJ portal.
MCP server for the Inistate platform: module discovery, entry management, and activity submission.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/exthnet/tcs_mcp_codex'
If you have feedback or need assistance with the MCP directory API, please join our Discord server