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
Совместимый клиент выполняет следующие шаги:
- Подключается к
https://mcp.expense-budget-tracker.com/mcpи получает метаданные защищенного ресурса. - Динамически регистрируется как публичный OAuth-клиент. Секрет клиента не используется.
- Запускает поток Authorization Code и открывает URL авторизации в браузере пользователя.
- Использует PKCE для каждого запроса авторизации. Поддерживается только метод формирования кодовой проверки
S256. - Запрашивает
expenses:read. Областьexpenses:writeдобавляется только тогда, когда клиенту нужен вызовsql_execute. - Обменивает код авторизации на токены доступа и обновления, а затем обновляет доступ по мере необходимости.
Не копируйте токены в промпты, историю чатов, исходный код или логи. Храните их только в хранилище учетных данных 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 и его контуру базы данных.
Безопасное использование
- Вызовите
list_workspacesи подтвердите с пользователем нужное рабочее пространство. - Вызовите
get_schemaдо генерации SQL. - Используйте
sql_queryдля проверки данных, подсчета итогов, сверки и отчетов. - Запрашивайте
expenses:writeтолько для задачи, которая должна изменить данные. - Перед
sql_executeпокажите точную инструкцию и ожидаемый результат, затем еще раз подтвердите рабочее пространство. - После записи проверьте результат с помощью
sql_query.
Сервер ограничивает доступную поверхность SQL и набор отношений. Эти меры дополняют, но не заменяют внимательную проверку сгенерированного SQL.
Ограничения
- не более 100 строк в результатах SQL
- крайний срок выполнения — 20 секунд
- доступ только к рабочим пространствам вошедшего пользователя
sql_queryиспользует ограниченную поверхность SQL и контур базы данных только для чтенияsql_executeтребуетexpenses:writeв дополнение к обязательной области чтения
Конфиденциальность и самостоятельное размещение
Авторизованный MCP-клиент может читать финансовые данные, а с областью expenses:write — изменять их. Перед подключением ознакомьтесь с Политикой конфиденциальности и правилами обработки данных самого клиента.
Приведенные выше размещенные URL относятся только к управляемому сервису Expense Budget Tracker. Для собственного развертывания начните с руководства по самостоятельному размещению и настройте точку подключения MCP и метаданные OAuth для своих доменов. Реализация доступна в репозитории исходного кода.