Skip to main content
Glama
antonorlov

MCP PostgreSQL Server

MCP PostgreSQLサーバー

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

インストール

手動インストール

npm install mcp-postgres-server

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

npx mcp-postgres-server

Related MCP server: PostgreSQL MCP 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インジェクションを防ぐために準備されたステートメントを使用する

  • 環境変数による安全なパスワード処理をサポート

  • 実行前にクエリを検証します

  • 完了すると自動的に接続が閉じられます

エラー処理

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

  • 接続失敗

  • 無効なクエリ

  • パラメータが不足しています

  • データベースエラー

ライセンス

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

Install Server
A
license - permissive license
B
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Issues opened vs closed

Latest Blog Posts

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/antonorlov/mcp-postgres-server'

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