プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Postgres MCP

作者:edelciomolinaバージョン 1.7.0i★ –iパソコンで動く
レジストリ名io.github.edelciomolina/postgres-mcp

インストール

概要

作者による説明(英語の原文)

PostgreSQL MCP wrapper with .env credential mapping, tool selection, and safe read-only defaults.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: データベース・データセット

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • 自分で入力するもの: MCP_KEY_HOST, MCP_KEY_PORT, MCP_KEY_NAME, MCP_KEY_USER, MCP_KEY_PASS, MCP_KEY_SSLMODE

必要なもの

  • npmNode.jsのインストール(npxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@edelciomolina/postgres-mcp"
      ],
      "env": {
        "MCP_KEY_HOST": "your-value",
        "MCP_KEY_PORT": "your-value",
        "MCP_KEY_NAME": "your-value",
        "MCP_KEY_USER": "your-value",
        "MCP_KEY_PASS": "your-value",
        "MCP_KEY_SSLMODE": "your-value"
      }
    }
  }
}

ターミナルでこれを実行します

claude mcp add postgres --env MCP_KEY_HOST=your-value --env MCP_KEY_PORT=your-value --env MCP_KEY_NAME=your-value --env MCP_KEY_USER=your-value --env MCP_KEY_PASS=your-value --env MCP_KEY_SSLMODE=your-value -- npx -y @edelciomolina/postgres-mcp

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@edelciomolina/postgres-mcp"
      ],
      "env": {
        "MCP_KEY_HOST": "your-value",
        "MCP_KEY_PORT": "your-value",
        "MCP_KEY_NAME": "your-value",
        "MCP_KEY_USER": "your-value",
        "MCP_KEY_PASS": "your-value",
        "MCP_KEY_SSLMODE": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "postgres": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@edelciomolina/postgres-mcp"
      ],
      "env": {
        "MCP_KEY_HOST": "your-value",
        "MCP_KEY_PORT": "your-value",
        "MCP_KEY_NAME": "your-value",
        "MCP_KEY_USER": "your-value",
        "MCP_KEY_PASS": "your-value",
        "MCP_KEY_SSLMODE": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • MCP_KEY_HOST env
    Name of the .env variable that holds the database host
  • MCP_KEY_PORT env
    Name of the .env variable that holds the database port
  • MCP_KEY_NAME env
    Name of the .env variable that holds the database name
  • MCP_KEY_USER env
    Name of the .env variable that holds the database user
  • MCP_KEY_PASS env
    Name of the .env variable that holds the database password
  • MCP_KEY_SSLMODE env
    Name of the .env variable that holds the SSL mode (e.g. require)

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント edelciomolina で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

データベース・データセットのほかのサーバーとの比較i

  • このカテゴリのほかの952件のうち0%よりスターが多い
  • このカテゴリのほかの952件のうち15%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの952件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Postgres MCPは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(1.7.0)がレジストリに届いたのは5 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。

代わりに使えるものは?

同じカテゴリには:Supabase, MongoDB MCP Server, Elasticsearch MCP Server

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Supabase

作者:supabase

MCP server for interacting with the Supabase platform

パソコンでもクラウドでも★ 2,993Apache-2.0今日更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

English | 🌐 Português

Postgres MCP 🔌 Native MCP server for PostgreSQL - reads credentials from .env at runtime with flexible key mapping, configurable tool selection, and read-only mode by default .


✨ What it does

Most LLMs interact with databases by guessing - assuming table names, inventing column names, and writing queries that may fail or expose sensitive data. Postgres MCP solves this by giving the LLM a structured, safe interface to actually understand the database before touching it.

Built with @modelcontextprotocol/sdk and pg, it provides:

  • 🧠 Semantic knowledge graph - the LLM gets a complete map of schemas, tables, columns, foreign keys, inferred relations, risk levels, and business domains - built from the real schema, not invented
  • 🛡️ Read-only by default - no writes, no DDL, no arbitrary SQL unless you explicitly opt in; pg_classify_query_risk lets the LLM check a query's safety before running it
  • 🔐 Runtime credential resolution - credentials are read from .env at startup; nothing sensitive lives in mcp.json
  • 🎯 Explicit tool selection - every tool is opt-in via tool= args, so the LLM only sees what you choose to expose

📋 Requirements

  • ⚙️ Node.js >= 18
  • 📄 A .env file with database credentials (anywhere in the project tree - see .env Discovery)

🚀 Installation

There are two ways to use this package. Choose the one that best fits your workflow.

Option 1 - No installation (via npx, recommended for quick start)

No installation needed. npx downloads and runs the package on demand. Add -y as the first argument to skip the confirmation prompt.

{

"servers": { "Postgres Tools": { "type": "stdio", "command": "npx", "args": [ "-y", "@edelciomolina/postgres-mcp" ], "env": { "MCP_KEY_HOST": "DB_HOST", "MCP_KEY_PORT": "DB_PORT", "MCP_KEY_NAME": "DB_NAME", "MCP_KEY_SSLMODE": "DB_SSLMODE", "MCP_KEY_USER": "DB_USER", "MCP_KEY_PASS": "DB_PASS" } } } }

This starts the server with the default read-only tool set - no tool= arguments needed. To enable write-capable tools, see Write-capable tools.

💡 Using Supabase, Neon, Railway or another platform that only provides a connection string? Use MCP_KEY_URL pointing to DATABASE_URL (or whatever variable name the platform uses). The server will prioritize the URL and ignore the individual variables. See Connection via URL.


Option 2 - Install via VS Code (MCP extension marketplace)

VS Code supports discovering and installing MCP servers directly in the editor, without using the terminal.

  1. Open the Command Palette ( Cmd + Shift + P on Mac / Ctrl + Shift + P on Windows/Linux)
  2. Run `MCP: Add Server`
  3. Choose "Browse MCP Servers" (or "From registry", depending on your VS Code version)
  4. Search for `postgres-mcp` or `edelciomolina`
  5. Select Postgres MCP and follow the instructions - VS Code will add the entry to your mcp.json automatically

💡 You can also open the MCP Servers panel via Copilot chat icon → Manage MCP Servers to browse, enable, or disable servers at any time.

After installing, edit the generated entry in .vscode/mcp.json to add your tool= arguments and env key mappings as shown in the Usage section below.


🚀 Usage in VS Code (mcp.json)

Read-only (default - no `tool=` arguments needed):

{

"servers": { "Postgres Tools": { "type": "stdio", "command": "npx", "args": ["@edelciomolina/postgres-mcp"], "env": { "MCP_KEY_HOST": "DB_HOST", "MCP_KEY_PORT": "DB_PORT", "MCP_KEY_NAME": "DB_NAME", "MCP_KEY_SSLMODE": "DB_SSLMODE", "MCP_KEY_USER": "DB_USER", "MCP_KEY_PASS": "DB_PASS" } } } }

With write tools (explicit opt-in required):

{

"servers": { "Postgres Tools": { "type": "stdio", "command": "npx", "args": [ "@edelciomolina/postgres-mcp", "tool=pg_manage_schema", "tool=pg_manage_indexes" ], "env": { "POSTGRES_MCP_ALLOW_WRITE": "true", "MCP_KEY_HOST": "DB_HOST", "MCP_KEY_PORT": "DB_PORT", "MCP_KEY_NAME": "DB_NAME", "MCP_KEY_SSLMODE": "DB_SSLMODE", "MCP_KEY_USER": "DB_USER", "MCP_KEY_PASS": "DB_PASS" } } } }

⚠️ Write-capable tools require POSTGRES_MCP_ALLOW_WRITE=true in env. Without it, the server exits at startup.

The corresponding .env file at the root of your project:

DB_HOST=db.your-project.supabase.co

DB_PORT=5432 DB_NAME=postgres DB_SSLMODE=require DB_USER=readonly_user DB_PASS=your_password


⚙️ How mcp.json configuration works

🗝️ env - credential key mapping

The env block does not contain the actual credentials. It maps each MCP_KEY_* to the variable name in your .env file.

Key in envPoints to .env variableExample value
MCP_KEY_URLDATABASE_URLpostgresql://user:pass@host:5432/db?sslmode=require
MCP_KEY_HOSTDB_HOSTdb.example.supabase.co
MCP_KEY_PORTDB_PORT5432
MCP_KEY_NAMEDB_NAMEpostgres
MCP_KEY_SSLMODEDB_SSLMODErequire
MCP_KEY_USERDB_USERreadonly_user
MCP_KEY_PASSDB_PASSsecret

Priority: when MCP_KEY_URL (or DATABASE_URL) is present, the server uses the URL directly and ignores the individual credential keys.

This indirection lets you use any variable name in your .env - useful when sharing a .env across multiple services with different naming conventions.

🔧 args - tool selection via tool= prefix

Each enabled MCP tool is declared as a separate argument in the format tool= :

"args": [

"-y", "@edelciomolina/postgres-mcp", "tool=pg_manage_schema", "tool=pg_manage_indexes" ]

This makes the tool list explicit and auditable directly in mcp.json - no hidden configuration files. 🔍


🔗 Connection via URL (DATABASE_URL)

In addition to individual credentials, you can provide a full connection string - the standard format on platforms like Supabase, Neon, and Railway.

`.env`:

DATABASE_URL=postgresql://user:password@host:5432/database?sslmode=require

`mcp.json`:

{

"servers": { "Postgres Tools": { "type": "stdio", "command": "npx", "args": ["-y", "@edelciomolina/postgres-mcp"], "env": { "MCP_KEY_URL": "DATABASE_URL" } } } }

The variable mapped by MCP_KEY_URL has priority over the other keys (MCP_KEY_HOST, MCP_KEY_PORT, etc.). If the URL is present, the other variables are ignored.

If the platform uses a different name (e.g. DB_URL), just adjust the mapping:

"MCP_KEY_URL": "DB_URL"

🛡️ Why read-only is the default

If you omit all tool= arguments, the server starts with a curated read-only set - all tools that can retrieve, analyze, or explain data, but nothing that can modify it.

✅ Included in defaults (read-only):

pg_execute_query       pg_manage_query        pg_inspect_schema

pg_get_setup_instructions pg_analyze_database pg_monitor_database pg_debug_database pg_inspect_database_graph pg_describe_table_semantics pg_find_related_tables pg_classify_query_risk

💡 pg_execute_query rejects INSERT, UPDATE, DELETE, DDL, ANALYZE, VACUUM, EXPLAIN ANALYZE and other write/maintenance commands before the database is queried.

💡 pg_inspect_schema provides read-only schema introspection (get_info, get_enums). For DDL operations, use pg_manage_schema with explicit opt-in.

⚠️ Excluded from defaults - require `tool=` argument AND `POSTGRES_MCP_ALLOW_WRITE=true`:

ToolOperations
pg_manage_schemaCREATE TABLE, ALTER TABLE, CREATE TYPE
pg_manage_indexesCREATE INDEX, DROP INDEX, REINDEX
pg_manage_constraintsADD CONSTRAINT, DROP CONSTRAINT
pg_manage_functionsCREATE FUNCTION, DROP FUNCTION
pg_manage_triggersCREATE TRIGGER, DROP TRIGGER, enable/disable
pg_manage_rlsENABLE/DISABLE RLS, CREATE/ALTER/DROP POLICY
pg_manage_usersCREATE/DROP/ALTER USER, GRANT, REVOKE
pg_execute_mutationINSERT / UPDATE / DELETE / UPSERT
pg_execute_sqlArbitrary SQL with transaction support

📍 .env file discovery

The server resolves the .env file in this order:

  1. `env-file= ` argument - explicit path relative to cwd; takes priority over everything
  2. Upward search - starting from cwd, searches each parent directory until a .env is found or the filesystem root is reached

If no .env is found, the server exits with a clear error message.

Monorepos and subfolders

When VS Code starts the MCP process, cwd is typically the workspace root. If your .env is in a subfolder (e.g. functions/.env), use env-file= to point to it explicitly:

{

"servers": { "Postgres Tools": { "type": "stdio", "command": "npx", "args": [ "-y", "@edelciomolina/postgres-mcp", "env-file=functions/.env" ], "env": { "MCP_KEY_HOST": "DB_HOST", "MCP_KEY_PORT": "DB_PORT", "MCP_KEY_NAME": "DB_NAME", "MCP_KEY_SSLMODE": "DB_SSLMODE", "MCP_KEY_USER": "DB_USER", "MCP_KEY_PASS": "DB_PASS" } } } }

💡 The upward search behavior handles the common case automatically. Use env-file= when you need explicit control (CI, monorepos, Docker bind-mounts).


🧰 Available tools

Read-only (enabled by default)
ToolDescription
pg_execute_querySELECT / COUNT / EXISTS with write and multi-statement guards
pg_manage_queryEXPLAIN plans, slow query analysis, pg_stat_statements
pg_inspect_schemaSchema info and ENUM types (read-only introspection)
pg_get_setup_instructionsSetup instructions per platform
pg_analyze_databasePerformance, configuration, and storage analysis
pg_monitor_databaseReal-time monitoring of connections, queries, locks, and replication

| pg_debug_database | Diagnose connections, locks, performance, a

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く