Model Context Protocol (MCP)
Model Context Protocol (MCP)
PgArachne нативно підтримує Model Context Protocol (MCP) — відкритий стандарт, який дозволяє AI-моделям (таким як Claude чи Cursor) безпечно отримувати доступ до ваших даних та функцій як до «інструментів» (tools).
Як це працює?
PgArachne працює безпосередньо як MCP-сервер. Замість написання власного HTTP-сервера для кожного проєкту, просто запустіть PgArachne над вашою базою даних. PgArachne автоматично аналізує ваші дозволені SQL-функції та надає до них доступ AI-клієнтам через HTTP(S).
🛠️ SQL-функції як інструменти
Будь-яка SQL-функція, доступна через кінцеву точку JSON-RPC 2.0 PgArachne, автоматично стає «інструментом», доступним для AI. Стандартна поведінка (виклик pgarachne.allowed_schemas()) надає доступ до функцій, що зберігаються в схемі api, до яких автентифікований користувач має доступ (через GRANT EXECUTE). LLM бачить назву функції, параметри та опис із SQL-коментарів.
Посібник з підключення
1 a. Автентифікація — API-токен (рекомендовано для продуктивного середовища)
Для постійного з’єднання з AI використовуйте довгостроковий API-токен. Токен повинен бути згенерований адміністратором (учасником ролі pgarachne_admin):
-- Switch to the administrator role
SET ROLE pgarachne_admin;
-- Generate a new token for the target role (e.g., 'app_user')
SELECT pgarachne.add_api_token('Claude Desktop', 'app_user');Збережіть повернутий рядок. Використовуйте його як Authorization: Bearer YOUR_API_TOKEN у конфігурації AI-клієнта.
1 b. Автентифікація — прямі облікові дані (розробка та прості налаштування)
Альтернативно, надсилайте ім’я користувача PostgreSQL та пароль безпосередньо за допомогою HTTP Basic Authentication.
Керування API-токенами не потрібне, і команда GRANT … TO pgarachne не потрібна — PgArachne
підключається безпосередньо як зазначений користувач.
Authorization: Basic <base64(username:password)>Використовуйте цей підхід для локального тестування або внутрішніх інструментів, де облікові дані вже безпечно керуються. Для продуктивних інтеграцій AI з хмарними клієнтами API-токени є більш прийнятним варіантом.
2. Claude Desktop
Додайте PgArachne до конфігурації Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"pgarachne": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-http",
"--url",
"https://your-api.com/db/my_database/mcp"
],
"env": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}Примітка: для з’єднання обов’язковий HTTP(S). У прикладі використовується npx-мостик server-http від Anthropic, який діє як посередник між стандартним MCP (stdio) та PgArachne (HTTP).
3. Cursor
У налаштуваннях Cursor (Settings > MCP) додайте новий сервер, що зв’язується безпосередньо через HTTP (або за допомогою згаданого вище мостика, якщо ваша версія Cursor не підтримує нативні HTTP MCP-сервери):
- Type:
command(з npx-мостиком) абоhttp - Name:
PgArachne - URL:
https://your-api.com/db/my_database/mcp - Auth Header:
Authorization: Bearer YOUR_API_TOKEN
🌐 Публічна доступність (Ngrok)
Якщо ви тестуєте PgArachne локально та хочете підключити його до хмарного AI-клієнта (поза локальними інсталяціями), ваш сервер повинен бути публічно доступним через HTTP(S) URL.
# Run ngrok for the HTTP PgArachne port (e.g., 8080)
ngrok http 8080Потім використайте згенеровану HTTPS-адресу від Ngrok у конфігурації AI.
Безпека
Кінцева точка MCP повністю дотримується системи прав доступу PostgreSQL:
- Автентифікація: Кожен запит вимагає дійсного API-токена, JWT або облікових даних HTTP Basic; неавтентифіковані запити негайно відхиляються.
- Авторизація: AI може бачити та викликати лише ті функції в дозволених схемах, для яких автентифікована роль має
GRANT EXECUTE. - RLS: Row-Level Security повністю активний — AI бачить лише ті рядки, до яких конкретна роль має доступ.
Дивіться Безпека та автентифікація для повного порівняння всіх підтримуваних методів автентифікації.