Skip to main content
Glama

pg-context

Model Context Protocol (MCP) сервер, который предоставляет AI-ассистентам программирования глубокий контекст PostgreSQL: актуальные схемы в виде DDL, состояние индексов, связи внешних ключей, планы выполнения запросов и статистику производительности.

pg-context подключается напрямую к вашей базе данных PostgreSQL в режиме только для чтения и предоставляет инструменты и ресурсы для AI-ассистентов, таких как Cursor, Claude Code, Cline и Antigravity.


Почему pg-context?

Обычные SQL-инструменты часто выполняют произвольные запросы, не предоставляя AI-ассистенту структурного контекста. Из-за этого модели угадывают имена столбцов, выдумывают связи и формируют некорректные JOIN-запросы.

pg-context решает эту проблему, предоставляя:

  • Контекст схемы без угадывания: экспортирует реальные структуры таблиц, отформатированные как PostgreSQL CREATE TABLE DDL-выражения с комментариями внешних ключей и определениями индексов.

  • Безопасность только для чтения: автоматически устанавливает default_transaction_read_only = ON для каждого клиентского подключения и отклоняет изменяющие данные SQL-запросы (например, DROP, DELETE, UPDATE, INSERT, TRUNCATE, ALTER).

  • Инсайты по оптимизации: обнаруживает внешние ключи без индексов, высокую долю последовательных сканирований, неиспользуемые индексы и медленные запросы из pg_stat_statements.

  • Осведомлённость о расширениях: определяет расширения PostGIS, TimescaleDB и pgvector.

Быстрый старт

Вы можете запустить pg-context напрямую через npx без ручной установки:

npx -y pg-context-mcp

Или установить глобально:

npm install -g pg-context-mcp
pg-context-mcp

Конфигурация

pg-context читает параметры подключения из переменных окружения или стандартных строк подключения PostgreSQL:

Переменная

Описание

По умолчанию

DATABASE_URL

Стандартный URI подключения PostgreSQL

undefined

PGHOST

Хост базы данных

localhost

PGPORT

Порт базы данных

5432

PGDATABASE

Имя базы данных

postgres

PGUSER

Пользователь базы данных

postgres

PGPASSWORD

Пароль базы данных

""

PGSSL

Включить SSL-подключение (true/false)

false

PG_SCHEMAS

Список целевых схем через запятую

public

PG_MAX_CONNECTIONS

Размер пула подключений

5

PG_CACHE_TTL

TTL кэша схем в секундах

60

PG_QUERY_LIMIT

Лимит строк по умолчанию для read_query

100

PG_QUERY_LIMIT_MAX

Жёсткий верхний предел для read_query

1000

Интеграция с клиентами

1. Claude Desktop и Antigravity

Добавьте следующую запись в ваш claude_desktop_config.json или настройки MCP Antigravity:

{
  "mcpServers": {
    "pg-context": {
      "command": "npx",
      "args": ["-y", "pg-context-mcp"],
      "env": {
        "DATABASE_URL": "postgresql://user:password@localhost:5432/my_database"
      }
    }
  }
}

2. Cursor

Добавьте следующее в вашу конфигурацию MCP для Cursor (.cursor/mcp.json или Cursor Settings > Features > MCP):

{
  "mcpServers": {
    "pg-context": {
      "command": "npx",
      "args": ["-y", "pg-context-mcp"],
      "env": {
        "DATABASE_URL": "postgresql://user:password@localhost:5432/my_database"
      }
    }
  }
}

3. Cline (расширение VS Code)

Добавьте эту конфигурацию в cline_mcp_settings.json:

{
  "mcpServers": {
    "pg-context": {
      "command": "npx",
      "args": ["-y", "pg-context-mcp"],
      "env": {
        "DATABASE_URL": "postgresql://user:password@localhost:5432/my_database"
      }
    }
  }
}

Справочник инструментов

pg-context предоставляет 12 MCP-инструментов:

Инструмент

Параметры

Описание

list_schemas

нет

Перечисляет все несистемные схемы в базе данных.

list_tables

schema (по умолчанию: "public")

Перечисляет таблицы и представления с размерами, расчётным количеством строк и комментариями.

describe_table

table, schema (по умолчанию: "public")

Возвращает полное структурное DDL таблицы, включая столбцы, типы, значения по умолчанию, NOT NULL, внешние ключи и индексы.

list_foreign_keys

schema (по умолчанию: "public"), table (необязательно)

Отображает связи внешних ключей в виде читаемых ассоциаций source -> target.

list_indexes

schema (по умолчанию: "public"), table (необязательно)

Отображает индексы, их определения, размеры и количество сканирований.

suggest_indexes

schema (по умолчанию: "public"), table (необязательно)

Выявляет внешние ключи без индексов, предупреждения о последовательных сканированиях и неиспользуемые индексы.

read_query

sql, limit (необязательно)

Выполняет запросы только для чтения с принудительными лимитами и возвращает Markdown-таблицы.

explain_query

sql, analyze (boolean, по умолчанию: false)

Возвращает планы выполнения запросов из PostgreSQL EXPLAIN или EXPLAIN ANALYZE.

get_database_info

нет

Возвращает версию PostgreSQL, общий размер базы данных, количество подключений и настройки буферов.

get_table_stats

schema (по умолчанию: "public"), table (необязательно)

Возвращает статистику последовательных и индексных сканирований, живых и мёртвых строк, а также даты обслуживания.

get_slow_queries

limit (по умолчанию: 15)

Получает самые медленные запросы, зафиксированные в pg_stat_statements.

list_extensions

нет

Перечисляет установленные расширения PostgreSQL и отмечает возможности PostGIS, TimescaleDB и pgvector.

Справочник ресурсов

pg-context предоставляет 3 MCP-ресурса:

URI ресурса

MIME-тип

Описание

pg://schema/full

text/x-sql

Полный дамп DDL всех таблиц в настроенных схемах.

pg://schema/{tableName}

text/x-sql

DDL-определение для отдельной таблицы.

pg://stats/overview

text/markdown

Обзор состояния базы данных: размеры хранилища, мёртвые строки и предупреждения об оптимизации.

Разработка

# Clone the repository
git clone https://github.com/mewsyy/pg-context.git
cd pg-context

# Install dependencies
npm install

# Run test suite
npm test

# Build TypeScript
npm run build

# Start local server
npm start

Лицензия

MIT (c) Semen

-
license - not tested
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mewsyy/pg-context'

If you have feedback or need assistance with the MCP directory API, please join our Discord server