MCP-коннектор

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

Обзор

Expense Budget Tracker предоставляет размещенный MCP-коннектор (Model Context Protocol) по адресу:

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

Точка подключения работает по Streamable HTTP и использует OAuth. Укажите этот URL в MCP-клиенте, который поддерживает удаленные Streamable HTTP-серверы и OAuth discovery. В процессе авторизации откроется браузер, где вы сможете войти в аккаунт и подтвердить доступ.

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

OAuth discovery и подключение

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

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 для своих доменов. Реализация доступна в репозитории исходного кода.