MCP PostgreSQL Server

by antonorlov
Verified

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

  • Supports installation and execution through npm and npx commands, allowing for easy deployment and integration of the MCP server within Node.js environments.

  • Enables interaction with PostgreSQL databases, providing tools for executing queries, managing database connections, listing tables, and describing table structures with support for prepared statements and comprehensive error handling.

  • Offers TypeScript support for type-safe interactions with PostgreSQL databases through the MCP server interface.

MCP PostgreSQLサーバー

PostgreSQLデータベース操作を提供するモデルコンテキストプロトコルサーバー。このサーバーにより、AIモデルは標準化されたインターフェースを介してPostgreSQLデータベースと対話できるようになります。

インストール

手動インストール

npm install mcp-postgres-server

または、次のコマンドを直接実行します:

npx mcp-postgres-server

構成

サーバーには次の環境変数が必要です。

{ "mcpServers": { "postgres": { "type": "stdio", "command": "npx", "args": ["-y", "mcp-postgres-server"], "env": { "PG_HOST": "your_host", "PG_PORT": "5432", "PG_USER": "your_user", "PG_PASSWORD": "your_password", "PG_DATABASE": "your_database" } } } }

利用可能なツール

1. connect_db

提供された資格情報を使用して PostgreSQL データベースへの接続を確立します。

use_mcp_tool({ server_name: "postgres", tool_name: "connect_db", arguments: { host: "localhost", port: 5432, user: "your_user", password: "your_password", database: "your_database" } });

2. クエリ

オプションの準備済みステートメントパラメータを使用してSELECTクエリを実行します。PostgreSQLスタイル($1、$2)とMySQLスタイル(?)の両方のパラメータプレースホルダをサポートします。

use_mcp_tool({ server_name: "postgres", tool_name: "query", arguments: { sql: "SELECT * FROM users WHERE id = $1", params: [1] } });

3. 実行する

オプションの準備済みステートメントパラメータを使用して、INSERT、UPDATE、またはDELETEクエリを実行します。PostgreSQLスタイル($1、$2)とMySQLスタイル(?)の両方のパラメータプレースホルダをサポートします。

use_mcp_tool({ server_name: "postgres", tool_name: "execute", arguments: { sql: "INSERT INTO users (name, email) VALUES ($1, $2)", params: ["John Doe", "john@example.com"] } });

4. list_schemas

接続されたデータベース内のすべてのスキーマを一覧表示します。

use_mcp_tool({ server_name: "postgres", tool_name: "list_schemas", arguments: {} });

5. list_tables

接続されたデータベース内のテーブルを一覧表示します。オプションのスキーマパラメータを受け入れます(デフォルトは「public」)。

// List tables in the 'public' schema (default) use_mcp_tool({ server_name: "postgres", tool_name: "list_tables", arguments: {} }); // List tables in a specific schema use_mcp_tool({ server_name: "postgres", tool_name: "list_tables", arguments: { schema: "my_schema" } });

6. テーブルの説明

特定のテーブルの構造を取得します。オプションのスキーマパラメータ(デフォルトは「public」)を受け入れます。

// Describe a table in the 'public' schema (default) use_mcp_tool({ server_name: "postgres", tool_name: "describe_table", arguments: { table: "users" } }); // Describe a table in a specific schema use_mcp_tool({ server_name: "postgres", tool_name: "describe_table", arguments: { table: "users", schema: "my_schema" } });

特徴

  • 自動クリーンアップによる安全な接続処理
  • クエリパラメータの準備済みステートメントのサポート
  • PostgreSQLスタイル($1、$2)とMySQLスタイル(?)の両方のパラメータプレースホルダをサポート
  • 包括的なエラー処理と検証
  • TypeScriptサポート
  • 自動接続管理
  • PostgreSQL固有の構文と機能をサポート
  • データベース操作のマルチスキーマサポート

安全

  • SQLインジェクションを防ぐために準備されたステートメントを使用する
  • 環境変数による安全なパスワード処理をサポート
  • 実行前にクエリを検証します
  • 完了すると自動的に接続が閉じられます

エラー処理

サーバーは、一般的な問題に関する詳細なエラー メッセージを提供します。

  • 接続失敗
  • 無効なクエリ
  • パラメータが不足しています
  • データベースエラー

ライセンス

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

You must be authenticated.

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

AI モデルが標準化されたインターフェースを介して PostgreSQL データベースと対話できるようにし、クエリ、テーブル操作、スキーマ検査などの操作をサポートします。

  1. Installation
    1. Manual Installation
  2. Configuration
    1. Available Tools
      1. 1. connect_db
      2. 2. query
      3. 3. execute
      4. 4. list_schemas
      5. 5. list_tables
      6. 6. describe_table
    2. Features
      1. Security
        1. Error Handling
          1. License
            ID: 14ye5puu55