PostgreSQL MCP サーバー
PostgreSQLデータベースへのアクセスを提供するモデルコンテキストプロトコル(MCP)サーバーです。このサーバーにより、LLMはデータベースと対話してスキーマの検査、クエリの実行、データベースエントリに対するCRUD(作成、読み取り、更新、削除)操作を実行できます。このリポジトリはPostgreSQL MCPサーバーの拡張機能であり、テーブルの作成、エントリの挿入、エントリの更新、エントリの削除、テーブルの削除などの機能を提供します。
インストール
PostgreSQL MCP サーバーをインストールするには、次の手順に従います。
DockerとClaude Desktopをインストールする
リポジトリをクローンします:
git clone https://github.com/vignesh-codes/ai-agents-mcp-pg.gitPG Docker コンテナを実行します
docker run --name postgres-container -e POSTGRES_USER=admin -e POSTGRES_PASSWORD=admin_password -e POSTGRES_DB=mydatabase -p 5432:5432 -d postgres:latestmcp サーバーをビルドします:
docker build -t mcp/postgres -f src/Dockerfile .Claude Desktop を開き、
claude_desktop_config.jsonのmcpServersフィールドを更新して MCP サーバーに接続します。
Claude Desktopでの使用
このサーバーを Claude Desktop アプリで使用するには、 claude_desktop_config.jsonの「mcpServers」セクションに次の構成を追加します。
ドッカー
macOS 上で Docker を実行する場合、サーバーがホスト ネットワーク (例: localhost) 上で実行されている場合は、
host.docker.internalを使用します。ユーザー名/パスワードは
postgresql://user:password@host:port/db-nameを使用して PostgreSQL URL に追加できます。
設定ファイルを更新した後は、必ず claude デスクトップ アプリを再起動してください。
Related MCP server: Enhanced PostgreSQL MCP Server
追加された機能
既存の機能
クエリ
接続されたデータベースに対して読み取り専用の SQL クエリを実行します。
入力:
sql(文字列): 実行する SQL クエリ。すべてのクエリは読み取り専用トランザクション内で実行されます。
新しい機能
テーブルを作成する
テーブル名と列定義を指定して、新しいテーブルを動的に作成する機能。
Claude Desktop からの入力:
{ "tableName": "example_table", "columns": [ { "name": "id", "type": "SERIAL PRIMARY KEY" }, { "name": "name", "type": "VARCHAR(255)" }, { "name": "age", "type": "INTEGER" } ] }
エントリを挿入
指定されたテーブルに新しいエントリを挿入します。
Claude Desktop からの入力:
{ "tableName": "example_table", "values": { "name": "John Doe", "age": 30 } }
エントリの更新
条件に基づいてテーブル内の既存のエントリを更新します。
Claude Desktop からの入力:
{ "tableName": "example_table", "values": { "age": 35 }, "conditions": "name = 'John Doe'" }
エントリを削除
条件に基づいてテーブル内の特定のエントリを削除します。
Claude Desktop からの入力:
{ "tableName": "example_table", "conditions": "name = 'John Doe'" }
テーブルの削除
データベースから既存のテーブルを削除します。
Claude Desktop からの入力:
{ "tableName": "example_table" }
リソース
サーバーは、データベース内の各テーブルのスキーマ情報を提供します。
テーブルスキーマ(
postgres://<host>/<table>/schema)各テーブルの JSON スキーマ情報。
列名とデータ型が含まれます。
データベース メタデータから自動的に検出されます。
サンプル
Claudeデスクトップへの入力
Claude Desktopからの出力
Claudeデスクトップへの入力
Claude Desktopからの出力
Claudeデスクトップへの入力
Claude Desktopからの出力
Claudeデスクトップへの入力
Claude Desktopからの出力
DBエントリ
ライセンス
このMCPサーバーはMITライセンスに基づいてライセンスされています。つまり、MITライセンスの条件に従って、ソフトウェアを自由に使用、改変、配布することができます。詳細については、プロジェクトリポジトリのLICENSEファイルをご覧ください。