mcpField
P
postgres

postgres

ローカル
github.com/ofershapデータベース011 週間前に更新

postgres について

postgresは、PostgreSQLデータベースの検索と構造確認を行うMCPサーバーで、ローカルや開発環境での利用を想定しています。既定では読み取り専用で、必要に応じて書き込みを有効にできます。

主な機能

  1. 01既定で読み取り専用のSQLクエリ実行
  2. 02スキーマ一覧とテーブルの確認
  3. 03列、型、キー、行数の表示
  4. 04任意のANALYZEを含む実行計画の説明
  5. 05呼び出しごとの接続先指定

活用シーン

  1. 01ローカルまたは開発用DBのスキーマを調査
  2. 02テーブルの列と行数を確認
  3. 03IDEでクエリの実行計画を確認
  4. 04必要に応じて書き込みを有効化してDBを変更

MCP 対応

MCPクライアントにPostgreSQLのクエリ、スキーマ、テーブル、実行計画のツールを提供します。DATABASE_URLまたは呼び出し単位のconnectionStringで接続し、既定では読み取り専用クエリを実行します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"ofershap-postgres": {
"command": "npx",
"args": [
"-y",
"mcp-pg-server"
]
}
}
}
起動コマンドnpx -y mcp-pg-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmmcp-pg-server1.0.0

ツール

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

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

詳細

mcp-server-postgres

npm version npm downloads CI TypeScript License: MIT

AI アシスタントから PostgreSQL にクエリを実行し、スキーマを確認して、クエリを解説できます。ローカルや開発環境の Postgres で日常的に使える MCP です。Docker や SQLite のサーバーと同じ感覚で使えるもので、エンタープライズ向けの DBA スイートではありません。

DATABASE_URL=postgres://user:pass@localhost:5432/mydb npx mcp-pg-server

Claude Desktop、Cursor、VS Code Copilot、およびあらゆる MCP クライアントで動作します。DATABASE_URL または呼び出しごとの connectionString を使って接続します。

特長

Postgres は、新しいバックエンドやローカル開発スタック、実際の SQL データベースを必要とするエージェントのワークフローで、標準的に使われています。すでに Docker や localhost で動かしている Postgres に、このサーバーを使えば、IDE を離れることなくアシスタントからクエリを実行したり、スキーマを読み取ったり、実行計画を解説したりできます。デフォルトでは読み取り専用なので、安全に調べられます。必要に応じて書き込みを有効にできます。

ツール

ツール機能
querySQL(SELECT、WITH、EXPLAIN、SHOW、ANALYZE)を実行します。テキスト形式の表を返します。
schemaスキーマ内のテーブル(デフォルトは public)と、列および概算の行数を表示します
table_info1 つのテーブルの列、型、NULL/デフォルト値、主キー、正確な行数を表示します
explainEXPLAIN(FORMAT TEXT)を実行します。オプションで ANALYZE を指定できます
list_schemasシステム以外のスキーマを一覧表示します

クイックスタート

Cursor

.cursor/mcp.json に追加します。

{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": ["mcp-pg-server"],
      "env": {
        "DATABASE_URL": "postgres://user:pass@localhost:5432/mydb"
      }
    }
  }
}
Claude Desktop

claude_desktop_config.json に追加します(macOS の場合:~/Library/Application Support/Claude/claude_desktop_config.json)。

{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": ["mcp-pg-server"],
      "env": {
        "DATABASE_URL": "postgres://user:pass@localhost:5432/mydb"
      }
    }
  }
}
VS Code

VS Code の設定で MCP サーバーを設定し、DATABASE_URL を設定した状態で npx mcp-pg-server を実行します。

プロンプトの例

  • 「public のテーブルのスキーマを表示して」
  • 「users にクエリを実行して:SELECT * FROM users LIMIT 10」
  • 「この JOIN クエリを解説して」
  • 「このデータベースにはどのスキーマがある?」
  • 「orders テーブルには何行ある?」

安全性

デフォルトでは読み取り専用です。読み取り専用モードでは、query ツールが受け付けるのは SELECT、WITH、EXPLAIN、SHOW、ANALYZE のみです。readonly=false を設定すると、INSERT、UPDATE、DELETE、DDL が有効になります。

任意のツールに connectionString を渡すと、その呼び出しに限って DATABASE_URL を上書きできます。

開発

npm install
npm run typecheck
npm run build
npm test
npm run format
npm run lint

関連項目

その他の MCP サーバーや開発者向けツールは、ポートフォリオをご覧ください。

作者

Made by ofershap

LinkedIn GitHub

ライセンス

MIT © 2026 Ofer Shapira

コメント

MCP は初めてですか?

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

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