mcpField
I
Infra MCP

Infra MCP

ローカル
github.com/esp4ce開発ツール118 週間前に更新

Infra MCP について

Infra MCPは、オンプレミスのLinux VMとPostgreSQLをSSH経由で調べる、運用担当者向けの読み取り専用MCPサーバーです。許可リストと追記専用の監査ログで操作を管理し、サービス、ログ、データベースを確認できます。

主な機能

  1. 01VMの到達性とサービス状態の確認
  2. 02journaldとログファイルの行数制限付き取得
  3. 03PostgreSQLの状態確認と読み取り専用クエリ
  4. 04データベースのテーブルとスキーマの確認
  5. 05リモート操作の監査ログ記録

活用シーン

  1. 01VM上のサービスの稼働状況調査
  2. 02重大度別のサービスログ確認
  3. 03データベース接続、ロック、長時間クエリの確認
  4. 04テーブル定義の確認や件数制限付きSELECTの実行

MCP 対応

stdio MCPサーバーとして動作し、MCPクライアントから利用できます。SSH経由でVMとPostgreSQLを調べ、リモート操作をローカルの監査ログに記録します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

infra-mcp

PyPI Glama License: MIT

SSH 経由でオンプレミスの Linux VM と PostgreSQL データベースに読み取り専用で MCP アクセスできます。

 agent ──stdio──▶ infra-mcp ──SSH──▶  VMs  (journald · log files)
                                  └──▶  DBs  (read-only PostgreSQL)

エージェントは、ターミナルにアクセスすることなく、サービスの稼働状況の確認、範囲を限定したログの取得、DB の状態の調査、テーブルスキーマの確認を行えます。すべてのリモート操作は許可リストで制限され、追記専用の監査ログに記録されます。

インストール

uv tool install infra-mcp
# or
pip install infra-mcp

設定

infra-mcp.yaml.example を ~/.infra-mcp/infra-mcp.yaml にコピーして編集します。

# Generate a starter config from ~/.ssh/config
infra-mcp generate-config -o ~/.infra-mcp/infra-mcp.yaml

# Create the read-only PostgreSQL role(s)
infra-mcp setup

# Check VM reachability
infra-mcp test

# Refresh discovered services, log dirs, and databases (updates config in place)
infra-mcp discover --in-place

--config または INFRA_MCP_CONFIG で設定ファイルのパスを指定できます。

実行

infra-mcp run

クライアント(Claude Code、Cursor など)で、コマンド infra-mcp run を使用する stdio MCP サーバーとして登録します。

更新

infra-mcp は 1 日に 1 回 PyPI を確認し、新しいリリースがある場合は、アップグレード方法を知らせる 1 行のヒントを stderr に出力します。

uv tool upgrade infra-mcp   # or: pip install --upgrade infra-mcp

確認はバックグラウンドで実行され、起動を妨げることも、stdout に触れることもありません。infra-mcp --version でインストール済みのバージョンを表示できます。INFRA_MCP_NO_UPDATE_CHECK=1 を設定すると、確認を完全に無効にできます。

ツール

VM とサービス
ツール用途
list_vms到達可能性と監視対象サービスを含むすべての VM
get_infra_overview1 回の呼び出しで 1 台の VM のサービス状態と DB の健全性を取得
get_service_statussystemd の状態、稼働時間、直近 5 行のログ
get_service_logs重大度でフィルタリングした、範囲を限定した journald ログ
get_log_file許可されたログファイルの末尾 N 行。grep は任意
データベース
ツール用途
get_db_status接続数、待機中のロック、長時間実行中のクエリ数
query_db呼び出し元が指定する、範囲を限定した SELECT
list_tablesデータベース内のテーブル(スキーマ+名前)。上限 200
describe_table1 つのテーブルの列、型、主キー、外部キー
メタ
ツール用途
get_audit_logローカル監査ログの最近のエントリ

すべての出力はサーバー側で上限が設定されています(ログ行 200 行、DB 行 100 行、テーブル/列は最大 200 件)。切り詰めが発生した場合は必ず -- TRUNCATED: マーカーで示されます。list_tables と describe_table は結果をメモリにキャッシュします(TTL:schema_cache_ttl_hours、既定値は 24 時間)。最新の情報を再取得するには refresh: true を指定してください。

セキュリティモデル

  • SSH コマンドと systemd サービスは、ネットワーク呼び出しを行う前に、VM ごとの許可リストと照合されます。
  • すべてのデータベースクエリは、READ ONLY トランザクション内で読み取り専用ロールとして実行されます。
  • ログファイルのパスは、VM ごとのディレクトリ許可リストに照らして解決されます(.. によるディレクトリ遡りは禁止されています)。
  • すべてのリモート操作は、ローカルの JSONL 監査ログに追記されます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。