Tcs
БесплатноНе проверенMCP server to operate Fujitsu Technical Computing Suite (TCS/PJM) on Kyushu University's supercomputer 'Genkai' from MCP clients like Codex, supporting direct a
Описание
MCP server to operate Fujitsu Technical Computing Suite (TCS/PJM) on Kyushu University's supercomputer 'Genkai' from MCP clients like Codex, supporting direct and SSH modes for job submission, monitoring, and file operations.
README
九州大学スーパーコンピュータ「玄界」で採用されている 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 を使用します。
セットアップ
npm install
npm run build
cp tcs-mcp.config.example.json tcs-mcp.config.json
tcs-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.js
Codex の設定例
玄界上で 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 yes
ssh-add ~/.ssh/genkai/id_rsa
ssh genkai true
MCP プロファイルは次のようにします。
{
"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 を検証します。実環境に対する自動テストは参照専用に限定し、ジョブ投入や取消は行いません。
参考資料
Установка Tcs
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/exthnet/tcs_mcp_codexFAQ
Tcs MCP бесплатный?
Да, Tcs MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Tcs?
Нет, Tcs работает без API-ключей и переменных окружения.
Tcs — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Tcs в Claude Desktop, Claude Code или Cursor?
Открой Tcs на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Tcs with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
