postgres について
postgresは、PostgreSQLデータベースの検索と構造確認を行うMCPサーバーで、ローカルや開発環境での利用を想定しています。既定では読み取り専用で、必要に応じて書き込みを有効にできます。
主な機能
- 01既定で読み取り専用のSQLクエリ実行
- 02スキーマ一覧とテーブルの確認
- 03列、型、キー、行数の表示
- 04任意のANALYZEを含む実行計画の説明
- 05呼び出しごとの接続先指定
活用シーン
- 01ローカルまたは開発用DBのスキーマを調査
- 02テーブルの列と行数を確認
- 03IDEでクエリの実行計画を確認
- 04必要に応じて書き込みを有効化してDBを変更
MCP 対応
MCPクライアントにPostgreSQLのクエリ、スキーマ、テーブル、実行計画のツールを提供します。DATABASE_URLまたは呼び出し単位のconnectionStringで接続し、既定では読み取り専用クエリを実行します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-server-postgres
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 を離れることなくアシスタントからクエリを実行したり、スキーマを読み取ったり、実行計画を解説したりできます。デフォルトでは読み取り専用なので、安全に調べられます。必要に応じて書き込みを有効にできます。
ツール
| ツール | 機能 |
|---|---|
query | SQL(SELECT、WITH、EXPLAIN、SHOW、ANALYZE)を実行します。テキスト形式の表を返します。 |
schema | スキーマ内のテーブル(デフォルトは public)と、列および概算の行数を表示します |
table_info | 1 つのテーブルの列、型、NULL/デフォルト値、主キー、正確な行数を表示します |
explain | EXPLAIN(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 サーバーや開発者向けツールは、ポートフォリオをご覧ください。
作者
ライセンス
MIT © 2026 Ofer Shapira
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。