PostgreSQL MCP Server

by gldc
MIT License
4
  • Linux
  • Apple

PostgreSQL MCP サーバー

モデルコンテキストプロトコル(MCP) Python SDKを使用したPostgreSQL MCPサーバー実装。MCPは、LLMアプリケーションと外部データソース間のシームレスな統合を可能にするオープンプロトコルです。このサーバーにより、AIエージェントは標準化されたインターフェースを介してPostgreSQLデータベースと対話できるようになります。

特徴

  • データベーススキーマの一覧表示
  • スキーマ内のテーブルを一覧表示する
  • テーブル構造を説明する
  • テーブルの制約と関係を一覧表示する
  • 外部キー情報を取得する
  • SQLクエリを実行する

前提条件

  • Python 3.x
  • PostgreSQLデータベースサーバー
  • PostgreSQLデータベースへのアクセス

インストール

  1. このリポジトリをクローンします:
git clone <repository-url> cd mcp-postgres
  1. 仮想環境を作成してアクティブ化します (推奨):
python -m venv venv source venv/bin/activate # On Windows, use: venv\Scripts\activate
  1. 依存関係をインストールします:
pip install -r requirements.txt

使用法

  1. PostgreSQL 接続文字列を指定して MCP サーバーを起動します。
python postgres_server.py "postgresql://username:password@host:port/database"
  1. サーバーは次のツールを提供します。
  • query : データベースに対してSQLクエリを実行する
  • list_schemas : 利用可能なすべてのスキーマを一覧表示する
  • list_tables : 特定のスキーマ内のすべてのテーブルを一覧表示する
  • describe_table : テーブルの構造に関する詳細情報を取得する
  • get_foreign_keys : テーブルの外部キー関係を取得する
  • find_relationships : テーブルの明示的および暗黙的な関係の両方を検出します

mcp.json による設定

このサーバーを MCP 互換ツール (Cursor など) と統合するには、 ~/.cursor/mcp.jsonに追加します。

{ "servers": { "postgres": { "command": "/path/to/venv/bin/python", "args": [ "/path/to/postgres_server.py", "postgresql://username:password@host:5432/database?ssl=true" ] } } }

交換する:

  • /path/to/venv仮想環境のパスに置き換えます
  • /path/to/postgres_server.pyにサーバースクリプトへの絶対パスを記述します。
  • PostgreSQL データベースの資格情報を含む接続文字列

注意: mcp.jsonファイルには機密性の高いデータベース資格情報が含まれているため、適切に保護してください。

安全

  • コード内で機密データベースの認証情報を公開しないでください
  • データベース接続文字列には環境変数または安全な構成ファイルを使用する
  • リソース管理を改善するために接続プールの使用を検討する
  • 適切なアクセス制御とユーザー認証を実装する

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

関連プロジェクト

ライセンス

MITライセンス

著作権 (c) 2025 gldc

本ソフトウェアおよび関連ドキュメント ファイル (以下「本ソフトウェア」) のコピーを入手したすべての人物は、以下の条件に従い、本ソフトウェアを無制限に扱う権利 (使用、コピー、変更、統合、公開、配布、サブライセンス、および/または販売する権利を含みますが、これに限定されません) および本ソフトウェアの提供を受けた人物が同様の行為を行うことを許可する権利を無償で付与されます。

上記の著作権表示およびこの許可通知は、ソフトウェアのすべてのコピーまたは大部分に含めるものとします。

本ソフトウェアは「現状有姿」で提供され、明示的または黙示的を問わず、商品性、特定目的への適合性、非侵害性を含むがこれらに限定されない、いかなる種類の保証も付与されません。いかなる場合においても、著作者または著作権者は、契約違反、不法行為、またはその他の行為にかかわらず、本ソフトウェア、本ソフトウェアの使用、またはその他の取り扱いに起因または関連して発生するいかなる請求、損害、またはその他の責任についても責任を負わないものとします。

-
security - not tested
A
license - permissive license
-
quality - not tested

AI エージェントがモデル コンテキスト プロトコルを介して PostgreSQL データベースと対話できるようにし、データベース スキーマの探索、テーブル構造の検査、SQL クエリ実行機能を提供します。

  1. Features
    1. Prerequisites
      1. Installation
        1. Usage
          1. Configuration with mcp.json
        2. Security
          1. Contributing
            1. Related Projects
              1. License
                ID: 82p12it588