Token导航 LogoToken导航TokenDH.com
Postgres MCP (Ushurbakiyev Davlat) logo
数据服务未说明官方级别未说明来源级核验

Postgres MCP (Ushurbakiyev Davlat)

MCP Server

PostgreSQL MCP服务器为Claude提供只读数据库访问,支持模式分析、SELECT查询和性能诊断,适用于多数据库管理和性能优化场景。

工具数

8

提示词数

0

GitHub Stars

0

资源数

0
多数据库支持数据分析PostgreSQLClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

UshurbakiyevDavlat

提供方

UshurbakiyevDavlat

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

PostgreSQL MCP Server

Read-only MCP-сервер для PostgreSQL. Даёт Claude доступ к базе данных для анализа схемы, выполнения SELECT-запросов и диагностики производительности.

Поддерживает named connections (несколько баз одновременно), dual transport (SSE для Cowork + Streamable HTTP для Claude Code CLI) и деплой на VPS с nginx + systemd.

Инструменты (Tools)

ToolОписание
pg_list_connectionsСписок всех доступных named connections и активная база
pg_use_connectionПереключиться на другую базу без рестарта сервера
pg_queryВыполнить SELECT-запрос (write-запросы заблокированы)
pg_list_tablesСписок всех таблиц с размерами и количеством строк
pg_describe_tableСтруктура таблицы: колонки, типы, PK, FK, индексы
pg_explain_queryПлан выполнения запроса (EXPLAIN ANALYZE)
pg_table_statsСтатистика таблицы: dead tuples, vacuum, scan usage
pg_list_indexesИндексы таблицы с размерами и статистикой использования

Named Connections

Сервер поддерживает несколько баз одновременно через connections.json. Переключение прямо в чате — без рестарта.

Создай файл connections.json рядом с dist/:

{
  "connections": {
    "knowledge": {
      "url": "postgres://user:password@localhost:5432/knowledge",
      "description": "Knowledge base (RAG)"
    },
    "shopdb": {
      "url": "postgres://user:password@localhost:5432/shopdb",
      "description": "Production shop DB"
    }
  },
  "default": "default"
}

Переключение в чате:

pg_use_connection("shopdb")

Безопасность

  • Только чтение: INSERT, UPDATE, DELETE, DROP, ALTER и другие write-операции заблокированы
  • Таймаут: Каждый запрос ограничен 30 секундами
  • Лимит строк: По умолчанию 100 строк, максимум 1000
  • Token auth: Все эндпоинты защищены Bearer-токеном через nginx

Установка и сборка

cd postgres-mcp-server
npm install
npm run build

Подключение — Cowork (SSE transport)

claude mcp add --transport sse postgres-mcp "https://YOUR_DOMAIN/sse?token=YOUR_TOKEN"

Подключение — Claude Code CLI (Streamable HTTP)

claude mcp add --transport http postgres-mcp "https://YOUR_DOMAIN/mcp?token=YOUR_TOKEN"

Подключение — локально (stdio)

Добавь в ~/.claude/settings.json:

{
  "mcpServers": {
    "postgres": {
      "type": "stdio",
      "command": "node",
      "args": ["/ПОЛНЫЙ/ПУТЬ/К/postgres-mcp-server/dist/index.js"]
    }
  }
}

При использовании connections.json переменная DATABASE_URL не нужна — базы берутся из файла.

Деплой на VPS (Hetzner + nginx + systemd)

Структура на сервере

/opt/PostgresMCP/
  dist/          ← собранный JS
  connections.json
  node_modules/

systemd unit (/etc/systemd/system/postgres-mcp.service)

[Unit]
Description=PostgreSQL MCP Server
After=network.target

[Service]
WorkingDirectory=/opt/PostgresMCP
ExecStart=/usr/bin/node dist/index.js
Restart=always
Environment=PORT=3200

[Install]
WantedBy=multi-user.target

nginx — fragment (/etc/nginx/sites-available/postgres-mcp)

server {
    listen 443 ssl;
    server_name YOUR_DOMAIN;

    location /sse {
        proxy_pass http://localhost:3200;
        proxy_buffering off;
        proxy_cache off;
        proxy_set_header Connection '';
        chunked_transfer_encoding on;
    }

    location /mcp {
        proxy_pass http://localhost:3200;
    }

    # /messages — без token-check, sessionId достаточен
    location /messages {
        proxy_pass http://localhost:3200;
    }
}

Деплой обновлений

# Локально
git add . && git commit -m "..." && git push

# На VPS
cd /opt/PostgresMCP && git pull && npm run build && systemctl restart postgres-mcp

Управление сервисом

systemctl status postgres-mcp      # статус
systemctl restart postgres-mcp     # перезапуск
journalctl -u postgres-mcp -f      # логи в реальном времени

Использование

После подключения Claude автоматически видит инструменты. Примеры:

  • "Покажи все доступные базы данных"
  • "Переключись на базу shopdb"
  • "Покажи все таблицы в базе"
  • "Опиши структуру таблицы users"
  • "Найди дубликаты email в таблице customers"
  • "Почему запрос SELECT * FROM orders WHERE status = 'pending' медленный?"
  • "Какие индексы не используются в таблице products?"

Разработка

# Запуск в dev-режиме
npm run dev

# Сборка
npm run build

目录标签

目录标签

多数据库支持数据分析PostgreSQLClaudeTypeScript本地部署只读访问数据库管理性能诊断

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

8

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP