💻

pg_dumpでスキーマを取得するMCPサーバを作った

に公開

最近作業の際にpg_dump --schema-onlyの結果をLLMに食わせていたりするのだけど、毎回置いたり消したりするのが面倒なので、それだけやるMCPサーバー mcp-postgres-dump-schemaを作った。
https://www.npmjs.com/package/mcp-postgres-dump-schema

Claude Codeだと自力でpg_dumpしてくれたりするので、今のところは設定と指示の手間を省くくらい。よく使うようであれば、中身をコンパクトにするのを狙ったりするかも。

追記:コメントと空行は簡単だったのでカットしました。pg_dump --schema-onlyよりはtokenが少なくなります。

設定

.mcp.json などに、以下を設定すれば使えます。

{
  "mcpServers": {
    "postgres-dump-schema": {
      "command": "npx",
      "args": [
        "mcp-postgres-dump-schema"
      ],
      "env": {
        "PGHOST": "localhost",
        "PGPORT": "5432",
        "PGDATABASE": "dvdrental",
        "PGUSER": "dvdrental",
        "PGPASSWORD": "dvdrental"
      }
    }
  }
}

使用例

claude codeの画像

余談: neonのdvdrental Sample Databaseが便利だった

こういったPostgreSQLのツールを作るときに、neonが配っているdvdrentalというSample Databaseがお手軽で便利。
https://neon.com/postgresql/postgresql-getting-started/load-postgresql-sample-database

Discussion