MCP Postgres クエリサーバー
Claude Desktop およびその他の MCP クライアントで動作するように設計された、読み取り専用モードで PostgreSQL データベースをクエリするためのモデル コンテキスト プロトコル (MCP) サーバー実装。
概要
このプロジェクトは、以下を提供するモデル コンテキスト プロトコル (MCP) サーバーを実装します。
- PostgreSQL データベースへの安全な読み取り専用インターフェース
- MCPプロトコルによるClaude Desktopとの統合
- SELECTクエリのみが実行されるようにするSQLクエリ検証
- クエリタイムアウト保護(10秒)
前提条件
- Node.js (v14以降)
- npm (Node.js に付属)
- PostgreSQL データベース (接続詳細はコマンドラインから提供)
インストール
Claudeデスクトップに接続しています
Claude Desktop を自動的に起動して MCP サーバーに接続するように設定できます。
- Claude Desktop 構成ファイルにアクセスします。
- クロードデスクトップを開く
- 設定 > 開発者 > 設定の編集に移動します
- これにより、デフォルトのテキストエディタで設定ファイルが開きます。
claude_desktop_config.json
のmcpServers
セクションに postgres-query-server を追加します。
/path/to/your/
プロジェクト ディレクトリへの実際のパスに置き換えます。- PostgreSQL 接続文字列を実際のデータベース資格情報に置き換えます。
- ファイルを保存し、Claude Desktopを再起動します。設定のMCPサーバー選択ドロップダウンにMCPサーバーが表示されるはずです。
構成例
postgres-query を使用した構成ファイルの完全な例を次に示します。
構成の更新
Claude Desktop の構成を更新するには:
- クロードデスクトップを開く
- 設定 > 開発者 > 設定の編集に移動します
- 設定ファイルに変更を加える
- ファイルを保存する
- 変更を有効にするには、Claude Desktopを再起動してください。
- MCPサーバーのコードを更新した場合は、再起動する前に必ず
npm run build
で再構築してください。
特徴
- 読み取り専用データベースアクセス: セキュリティのため、SELECTクエリのみが許可されます
- クエリ検証: 潜在的に有害なSQL操作を防止します
- タイムアウト保護: 10秒以上実行されたクエリは自動的に終了します
- MCPプロトコルサポート: モデルコンテキストプロトコルの完全な実装
- JSONレスポンスフォーマット: クエリ結果は構造化されたJSON形式で返されます
API
ツール
クエリ-Postgres
構成された PostgreSQL データベースに対して読み取り専用の SQL クエリを実行します。
パラメータ:
query
(文字列): 実行するSQL SELECTクエリ
応答:
- 以下を含む JSON オブジェクト:
rows
: 結果セットの行rowCount
: 返される行数fields
: 列のメタデータ
例:
発達
メインサーバーの実装はsrc/index.ts
にあります。主なコンポーネントは次のとおりです。
- PostgreSQL接続プールの設定
- クエリ検証ロジック
- MCP サーバーの構成
- ツールとリソースの定義
サーバーの動作を変更するには、次の操作を行います。
isReadOnlyQuery()
のクエリ検証ロジックを編集します。- MCP サーバーに追加のツールやリソースを追加する
- クエリのタイムアウト期間を変更します(現在は10秒)
セキュリティに関する考慮事項
- サーバーはすべてのクエリを検証し、読み取り専用であることを確認します。
- データベースへの接続にはSSLを使用します
- クエリタイムアウトによりリソース枯渇を防止
- 書き込み操作は許可されていません
- データベースの資格情報はファイルに保存されず、コマンドライン引数を介して直接渡されます。
ライセンス
ISC
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
This server cannot be installed
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.
Claude が PostgreSQL データベースに対して読み取り専用の SQL クエリを実行し、データベース データとの自然言語による対話を可能にする、安全なモデル コンテキスト プロトコル サーバー。
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server providing LLMs read-only access to PostgreSQL databases for inspecting schemas and executing queries.Last updated -16,94817JavaScriptMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables powerful PostgreSQL database management capabilities including analysis, schema management, data migration, and monitoring through natural language interactions.Last updated -35546TypeScriptAGPL 3.0
- -securityFlicense-qualityA Model Context Protocol server that enables interaction with PostgreSQL databases to list tables, retrieve schemas, and execute read-only SQL queries.Last updated -16,948JavaScript
- -security-license-qualityA Model Context Protocol server that provides read-only access to PostgreSQL databases, enabling LLMs to inspect database schemas and execute read-only queries.Last updated -JavaScript