😇
Model Context Protocol (MCP) x PostgreSQL
ためすこと
Model Context Protocol (MCP) x PostgreSQL
を動作させてみます。
手順
1. Claude Desktop
ブラウザからダウンロードします。
2. PostgreSQL
とありあえず、動作確認程度が目的なのでDockerでサクッとつくってしまいます
Dockerfile
# postgresqlのインストール
FROM postgres:latest
# postgresqlのデータベース作成
ENV POSTGRES_DB=postgres
# postgresqlのユーザー作成
ENV POSTGRES_USER=postgres
# postgresqlのパスワード作成
ENV POSTGRES_PASSWORD=postgres
# postgresqlのポート設定
EXPOSE 5432
# postgresqlの初期設定
COPY ./init.sql /docker-entrypoint-initdb.d/
# postgresqlの起動
CMD ["postgres"]
init.sql
-- データベース作成
CREATE DATABASE sampledb;
GRANT ALL PRIVILEGES ON DATABASE sampledb TO postgres;
-- データベースに接続
\connect sampledb
-- 製品テーブルを作成
CREATE TABLE IF NOT EXISTS product (
id SERIAL PRIMARY KEY,
name VARCHAR(255) NOT NULL,
price INT NOT NULL
);
-- 初期データを挿入
INSERT INTO product (name, price) VALUES
('りんご', 100),
('みかん', 50),
('バナナ', 80);
ファイルつくったら実行
$ docker build -t mcp-1 .
$ docker run -it -d -p 5432:5432 mcp-1
データがみえました
3. 起動設定
Settings > Deverloper > Edit Config
claude_desktop_config.json
を編集します。はじめは{}
が記載されています。
claude_desktop_config.json
{
"mcpServers": {
"postgres": {
"command": "/Users/<me>/.asdf/shims/npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"postgresql://postgres:postgres@localhost:5432/sampledb"
]
}
}
}
-
Claude Desktopを起動してみます。カナヅチのマークを押すと、設定されていることがみえます。
-
PosgreSQLは
Read Only
です。
-
出力できるかためしてみます
4. さいごに
今回の手順で、Model Context Protocol (MCP) を用いて PostgreSQL データベースと連携する環境を構築できました。Dockerを使用して簡易的にデータベースをセットアップし、claude_desktop_config.json を適切に設定することで、Claude Desktop 上で PostgreSQL を操作する基盤を整えることができました。
MCP を使うことで、異なるデータベースやアプリケーションとシームレスに連携する新たな可能性が広がります。この手法を応用すれば、より高度なデータ管理やアプリケーションの開発が期待できます。ぜひ、他の環境やプロジェクトでも試してみてください。
Discussion