remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Manages configuration through environment variables using .env files for storing database credentials, server settings, and security parameters.
Supports repository cloning for installation and source code management during development.
Provides example code for API interaction, allowing clients to execute queries and interact with analysis templates.
MCP PostgreSQLサーバー
次の機能を備えたモデル コントローラー プロバイダー (MCP) サーバー:
- PostgreSQLデータベースに接続する
- テーブルスキーマをリソースとして公開する
- 読み取り専用SQLクエリを実行するためのツールを提供します
- 一般的なデータ分析タスクのプロンプトが含まれています
特徴
- スキーマ探索: データベースのスキーマ、テーブル、列を参照します
- 読み取り専用クエリ実行: データベースに対してSQLクエリを安全に実行します
- データ分析プロンプト: 一般的な分析タスク用の事前構築された SQL テンプレート
- データの可視化: 可視化のためのデータを生成する
- 関係探索: テーブルの関係と外部キーを視覚化する
- APIドキュメント: 自動生成されたOpenAPI仕様
建築
このアプリケーションは、モデル - コントローラー - プロバイダー (MCP) パターンに従います。
- モデル層: データベースとの直接的なやり取り
- プロバイダー層: ビジネスロジックとデータ処理
- コントローラー層: APIエンドポイントとリクエスト処理
セキュリティ機能
- 読み取り専用クエリ検証
- SQLインジェクション保護
- レート制限
- パラメータ化されたクエリ
- 認証サポート
- CORS設定
インストール
- リポジトリをクローンします。Copy
- 依存関係をインストールします:Copy
.env.template
に基づいて.env
ファイルを作成します。Copy- PostgreSQL データベースの資格情報を使用して
.env
ファイルを更新します。 - サーバーを起動します。Copy
構成
すべての構成は環境変数を通じて管理されます。
- サーバー: ポート、環境、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
ライセンス
マサチューセッツ工科大学
You must be authenticated.
PostgreSQL データベースに接続し、スキーマを安全に探索し、読み取り専用の SQL クエリを実行し、事前に構築されたテンプレートを使用してデータ分析を実行するためのツールを提供するサーバー。