MCP PostgreSQLサーバー
次の機能を備えたモデル コントローラー プロバイダー (MCP) サーバー:
PostgreSQLデータベースに接続する
テーブルスキーマをリソースとして公開する
読み取り専用SQLクエリを実行するためのツールを提供します
一般的なデータ分析タスクのプロンプトが含まれています
特徴
スキーマ探索: データベースのスキーマ、テーブル、列を参照します
読み取り専用クエリ実行: データベースに対してSQLクエリを安全に実行します
データ分析プロンプト: 一般的な分析タスク用の事前構築された SQL テンプレート
データの可視化: 可視化のためのデータを生成する
関係探索: テーブルの関係と外部キーを視覚化する
APIドキュメント: 自動生成されたOpenAPI仕様
Related MCP server: PostgreSQL MCP Server
建築
このアプリケーションは、モデル - コントローラー - プロバイダー (MCP) パターンに従います。
モデル層: データベースとの直接的なやり取り
プロバイダー層: ビジネスロジックとデータ処理
コントローラー層: APIエンドポイントとリクエスト処理
セキュリティ機能
読み取り専用クエリ検証
SQLインジェクション保護
レート制限
パラメータ化されたクエリ
認証サポート
CORS設定
インストール
リポジトリをクローンします。
git clone <repository-url> cd mcp-postgres-server依存関係をインストールします:
npm install.env.templateに基づいて.envファイルを作成します。cp .env.template .envPostgreSQL データベースの資格情報を使用して
.envファイルを更新します。サーバーを起動します。
npm start
構成
すべての構成は環境変数を通じて管理されます。
サーバー: ポート、環境、CORS設定
データベース: 接続の詳細、プールの設定
セキュリティ: JWT設定、レート制限
クエリ: 実行制限、結果サイズ制限
APIエンドポイント
スキーマエンドポイント
GET /api/schemas- すべてのスキーマを一覧表示するGET /api/schemas/:schema/tables- スキーマ内のテーブルを一覧表示するGET /api/schemas/:schema/tables/:table- テーブルスキーマの詳細を取得するGET /api/schemas/:schema/relationships- テーブルの関係を取得するGET /api/structure- 完全なデータベース構造を取得するGET /api/search?q=term- テーブルと列を検索
クエリエンドポイント
POST /api/query- SQLクエリを実行するPOST /api/query/explain- クエリ実行プランを取得するGET /api/schemas/:schema/tables/:table/sample- サンプルデータを取得するGET /api/schemas/:schema/tables/:table/stats- テーブル統計を取得する
分析プロンプトエンドポイント
GET /api/prompts- 分析プロンプトテンプレートの一覧を取得するGET /api/prompts/:templateId- プロンプトテンプレートの詳細を取得するPOST /api/prompts/:templateId/generate- テンプレートからSQLを生成するGET /api/schemas/:schema/tables/:table/analysis/suggest- 分析の提案を取得する
クエリの例
基本的なテーブルクエリ
分析プロンプトの使用
発達
開発モードで実行:
npm run devテストを実行:
npm testリントコード:
npm run lint
ライセンス
マサチューセッツ工科大学
Appeared in Searches
- A database for searching medical and scientific research articles
- PostgreSQL MCP (Multi-Version Concurrency Control or specific usage)
- Information about PostgreSQL MCP (Managed Cloud Provider or other related concepts)
- Search for information about 'rag'
- Overview and Resources for PostgreSQL Database System