PostgreSQL MCP サーバー
モデルコンテキストプロトコル(MCP) Python SDKを使用したPostgreSQL MCPサーバー実装。MCPは、LLMアプリケーションと外部データソース間のシームレスな統合を可能にするオープンプロトコルです。このサーバーにより、AIエージェントは標準化されたインターフェースを介してPostgreSQLデータベースと対話できるようになります。
特徴
- データベーススキーマの一覧表示
- スキーマ内のテーブルを一覧表示する
- テーブル構造を説明する
- テーブルの制約と関係を一覧表示する
- 外部キー情報を取得する
- SQLクエリを実行する
前提条件
- Python 3.x
- PostgreSQLデータベースサーバー
- PostgreSQLデータベースへのアクセス
インストール
- このリポジトリをクローンします:
- 仮想環境を作成してアクティブ化します (推奨):
- 依存関係をインストールします:
使用法
- PostgreSQL 接続文字列を指定して MCP サーバーを起動します。
- サーバーは次のツールを提供します。
query
: データベースに対してSQLクエリを実行するlist_schemas
: 利用可能なすべてのスキーマを一覧表示するlist_tables
: 特定のスキーマ内のすべてのテーブルを一覧表示するdescribe_table
: テーブルの構造に関する詳細情報を取得するget_foreign_keys
: テーブルの外部キー関係を取得するfind_relationships
: テーブルの明示的および暗黙的な関係の両方を検出します
mcp.json による設定
このサーバーを MCP 互換ツール (Cursor など) と統合するには、 ~/.cursor/mcp.json
に追加します。
交換する:
/path/to/venv
仮想環境のパスに置き換えます/path/to/postgres_server.py
にサーバースクリプトへの絶対パスを記述します。- PostgreSQL データベースの資格情報を含む接続文字列
注意: mcp.json
ファイルには機密性の高いデータベース資格情報が含まれているため、適切に保護してください。
安全
- コード内で機密データベースの認証情報を公開しないでください
- データベース接続文字列には環境変数または安全な構成ファイルを使用する
- リソース管理を改善するために接続プールの使用を検討する
- 適切なアクセス制御とユーザー認証を実装する
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
関連プロジェクト
ライセンス
MITライセンス
著作権 (c) 2025 gldc
本ソフトウェアおよび関連ドキュメント ファイル (以下「本ソフトウェア」) のコピーを入手したすべての人物は、以下の条件に従い、本ソフトウェアを無制限に扱う権利 (使用、コピー、変更、統合、公開、配布、サブライセンス、および/または販売する権利を含みますが、これに限定されません) および本ソフトウェアの提供を受けた人物が同様の行為を行うことを許可する権利を無償で付与されます。
上記の著作権表示およびこの許可通知は、ソフトウェアのすべてのコピーまたは大部分に含めるものとします。
本ソフトウェアは「現状有姿」で提供され、明示的または黙示的を問わず、商品性、特定目的への適合性、非侵害性を含むがこれらに限定されない、いかなる種類の保証も付与されません。いかなる場合においても、著作者または著作権者は、契約違反、不法行為、またはその他の行為にかかわらず、本ソフトウェア、本ソフトウェアの使用、またはその他の取り扱いに起因または関連して発生するいかなる請求、損害、またはその他の責任についても責任を負わないものとします。
This server cannot be installed
AI エージェントがモデル コンテキスト プロトコルを介して PostgreSQL データベースと対話できるようにし、データベース スキーマの探索、テーブル構造の検査、SQL クエリ実行機能を提供します。