MCP-конектор

Підключіть MCP-клієнт до Expense Budget Tracker через OAuth для безпечного читання та зміни фінансових даних.

Огляд

Expense Budget Tracker надає розміщений конектор Model Context Protocol (MCP) за адресою:

https://mcp.expense-budget-tracker.com/mcp

Точка підключення працює через Streamable HTTP і використовує OAuth. Укажіть цю URL-адресу в MCP-клієнті, який підтримує віддалені Streamable HTTP-сервери й виявлення OAuth. Під час авторизації відкриється браузер, де можна ввійти в обліковий запис і підтвердити доступ.

Конектор не використовує ключ API. Обліковими даними MCP є токени доступу й оновлення OAuth. Довготривалий ApiKey, описаний у довіднику Agent API, належить до окремої прямої HTTP-інтеграції та не приймається точкою підключення MCP.

Виявлення OAuth і підключення

Розміщений конектор публікує метадані захищеного ресурсу за адресою:

https://mcp.expense-budget-tracker.com/.well-known/oauth-protected-resource/mcp

Ці метадані спрямовують клієнт до сервера авторизації. Його метадані доступні за адресою:

https://auth.expense-budget-tracker.com/.well-known/oauth-authorization-server

Сумісний клієнт виконує такий процес:

  1. Підключається до https://mcp.expense-budget-tracker.com/mcp і виявляє метадані захищеного ресурсу.
  2. Динамічно реєструється як публічний OAuth-клієнт. Секрет клієнта не використовується.
  3. Запускає потік Authorization Code і відкриває URL-адресу авторизації в браузері користувача.
  4. Використовує PKCE для кожного запиту авторизації. Підтримується лише метод перевірки коду S256.
  5. Запитує expenses:read. Область expenses:write додається лише тоді, коли клієнту потрібен виклик sql_execute.
  6. Обмінює код авторизації на токени доступу й оновлення, а потім за потреби оновлює доступ.

Не копіюйте токени в промпти, історію чатів, файли з кодом або журнали. Зберігайте їх лише у сховищі облікових даних MCP-клієнта.

Області доступу

  • expenses:read обов'язкова. Вона дає змогу отримувати список робочих просторів, переглядати схему й виконувати запити лише для читання.
  • expenses:write необов'язкова. Вона окремо дозволяє деструктивний інструмент sql_execute.

Запитуйте найменший набір областей, потрібний для завдання. Клієнту, який лише аналізує дані або готує звіти, достатньо expenses:read без expenses:write.

Інструменти

list_workspaces

Повертає робочі простори, доступні користувачу, який увійшов у систему. Перед читанням або зміною даних явно вкажіть потрібний простір за допомогою отриманого ідентифікатора.

get_schema

Повертає відношення та стовпці, доступні MCP у вибраному робочому просторі. Викликайте інструмент до написання SQL, не припускаючи назви таблиць і стовпців.

sql_query

Виконує один обмежений SQL-запит лише для читання у вибраному робочому просторі. Шлях запиту додатково захищений контуром бази даних із правами лише на читання. Результат обмежено 100 рядками, а кінцевий термін виконання становить 20 секунд.

sql_execute

Виконує обмежений SQL, який змінює дані у вибраному робочому просторі. Цей інструмент деструктивний і потребує окремої області expenses:write. Перед підтвердженням виклику перевірте робочий простір і точний текст інструкції.

MCP-сервер загалом не є сервером лише для читання, оскільки він надає sql_execute. Гарантії режиму лише для читання стосуються саме sql_query і його контуру бази даних.

Безпечне використання

  1. Викличте list_workspaces і підтвердьте з користувачем потрібний робочий простір.
  2. Викличте get_schema до генерування SQL.
  3. Використовуйте sql_query для перевірки даних, підрахунку підсумків, звірки та звітів.
  4. Запитуйте expenses:write лише для завдання, яке має змінити дані.
  5. Перед sql_execute покажіть точну інструкцію та очікуваний результат, а потім ще раз підтвердьте робочий простір.
  6. Після запису перевірте результат за допомогою sql_query.

Сервер обмежує доступну поверхню SQL і набір відношень. Ці заходи доповнюють, але не замінюють уважну перевірку згенерованого SQL.

Обмеження

  • не більше 100 рядків у результатах SQL
  • кінцевий термін виконання — 20 секунд
  • доступ лише до робочих просторів користувача, який увійшов у систему
  • sql_query використовує обмежену поверхню SQL і контур бази даних лише для читання
  • sql_execute потребує expenses:write на додаток до обов'язкової області читання

Конфіденційність і самостійне розгортання

Авторизований MCP-клієнт може читати фінансові дані, а з областю expenses:write — змінювати їх. Перед підключенням ознайомтеся з Політикою конфіденційності і правилами обробки даних самого клієнта.

Наведені вище розміщені URL-адреси стосуються лише керованого сервісу Expense Budget Tracker. Для власного розгортання почніть із посібника із самостійного розгортання і налаштуйте точку підключення MCP та метадані OAuth для своїх доменів. Реалізація доступна в репозиторії вихідного коду.