Server Ops MCP について
Server Ops MCPは、AIコーディングツールからローカルまたはSSH経由でプロジェクトサーバーを調査・管理するMCPサーバーです。ログやリソースの診断、プロジェクト内のファイル操作、Nginxと証明書の管理を、確認手順と機密情報のマスキング付きで行えます。
主な機能
- 01プロジェクトとシステムログの検索・確認
- 02CPU、メモリ、ディスク、サービスの監視
- 03プロジェクトファイルの読み取り、検索、書き込み、修正、削除
- 04Nginx設定のテストと確認
- 05Nginxの再読み込みと証明書管理
- 06変更の確認と機密情報のマスキング
活用シーン
- 01プロジェクトやシステムログのエラー調査
- 02サーバーのリソース使用状況とサービス状態の確認
- 03サンドボックス内でのプロジェクトファイルの確認・編集
- 04確認手順を経たNginxや証明書の管理
MCP 対応
AIクライアントにサーバー運用ツールを提供するMCPサーバーです。ローカル実行とSSH経由のリモート操作に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y server-ops-mcpOPS_PROJECT_ROOTProject root path; all file operations are sandboxed hereOPS_SSH_HOSTRemote server IP / domain; leave empty to run locallyOPS_SSH_PORTSSH port, default 22OPS_SSH_USERSSH usernameOPS_SSH_KEYシークレットPath to SSH private key (choose either key or password)OPS_SSH_PASSWORDシークレットSSH password (choose either key or password)OPS_SSH_PASSPHRASEシークレットPrivate key passphraseOPS_CONFIG_PATHPath to an extra config file (see config.example.json)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
23掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| type | enum | いいえ | all | cpu | memory | disk | load | processes |
詳細
Server Ops MCP
英語 | 简体中文
汎用のサーバー運用向け MCP サーバーです。Claude Code / Cursor / Codex などの AI ツールを使って、.mcp.json 経由で複数のプロジェクトやサーバーを管理できます。ログのトラブルシューティング、システムリソースの確認、コードの読み書き、Nginx /証明書の管理に対応しています。
ローカルモードと**リモート(SSH)**モードに対応し、2 段階の確認、コマンドのホワイトリスト、パストラバーサル保護、シークレットの自動マスキングを組み込んでいます。
特長
- 🔍 ログのトラブルシューティング:プロジェクトログ、複数チャンネルのログ、システムログの一覧表示/読み取り/検索
- 📊 リソース監視:CPU /メモリ/ディスク/負荷/プロセス/サービスの状態をひと目で確認
- 📁 コード操作:ファイルの読み取り、書き込み、パッチ適用、削除、検索を実行できます。すべてプロジェクトのルート内に限定されます
- 🌐 Nginx と証明書:設定のテストと読み取り、安全な再読み込み、証明書のインストールと更新
- 🔒 設計段階からのセキュリティ:書き込み時の 2 段階確認、コマンドのホワイトリスト、パストラバーサル保護、自動マスキング
インストール
Node.js 18 以降が必要です。クローンやビルドは不要です。初回使用時に npx が公開済みの npm パッケージを取得して実行します(以下の設定を参照)。
ソースからビルドする場合(開発時など):
git clone https://github.com/GT-dinuo/server-ops-mcp.git
cd server-ops-mcp
npm install
npm run build
ビルド出力先は dist/ で、エントリーポイントは dist/index.js です。
設定
このツールを使用する各プロジェクトで、.mcp.json を作成(または追記)し、環境ごとに MCP サーバーを定義します。ローカルモードでは OPS_PROJECT_ROOT のみが必要です。リモートモードでは SSH 変数も追加します。
{
"mcpServers": {
"myproject-server": {
"command": "npx",
"args": ["-y", "server-ops-mcp"],
"env": {
"OPS_PROJECT_ROOT": "/www/wwwroot/your-project",
"OPS_SSH_HOST": "<server-ip-or-domain>",
"OPS_SSH_PORT": "22",
"OPS_SSH_USER": "ubuntu",
"OPS_SSH_KEY": "~/.ssh/id_rsa"
}
}
}
}
ソースからビルドした場合は、コマンドをローカルのビルド成果物に指定します。"command": "node"、"args": ["/absolute/path/to/server-ops-mcp/dist/index.js"] のように設定してください。
環境変数
| 変数 | 必須 | 説明 |
|---|---|---|
OPS_PROJECT_ROOT | はい | プロジェクトのルートパス。すべてのファイル操作はこのパス内に限定されます |
OPS_SSH_HOST | いいえ | リモートサーバーの IP アドレス/ドメイン。空欄の場合はローカルで実行します |
OPS_SSH_PORT | いいえ | SSH ポート。デフォルトは 22 です |
OPS_SSH_USER | いいえ | SSH ユーザー名 |
OPS_SSH_KEY | いいえ | SSH 秘密鍵のパス(鍵またはパスワードのいずれかを選択) |
OPS_SSH_PASSWORD | いいえ | SSH パスワード(鍵またはパスワードのいずれかを選択) |
OPS_SSH_PASSPHRASE | いいえ | 秘密鍵のパスフレーズ |
OPS_CONFIG_PATH | いいえ | 追加の設定ファイルのパス。「カスタム設定」を参照してください |
使い方
設定が完了したら、AI ツールに自然言語で運用上の指示を伝えるだけです。AI が適切なツールを自動的に選択して呼び出します。
読み取り専用の操作(そのまま実行)
Check the server's CPU, memory, and disk usage
Search for error-level logs from the last hour
List the project's log files
Read the Nginx config and check for problems
Find every place in the code that calls sendSms
書き込み操作(確認が必要)
書き込み、削除、コマンドの実行、Nginx の再読み込み、証明書のインストールなどでは、ツールが最初に confirmationId を返します。AI が実行内容を正確に表示し、確認後にのみ実行します。
You: Reload nginx
AI: (calls nginx_reload, returns the pending action + confirmationId)
About to run: nginx -s reload. Confirm?
You: Confirm
AI: (calls confirm_execute to run it)
file_write、file_patch、file_delete、command_exec なども、すべて同じ確認フローに従います。
代表的なシナリオ
- 本番環境のトラブルシューティング:「サーバーのメモリがいっぱいなのはなぜですか?」→
memory_analysisとlog_searchを連携 - 定期点検:「ディスクの空き容量は少なくなっていますか?最も容量を使っているディレクトリはどれですか?」→
disk_analysis - セキュリティ監査:「プロジェクト設定に漏えいしたシークレットがないか監査してください」→
config_audit(出力は自動的にマスキングされます)
ツール一覧
システム運用
| ツール | 説明 |
|---|---|
system_info | CPU/メモリ/ディスク/負荷/プロセス |
memory_analysis | メモリ使用量の分析 |
disk_analysis | ディスク使用量の分析 |
service_status | サービスの状態 |
log_search_system | システムログを検索 |
nginx_config_test | Nginx の設定をテスト |
nginx_config_read | Nginx の設定を読み取り |
nginx_reload | Nginx を再読み込み(確認が必要) |
certbot_install | 証明書をインストール(確認が必要) |
certbot_renew | 証明書を更新(確認が必要) |
プロジェクトコード
| ツール | 説明 |
|---|---|
log_list | プロジェクトのログ一覧を表示 |
log_read | ログを読み取り |
log_search | ログを検索 |
file_read | ファイルを読み取り |
file_list | ディレクトリ一覧を表示 |
file_search | コードを検索 |
file_write | ファイルを書き込み(確認が必要) |
file_patch | ファイルにパッチを適用(確認が必要) |
file_delete | ファイルを削除(確認が必要) |
command_exec | 許可リストに登録されたコマンドを実行 |
project_overview | プロジェクトの概要 |
config_audit | 設定を監査(自動で機密情報を伏せ字化) |
confirm_execute | 保留中の操作を確認して実行 |
セキュリティ
- 読み取り専用ツールは直接実行されます。
- 書き込み、コマンド実行、Nginx の再読み込み、証明書のインストールには、2 段階の確認(
confirm_execute)が必要です。 - コマンド実行では許可リストを使用します。
rm -rf、sudo、シェルへのパイプなどの危険な操作は拒否されます。 - ファイル操作は
OPS_PROJECT_ROOT内に制限されます。パストラバーサルはブロックされます。 .envファイルやログ内のパスワード、トークンなどの秘密情報は自動で伏せ字化されます。
カスタム設定
config.example.jsonをconfig.jsonとしてダウンロードし、OPS_CONFIG_PATHにそのパスを指定すると、ログチャンネル、コマンドの許可リスト、読み取り制限などをカスタマイズできます。
curl -o config.json https://raw.githubusercontent.com/GT-dinuo/server-ops-mcp/main/config.example.json
# (if you cloned the repo: cp config.example.json config.json)
# After editing config.json, set in the .mcp.json env:
# "OPS_CONFIG_PATH": "/absolute/path/to/config.json"
config.example.jsonの主なフィールド:
logChannels:チャンネル名 → ログディレクトリのパス(プロジェクトルートからの相対パス)maxReadLines/maxReadBytes:読み取りごとの行数/バイト数の上限commandWhitelist.direct:直接実行できるコマンドcommandWhitelist.confirm:実行に確認が必要なコマンド
開発
npm run dev # watch mode, recompiles on change
npm run build # build to dist/
npm run clean # remove dist/
npm start # run the built Server
注意事項
- リモート操作は SSH に依存します。AI には読み取り専用アカウントを使用するか、範囲を厳密に絞ったコマンドの許可リストを使用してください。
- 秘密鍵ファイルの権限は
600にしてください(chmod 600 ~/.ssh/id_rsa)。 - パスワードが含まれる
.mcp.jsonやconfig.jsonは、リポジトリに絶対にコミットしないでください。
ライセンス
MIT © 2026 server-ops-mcp
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。