mcpField
M
Mcp Postgres Analytics

Mcp Postgres Analytics

ローカル
github.com/archimedes-marketデータ・分析023 週間前に更新

Mcp Postgres Analytics について

データベース運用者や分析担当者向けの、読み取り専用 PostgreSQL 分析 MCP サーバーです。クエリプラン、性能、インデックス、肥大化、ロックを診断し、起動時に書き込み権限を拒否します。

主な機能

  1. 01コスト注釈付きクエリプラン
  2. 02遅いクエリとインデックス統計
  3. 03テーブル肥大化と vacuum 状態
  4. 04接続とロック待ちの診断
  5. 05データベースオブジェクトのサイズ集計
  6. 06起動時の書き込み権限拒否

活用シーン

  1. 01アプリケーションの遅いリクエストの調査
  2. 02データベース容量の計画
  3. 03インデックスとテーブル肥大化の確認

MCP 対応

MCP クライアントに、クエリ、インデックス、テーブル、接続、ロック、データベースサイズを調べる 8 種類の読み取り専用 PostgreSQL 分析ツールを公開します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Archimedes Trust Report — VERIFIED 92/100

Archimedes Marketで検証済みのアセットです。4つの観点(セキュリティ・品質・ライセンス・複雑さ)に関するTrust Reportの全文と、厳選されたカタログはアセットページをご覧ください。


MCP PostgreSQL Analytics

MCP サーバーとして公開される、読み取り専用のPostgreSQL分析エージェントです。本番データベースに安全に導入できるよう設計されています。DDLもDMLも一切実行せず、書き込みは行いません。

インシデント対応やキャパシティプランニングで多くのチームが必要とする可観測性を、次の8つのツールでカバーします。

  • query_plan — クエリ文字列に対してEXPLAIN (ANALYZE, BUFFERS, VERBOSE)を実行し、コストの高い箇所に注釈を付けます
  • slow_queries — pg_stat_statementsから平均時間/合計時間/呼び出し回数に基づく上位N件のクエリを取得します
  • index_usage — インデックスのヒット率、使用されていないインデックス、pg_stat_user_indexesに基づくインデックス不足のヒントを取得します
  • table_bloat — pgstattuple相当のヒューリスティックを使って、テーブルごとの肥大化を推定します
  • vacuum_status — テーブルごとの最終バキューム/自動バキューム/分析の実行時刻を取得し、トランザクションIDの周回リスクにフラグを付けます
  • connection_stats — アクティブなセッション、トランザクション中のアイドル状態、最長実行中のトランザクションを確認します
  • lock_waits — ブロッカーの連鎖を解決したうえで、ブロックされているクエリを取得します
  • size_summary — データベース/スキーマ/テーブル/インデックスのサイズを取得し、ソートします

安全性の保証

MCP サーバーは、pg_read_all_statsとCONNECTのみを持つロールで接続します。MCP_POSTGRES_DSNの接続文字列は起動時に検証され、いずれかのスキーマに対してCREATE、INSERT、UPDATE、DELETE、TRUNCATE、ALTER、DROP権限を持つロールは拒否されます。権限を昇格して実行するのではなく、明確なエラーを表示して終了します。

query_planはクエリ文字列を受け取りますが、実行するのはEXPLAIN (...)の内部だけです。クエリ自体が実行されることはありません。

クイックスタート

pip install mcp-postgres-analytics
export MCP_POSTGRES_DSN="postgresql://reader@host:5432/db"
mcp-postgres-analytics serve

Claude Desktopの設定:

{
  "mcpServers": {
    "postgres-analytics": {
      "command": "mcp-postgres-analytics",
      "args": ["serve"],
      "env": {
        "MCP_POSTGRES_DSN": "postgresql://reader@host:5432/db"
      }
    }
  }
}

エージェントの一般的なワークフロー

Agent: "Why is our /api/checkout endpoint slow this week?"
↓
1. slow_queries → top 5 queries by mean time
2. query_plan on the worst → spots a sequential scan
3. index_usage → confirms missing index hint
4. size_summary → confirms the table is 14GB
5. Output: "Index on orders(status, created_at) missing. ~150ms saved per call. Run during low-traffic window."

対応していないこと

  • いかなる種類の書き込み操作も行いません
  • PostgreSQL以外のデータベースには接続しません(Parquet/CSVにはDuckDB MCPを使用してください)
  • バックアップ/復元は行いません(pg_dumpを直接使用してください)
  • レプリケーショントポロジーの管理は行いません

エージェントのワークフローで書き込みアクセスが必要な場合は、明示的なゲートを備えた別のMCP サーバーを使用してください。読み取り専用の分析と書き込み操作を混在させないことは、このサーバーが避けるために作られた、まさにその種のツール設計上の混同です。

ライセンス

MIT。

コメント

MCP は初めてですか?

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

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