Skip to main content
Glama

MCP PostgreSQL Server

by Maxim2324

MCP PostgreSQLサーバー

次の機能を備えたモデル コントローラー プロバイダー (MCP) サーバー:

  • PostgreSQLデータベースに接続する
  • テーブルスキーマをリソースとして公開する
  • 読み取り専用SQLクエリを実行するためのツールを提供します
  • 一般的なデータ分析タスクのプロンプトが含まれています

特徴

  • スキーマ探索: データベースのスキーマ、テーブル、列を参照します
  • 読み取り専用クエリ実行: データベースに対してSQLクエリを安全に実行します
  • データ分析プロンプト: 一般的な分析タスク用の事前構築された SQL テンプレート
  • データの可視化: 可視化のためのデータを生成する
  • 関係探索: テーブルの関係と外部キーを視覚化する
  • APIドキュメント: 自動生成されたOpenAPI仕様

建築

このアプリケーションは、モデル - コントローラー - プロバイダー (MCP) パターンに従います。

  • モデル層: データベースとの直接的なやり取り
  • プロバイダー層: ビジネスロジックとデータ処理
  • コントローラー層: APIエンドポイントとリクエスト処理

セキュリティ機能

  • 読み取り専用クエリ検証
  • SQLインジェクション保護
  • レート制限
  • パラメータ化されたクエリ
  • 認証サポート
  • CORS設定

インストール

  1. リポジトリをクローンします。
    git clone <repository-url> cd mcp-postgres-server
  2. 依存関係をインストールします:
    npm install
  3. .env.templateに基づいて.envファイルを作成します。
    cp .env.template .env
  4. PostgreSQL データベースの資格情報を使用して.envファイルを更新します。
  5. サーバーを起動します。
    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 - 分析の提案を取得する

クエリの例

基本的なテーブルクエリ

// API request fetch('/api/query', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ sql: 'SELECT * FROM users LIMIT 10' }) }) .then(response => response.json()) .then(data => console.log(data));

分析プロンプトの使用

// Get suggested analysis for a table fetch('/api/schemas/public/tables/orders/analysis/suggest') .then(response => response.json()) .then(suggestions => { // Use a suggestion const suggestionId = suggestions.data[0].templateId; const params = suggestions.data[0].params; // Generate SQL from the template return fetch(`/api/prompts/${suggestionId}/generate`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ params }) }); }) .then(response => response.json()) .then(data => { // Execute the generated SQL return fetch('/api/query', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ sql: data.data.sql }) }); }) .then(response => response.json()) .then(results => console.log(results));

発達

  • 開発モードで実行: npm run dev
  • テストを実行: npm test
  • リントコード: npm run lint

ライセンス

マサチューセッツ工科大学

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

PostgreSQL データベースに接続し、スキーマを安全に探索し、読み取り専用の SQL クエリを実行し、事前に構築されたテンプレートを使用してデータ分析を実行するためのツールを提供するサーバー。

  1. 特徴
    1. 建築
      1. セキュリティ機能
        1. インストール
          1. 構成
            1. APIエンドポイント
              1. スキーマエンドポイント
              2. クエリエンドポイント
              3. 分析プロンプトエンドポイント
            2. クエリの例
              1. 基本的なテーブルクエリ
              2. 分析プロンプトの使用
            3. 発達
              1. ライセンス

                Related MCP Servers

                • A
                  security
                  A
                  license
                  A
                  quality
                  Facilitates management and optimization of PostgreSQL databases, offering analysis, setup guidance, and debugging, while ensuring secure and efficient database operations.
                  Last updated -
                  3
                  6
                  12
                  TypeScript
                  AGPL 3.0
                  • Linux
                  • Apple
                • -
                  security
                  F
                  license
                  -
                  quality
                  Provides read-only access to PostgreSQL databases, enabling users to inspect database schemas and execute read-only queries through a Model Context Protocol server.
                  Last updated -
                  3
                  JavaScript
                • -
                  security
                  F
                  license
                  -
                  quality
                  A server that allows AI models to interact with PostgreSQL databases through a standardized protocol, providing database schema information and SQL query execution capabilities.
                  Last updated -
                  JavaScript
                • -
                  security
                  F
                  license
                  -
                  quality
                  A Model Context Protocol server that enables interaction with PostgreSQL databases to list tables, retrieve schemas, and execute read-only SQL queries.
                  Last updated -
                  16,948
                  JavaScript
                  • Linux
                  • Apple

                View all related MCP servers

                MCP directory API

                We provide all the information about MCP servers via our MCP API.

                curl -X GET 'https://glama.ai/api/mcp/v1/servers/Maxim2324/mcp-server-test'

                If you have feedback or need assistance with the MCP directory API, please join our Discord server