mcpField
P
PostgreSQL MCP Server

PostgreSQL MCP Server

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

PostgreSQL MCP Server について

PostgreSQL MCP Server は、標準化された MCP インターフェースを通じて PostgreSQL の探索とクエリを行うためのサーバーです。任意クエリは SELECT に限定され、テーブル、スキーマ、絞り込み、統計のツールも備えています。

主な機能

  1. 01任意の SELECT クエリを実行
  2. 02データベースのテーブル一覧
  3. 03テーブルスキーマの確認
  4. 04等価条件によるレコードの絞り込み
  5. 05データベース統計の表示

活用シーン

  1. 01PostgreSQL データベース内のテーブルを確認
  2. 02テーブルのスキーマを調査
  3. 03SELECT クエリでデータを取得
  4. 04データベース容量とテーブル統計を確認

MCP 対応

PostgreSQL の探索・クエリ機能を、テーブル、スキーマ、絞り込み、統計などの MCP ツールとして公開します。PostgreSQL 接続文字列を使用して接続し、stdio に対応します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

mcpreview.com 認定

PostgreSQL MCP サーバー

PostgreSQL データベースの探索とクエリ実行を行うための、Model Context Protocol(MCP)サーバー実装です。

目次

概要

このプロジェクトは、PostgreSQL データベースに接続し、さまざまなデータの検出機能やクエリ機能を MCP ツールとして公開する Model Context Protocol(MCP)サーバーを提供します。これらのツールを使うと、標準化されたインターフェースを通じて、データベースの構造を調べたり、データをクエリしたり、データベースの統計情報を取得したりできます。

機能

  • 標準的な接続文字列を使って、任意の PostgreSQL データベースに接続
  • カスタムの SELECT クエリを実行し、構造化された形式で結果を返す
  • 接続先データベースのすべてのテーブルを一覧表示
  • 任意のテーブルの詳細なスキーマ情報を取得
  • 単純な等価条件でデータベースのレコードを絞り込み
  • データベースのサイズ、テーブル数、最大サイズのテーブルなどの統計情報を取得

要件

  • Python 3.7+
  • 必要な Python パッケージ(requirements.txt に記載):
    • mcp
    • pg8000
    • sqlalchemy

インストール

  1. このリポジトリをクローンするか、ソースコードをダウンロードします
  2. 仮想環境を作成します(推奨)
  3. 必要なパッケージをインストールします:
pip install -r requirements.txt

使い方

基本的な使い方

PostgreSQL の接続文字列を指定して、サーバーを起動します:

python server.py postgresql://username:password@hostname:port/database
Claude Desktop での使用

Claude Desktop と連携するには、次の設定を Claude Desktop の設定ファイルに追加します:

{
  "mcpServers": {
    "postgres": {
      "command": "python",
      "args": [
        "/ABOSLUTE/PATH/TO/postgres-mcp-server/server.py",
        "postgresql://user:password@host:port/database"
      ]
    }
  }
}

上記の設定ファイルを追加または変更した後は、Claude Desktop を強制終了してから再起動してください。

設定ファイルの場所

Claude Desktop の設定ファイルは通常、次の場所にあります:

  • macOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

利用可能なツール

サーバーは次の MCP ツールを提供します:

ツール

execute_query

カスタムの SELECT SQL クエリを実行し、結果を返します。

list_tables

現在の PostgreSQL データベースにあるすべてのテーブルを一覧表示します。

get_table_schema

指定したテーブルのスキーマ定義を取得します。

filter_instances

指定した条件に基づいてデータベースのレコードを絞り込みます。

get_database_stats

PostgreSQL データベースの一般的な統計情報とメタデータを取得します。

セキュリティに関する考慮事項

  • このサーバーは、データベースの変更を防ぐため、SELECT クエリのみを許可します
  • 接続認証情報はコマンドライン経由で渡され、保存されません
  • 本番環境では、環境変数または安全な設定方法の使用を検討してください

Claude での対話例

Claude Desktop に接続したら、次のような質問ができます:

  • 「データベースにはどのテーブルがありますか?」
  • 「customers テーブルのスキーマを表示してください」
  • 「orders テーブルにはレコードがいくつありますか?」
  • 「データベースの合計サイズはいくつですか?」

出力

Claude は PostgreSQL データベースにクエリを実行し、質問に答えるために適切な MCP ツールを使用します。

トラブルシューティング

  • 接続に失敗する場合は、PostgreSQL の接続文字列が正しいことを確認してください。

  • PostgreSQL サーバーがクライアントマシンからの接続を許可していることを確認してください。

  • サーバーが見つからない場合:設定ファイル内のパスが正しく、絶対パスであることを確認してください。

    where python を実行して、コマンドに指定する絶対パスを確認してください。

    たとえば、"command": "python" は "command": "/Users/username/miniconda3/bin/python" のように記述してください。

  • 権限の問題:Claude Desktop アプリにスクリプトを実行する権限があることを確認してください。

  • サーバーがクラッシュする場合:サーバーログにエラーがないか確認し、必要な依存関係がすべてインストールされていることを確認してください。

お問い合わせ

このリポジトリでお気軽に Issue を作成してください。

SSE および Streamable-HTTP の postgres-mcp-server は開発中です……

コメント

MCP は初めてですか?

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

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