mcpField
P
pgEdge MCP Server for Postgres

pgEdge MCP Server for Postgres

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

pgEdge MCP Server for Postgres について

pgEdge Postgres MCP Server は、MCP 対応クライアントから PostgreSQL に対して SQL クエリを実行できる MCP サーバーです。自然言語から SQL を組み立てる Natural Language Agent も備えています。全ユーザーが信頼できる社内ツールや開発者のワークフロー向けで、公開アプリケーションには想定されていません。

主な機能

  1. 01デフォルトで読み取り専用トランザクションにおけるクエリ実行
  2. 02クエリ実行とスキーマ分析のツール
  3. 03BM25 と MMR を用いたハイブリッド検索
  4. 04Web UI、Go 製コマンドラインクライアント、HTTP モード
  5. 05ユーザーと API トークンによる認証、TLS 対応
  6. 06PostgreSQL 14 以上への対応

活用シーン

  1. 01Claude Desktop や Cursor からのデータベース照会
  2. 02自然言語による SQL の作成と実行
  3. 03チーム内の Web インターフェースでのスキーマ探索

MCP 対応

本プロジェクトは MCP サーバーであり、PostgreSQL のクエリツール、統計リソース、プロンプトを MCP クライアントへ公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"pgedge-postgres": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/pgedge/postgres-mcp:latest"
]
}
}
}
起動コマンドdocker run -i --rm ghcr.io/pgedge/postgres-mcp:latest

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocighcr.io/pgedge/postgres-mcp:latest

ツール

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

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

詳細

pgEdge Postgres MCP サーバーと自然言語エージェント

CI - MCP サーバー CI - CLI クライアント CI - Web クライアント CI - Docker CI - ドキュメント

対応バージョン: PostgreSQL 14 以降。

一般公開アプリケーション向けではありません:この MCP サーバーは、LLM にデータベース全体のスキーマとデータへの読み取りアクセスを提供します。 内部ツール、開発者向けワークフロー、またはすべてのユーザーが信頼できる環境でのみ使用してください。一般公開アプリケーションでは、代わりに pgEdge RAG Server をご検討ください。詳細は、 適切なソリューションの選択 ガイドをご覧ください。

クイックスタート

クイックスタートガイドでは、サポート対象のすべてのクライアントのインストールとセットアップについて説明しています。

クライアントトランスポート最適な用途
CLI(Stdio)Stdioローカルでの単一ユーザー開発
CLI(HTTP)HTTP複数ユーザーまたはリモートアクセス
Web UIHTTPブラウザー上のチャットインターフェース
Claude CodeStdioAnthropic CLI エージェント
Claude DesktopStdioAnthropic デスクトップアプリ
CursorStdioAI コードエディター
WindsurfStdioCodeium コードエディター
VS Code CopilotStdioGitHub Copilot エージェント

サンプルデータを使ったガイド付きデモについては、 Northwind を使ったクイックスタートデモをご覧ください。

主な機能

  • 読み取り専用保護 - すべてのクエリは、デフォルトで読み取り専用トランザクション内で実行されます
  • リソース - PostgreSQL の統計情報などにアクセスできます
  • ツール - クエリの実行、スキーマ分析、高度なハイブリッド検索(BM25+MMR)、埋め込みの生成、リソースの読み取りなど
  • プロンプト - セマンティック検索のセットアップ、データベースの調査、クエリの診断などを行うガイド付きワークフロー
  • 本番環境向けチャットクライアント - Anthropic のプロンプトキャッシュ(コストを90%削減)を備えたフル機能の Go クライアント
  • HTTP/HTTPS モード - ユーザー認証とトークン認証による直接 API アクセス
  • Web インターフェース - 自然言語によるデータベース操作が可能な、AI を活用したチャット機能を備える最新の React ベース UI
  • Docker サポート - GitHub Container Registry のビルド済みイメージと Docker Compose によるデプロイ
  • セキュア - TLS サポート、ユーザー認証とトークン認証、読み取り専用の強制
  • ホットリロード - サーバーを再起動せずに認証ファイルを自動で再読み込み

開発

前提条件
  • Go 1.21 以降
  • PostgreSQL 14 以降(テスト用)
  • golangci-lint v1.x(リンティング用)
リンターのセットアップ

このプロジェクトでは golangci-lint v1.x を使用します。次のコマンドでインストールしてください。

go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest

注:設定ファイル .golangci.yml は golangci-lint v1.x に対応しています(v2 には対応していません)。

ビルド
git clone https://github.com/pgEdge/pgedge-postgres-mcp.git
cd pgedge-postgres-mcp
make build
テスト
# Run all tests
make test

# Run server tests with a database
export TEST_PGEDGE_POSTGRES_CONNECTION_STRING=\
  "postgres://localhost/postgres?sslmode=disable"
go test ./...

# Run with coverage
go test -v -cover ./...

# Run linting
make lint
Web UI テスト

Web UI には包括的なテストスイートがあります。詳細は web/TEST_SUMMARY.mdをご覧ください。

cd web
npm test                # Run all tests
npm run test:watch      # Watch mode
npm run test:coverage   # With coverage

セキュリティ

  • 読み取り専用トランザクションの強制(データベースごとに設定可能)
  • 有効期限付きのユーザー認証と API トークン認証
  • TLS/HTTPS サポート
  • SHA256 によるトークンのハッシュ化
  • ファイル権限の強制(0600)
  • 入力の検証とサニタイズ

包括的なセキュリティドキュメントについては、セキュリティガイドをご覧ください。

トラブルシューティング

Claude Desktop にツールが表示されない場合

  • 設定には絶対パスを使用してください
  • Claude Desktop を完全に終了してから再起動してください
  • JSON の構文を確認してください

データベース接続エラーが発生する場合

  • サーバーを起動する前に、設定ファイル、環境変数、またはコマンドラインフラグでデータベース接続を設定してください
  • PostgreSQL が稼働していることを確認してください:pg_isready
  • 接続パラメーターが正しいことを確認してください

詳しい解決方法については、トラブルシューティングガイドをご覧ください。

サポート

ソフトウェアに関する問題を報告するには、次のページをご覧ください。 GitHub Issues

詳しくは、次のページをご覧ください。 docs.pgedge.com

このプロジェクトは、PostgreSQL License のライセンスで提供されています。

コメント

MCP は初めてですか?

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

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