PostgREST
MCP server for PostgREST — REST API layer for PostgreSQL databases.
Что умеет
- Pg Get Schema: Get the PostgREST OpenAPI schema — lists all available tables, views, functions, and their columns/types. Use this first to discover the database structure.
- Pg Describe Table: Get detailed column information for a table/view — column names, types, formats, required fields, defaults, and constraints. Parsed from the OpenAPI schema.
- Pg List Records: List records from a table/view with filtering, column selection, ordering, and pagination. Filter syntax (PostgREST operators): age=gt.18 — greater than status=eq.active — equals name
Какие данные видит
Нужен ли аккаунт
Нужен API-ключ из настроек сервиса
MCP server for PostgREST — REST API layer for PostgreSQL databases.
Features
- Discover database schema (tables, views, functions, columns)
- Query records with PostgREST filter syntax (eq, gt, like, in, fts, or)
- Resource embedding — JOIN related tables via select parameter
- Full CRUD operations (insert, update, upsert, delete, replace)
- Call stored PostgreSQL functions via RPC
- Count records with exact, planned, or estimated methods
10 Tools
Schema: get OpenAPI schema, describe table columns/types Read: list records with filters/select/order/pagination, count records, call functions (RPC) Write: insert, update, upsert (merge/ignore duplicates), delete, replace (PUT)
Configuration
- POSTGREST_URL — Your PostgREST server URL (e.g. http://localhost:3000)
- POSTGREST_TOKEN — JWT token for authenticated requests (optional)
Как подключить
Как подключить PostgREST к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://postgrest--node2flow.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить PostgREST к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://postgrest--node2flow.run.tools
- Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
- Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
- Откройте Настройки → Коннекторы и нажмите Создать (Create).
- Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
- В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
- В новом чате откройте + → Приложения/Коннекторы и включите коннектор.
Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.
Авторизация
При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить PostgREST к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://postgrest--node2flow.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (10)
Технические названия из tools/list. Нужны только разработчикам.
| pg_get_schema | Get the PostgREST OpenAPI schema — lists all available tables, views, functions, and their columns/types. Use this first to discover the database structure. |
| pg_describe_table | Get detailed column information for a table/view — column names, types, formats, required fields, defaults, and constraints. Parsed from the OpenAPI schema. |
| pg_list_records | List records from a table/view with filtering, column selection, ordering, and pagination. Filter syntax (PostgREST operators): age=gt.18 — greater than status=eq.active — equals name=ilike.*john* — case-insensitive LIKE id=in.(1,2,3) — IN list deleted_at=is.null — NULL check or=(age.lt.18,age.gt.65) — OR conditions Select syntax (column selection + resource embedding): id,name,email — specific columns *,orders(*) — embed related table (JOIN) id,user:user_id(name) — renamed embed with column selection Order syntax: created_at.desc — descending status.asc,name.desc — multiple columns |
| pg_count_records | Count records in a table/view matching optional filters. Returns count using exact (precise but slower), planned (fast estimate from query planner), or estimated method. |
| pg_call_function | Call a PostgreSQL function/procedure via RPC. Use POST (default) for volatile functions, GET for immutable/stable functions. Parameters are passed as JSON body (POST) or query string (GET). |
| pg_insert_records | Insert one or more records into a table. Pass a single object or array of objects. Use return="representation" to get the created records back. |
| pg_update_records | Update records matching a filter. IMPORTANT: filter is required to prevent accidental full-table updates. Use return="representation" to see updated records. |
| pg_upsert_records | Insert or update records (upsert). Uses "merge-duplicates" (update existing) or "ignore-duplicates" (skip existing) resolution. Conflict detection uses primary key by default, or specify on_conflict column. |
| pg_delete_records | Delete records matching a filter. IMPORTANT: filter is required to prevent accidental full-table deletion. Use return="representation" to see deleted records. |
| pg_replace_record | Full replace (PUT) a single record matching a filter. All columns must be specified including the primary key. Creates the record if it does not exist. |