mcp-server-postgres について
mcp-server-postgresは、PostgreSQLのスキーマ確認と読み取り専用クエリを必要とするLLM向けのMCPサーバーです。クエリはREAD ONLYトランザクション内で実行され、データベースの変更を抑えます。
主な機能
- 01PostgreSQLスキーマの確認
- 02読み取り専用クエリの実行
- 03READ ONLYトランザクションの適用
- 04Docker対応
- 05NPMパッケージの提供
活用シーン
- 01PostgreSQLデータベースのスキーマ確認
- 02データを変更しないクエリの実行
MCP 対応
MCPクライアントにPostgreSQLのスキーマ確認と読み取り専用クエリ機能を提供します。クエリはREAD ONLYトランザクション内で実行されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-server-postgres
PostgreSQL データベース向けの Model Context Protocol サーバーです。このサーバーを使用すると、LLM がデータベースのスキーマを調査し、読み取り専用クエリを実行できます。
特長
- PostgreSQL データベースへの読み取り専用アクセス
- スキーマを調査する機能
- READ ONLY トランザクション内で安全にクエリを実行
- Docker をサポート
- NPM パッケージを利用可能
インストール
Docker を使用
# Build the Docker image
make docker
# Run with Docker
docker run -i --rm mcp/postgres postgresql://host:port/dbname
Smithery 経由でインストール
Smithery 経由で、Claude Desktop 用 PostgreSQL Database Server を自動的にインストールするには、次の手順を実行してください。
npx -y @smithery/cli install @yuru-sha/mcp-server-postgres --client claude
使用方法
Claude Desktop で使用
claude_desktop_config.json に次の設定を追加してください。
{
"mcpServers": {
"postgres": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"mcp/postgres",
"postgresql://host:port/dbname"
]
}
}
}
注:macOS で Docker を使用する場合、PostgreSQL サーバーがホストネットワーク上で実行されているときは、host.docker.internal を使用してください。
接続 URL の形式
postgresql://[user][:password]@host[:port]/database
/database をデータベース名に置き換えてください。
開発
# Initial setup
make setup
# Build the project
make build
# Format code
make format
# Run linter
make lint
ライセンス
このプロジェクトは、MIT License の下で公開されています。
セキュリティ
このサーバーは、データベースを保護するために読み取り専用アクセスを強制します。すべてのクエリは READ ONLY トランザクション内で実行されます。
セキュリティをさらに強化するため、読み取り専用ユーザーを作成することをおすすめします。
貢献
貢献を歓迎します!お気軽に Pull Request を送信してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。