MEC Postgres について
MEC Postgresは、LLMがテーブルスキーマを確認し、クエリを実行できるPostgreSQL向けMCPサーバーです。読み取り専用SQLと、データベースのテーブルに書き込めるCSV処理を分けて提供します。
主な機能
- 01読み取り専用SQLクエリの実行
- 02CSVファイルのアップロードと処理
- 03CSVデータのテーブルへの取り込み
- 04テーブルスキーマのJSONリソース
- 05DBメタデータから列名と型を取得
活用シーン
- 01PostgreSQLのテーブル構造を確認
- 02読み取り専用クエリの実行
- 03CSVデータをデータベースに取り込み
MCP 対応
MCPクライアントにSQLクエリとCSVアップロードのツールを提供し、列名とデータ型を含むスキーマリソースも公開します。クエリは読み取り専用トランザクション、CSV処理は読み書きトランザクションで実行されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MEC PostgreSQL
PostgreSQL データベースへの読み取りおよび書き込みアクセスを提供する Model Context Protocol サーバーです。このサーバーを使うと、LLM がデータベースのスキーマを調べ、読み取りおよび書き込みクエリを実行できます。
コンポーネント
ツール
- query
- 接続されたデータベースに対して読み取り専用の SQL クエリを実行します
- 入力:
sql(文字列):実行する SQL クエリ - すべてのクエリは読み取り専用トランザクション内で実行されます
- uploadCsv
- CSV ファイルをデータベースのテーブルにアップロードして処理します
- 入力:
sql(文字列):実行する SQL クエリ - すべてのクエリは読み取りおよび書き込みトランザクション内で実行されます
リソース
サーバーは、データベース内の各テーブルのスキーマ情報を提供します。
- テーブルスキーマ(
postgres://<host>/<table>/schema)- 各テーブルの JSON スキーマ情報
- 列名とデータ型を含みます
- データベースのメタデータから自動的に検出されます
Claude Desktop での使用方法
このサーバーを Claude Desktop アプリで使用するには、claude_desktop_config.json の「mcpServers」セクションに次の設定を追加します。
Docker
- macOS で Docker を実行する場合、サーバーがホストネットワーク(例:localhost)で実行されているときは、host.docker.internal を使用してください
postgresql://user:password@host:port/db-nameを使って、PostgreSQL の URL にユーザー名とパスワードを追加できます
{
"mcpServers": {
"postgres": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"mcp/postgres",
"postgresql://host.docker.internal:5432/mydb"]
}
}
}
/mydb をデータベース名に置き換えてください。
ビルド
Docker:
docker build -t mcp/postgres -f src/postgres/Dockerfile .
ライセンス
この MCP サーバーは MIT License のもとでライセンスされています。つまり、MIT License の利用規約に従うことを条件として、ソフトウェアを自由に使用、変更、配布できます。詳しくは、プロジェクトリポジトリの LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。