mcpField
P
PostgreSQL MCP Server

PostgreSQL MCP Server

ローカル
github.com/nahmanmateデータベース2478 週間前に更新

PostgreSQL MCP Server について

PostgreSQL MCP Server は、PostgreSQL データベースの管理機能を提供する MCP サーバーです。既存環境の分析、導入ガイダンスの提供、データベースの問題調査を支援します。AI アシスタントを使ってデータベース運用を行いたい開発者や管理者に向いています。

主な機能

  1. 01analyze_database による設定・性能・セキュリティ分析
  2. 02get_setup_instructions によるプラットフォーム別の導入手順
  3. 03debug_database による接続・ロック・レプリケーションの調査
  4. 04SSL/TLS 接続のサポートと接続タイムアウト設定
  5. 05SQL クエリの検証と操作ログの記録

活用シーン

  1. 01データベースの設定と性能指標のレビュー
  2. 02Linux、macOS、Windows 向けの PostgreSQL 導入手順の作成
  3. 03接続失敗やロック競合の原因調査

MCP 対応

本プロジェクトは MCP サーバーであり、analyze_database、get_setup_instructions、debug_database などのツールを MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"postgresql": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
起動コマンドnpx -y @smithery/cli

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@smithery/cli

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

PostgreSQL MCP サーバー

smithery badge

PostgreSQL データベースの管理機能を提供する Model Context Protocol(MCP)サーバーです。このサーバーは、既存の PostgreSQL 環境の分析、実装ガイダンスの提供、データベースの問題のデバッグを支援します。

PostgreSQL Server MCP サーバー

機能

1. データベース分析(analyze_database)

PostgreSQL データベースの構成とパフォーマンス指標を分析します。

  • 構成分析
  • パフォーマンス指標
  • セキュリティ評価
  • 最適化に関する推奨事項
// Example usage
{
  "connectionString": "postgresql://user:password@localhost:5432/dbname",
  "analysisType": "performance" // Optional: "configuration" | "performance" | "security"
}
2. セットアップ手順(get_setup_instructions)

PostgreSQL のインストールと構成に関する手順を段階的に案内します。

  • プラットフォーム固有のインストール手順
  • 構成に関する推奨事項
  • セキュリティのベストプラクティス
  • インストール後のタスク
// Example usage
{
  "platform": "linux", // Required: "linux" | "macos" | "windows"
  "version": "15", // Optional: PostgreSQL version
  "useCase": "production" // Optional: "development" | "production"
}
3. データベースのデバッグ(debug_database)

PostgreSQL でよく発生する問題をデバッグします。

  • 接続の問題
  • パフォーマンスのボトルネック
  • ロックの競合
  • レプリケーションのステータス
// Example usage
{
  "connectionString": "postgresql://user:password@localhost:5432/dbname",
  "issue": "performance", // Required: "connection" | "performance" | "locks" | "replication"
  "logLevel": "debug" // Optional: "info" | "debug" | "trace"
}

前提条件

  • Node.js >= 18.0.0
  • PostgreSQL サーバー(対象データベースの操作に必要)
  • 対象の PostgreSQL インスタンスへのネットワークアクセス

インストール

Smithery 経由でインストール

Smithery 経由で Claude Desktop に PostgreSQL MCP Server を自動的にインストールするには、次の手順を実行します。

npx -y @smithery/cli install @nahmanmate/postgresql-mcp-server --client claude
手動インストール
  1. リポジトリをクローンします
  2. 依存関係をインストールします。
    npm install
    
  3. サーバーをビルドします。
    npm run build
    
  4. MCP 設定ファイルに追加します。
    {
      "mcpServers": {
        "postgresql-mcp": {
          "command": "node",
          "args": ["/path/to/postgresql-mcp-server/build/index.js"],
          "disabled": false,
          "alwaysAllow": []
        }
      }
    }
    

開発

  • npm run dev - ホットリロードで開発サーバーを起動します
  • npm run lint - ESLint を実行します
  • npm test - テストを実行します

セキュリティに関する考慮事項

  1. 接続のセキュリティ

    • 接続プーリングを使用します
    • 接続タイムアウトを実装します
    • 接続文字列を検証します
    • SSL/TLS 接続をサポートします
  2. クエリの安全性

    • SQL クエリを検証します
    • 危険な操作を防止します
    • クエリタイムアウトを実装します
    • すべての操作をログに記録します
  3. 認証

    • 複数の認証方式をサポートします
    • ロールベースのアクセス制御を実装します
    • パスワードポリシーを適用します
    • 接続認証情報を安全に管理します

ベストプラクティス

  1. 常に適切な認証情報を含む安全な接続文字列を使用します
  2. 機密性の高い環境では、本番環境向けのセキュリティに関する推奨事項に従います
  3. データベースのパフォーマンスを定期的に監視、分析します
  4. PostgreSQL のバージョンを常に最新の状態に保ちます
  5. 適切なバックアップ戦略を実施します
  6. リソースをより適切に管理するため、接続プーリングを使用します
  7. 適切なエラー処理とログ記録を実装します
  8. セキュリティ監査とアップデートを定期的に実施します

エラー処理

サーバーは包括的なエラー処理を実装しています。

  • 接続の失敗
  • クエリタイムアウト
  • 認証エラー
  • 権限の問題
  • リソースの制約

評価とテストの実行

evals パッケージは MCP クライアントを読み込み、そのクライアントが index.ts ファイルを実行するため、テストの間に再ビルドする必要はありません。ドキュメント全文はこちらで確認できます。

OPENAI_API_KEY=your-key  npx mcp-eval src/evals/evals.ts src/index.ts

コントリビューション

  1. リポジトリをフォークします
  2. フィーチャーブランチを作成します
  3. 変更をコミットします
  4. ブランチにプッシュします
  5. プルリクエストを作成します

ライセンス

このプロジェクトは AGPLv3 ライセンスの下でライセンスされています。詳細については LICENSE ファイルを参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。