Xero MCP Server

официальный

Взаимодействуйте с бухгалтерскими данными вашего бизнеса с помощью нашего официального MCP сервера

Документация

Xero MCP Server

Это реализация сервера Model Context Protocol (MCP) для Xero. Он служит мостом между протоколом MCP и API Xero, обеспечивая стандартизированный доступ к бухгалтерским и бизнес-функциям Xero.

Возможности

  • Аутентификация Xero OAuth2 с пользовательскими подключениями
  • Управление контактами
  • Управление планом счетов
  • Создание и управление счетами
  • Соответствие протоколу MCP

Предварительные требования

  • Node.js (v18 или выше)
  • npm или pnpm
  • Учетная запись разработчика Xero с учетными данными API

Документация и ссылки

Настройка

Создание учетной записи Xero

Если у вас еще нет учетной записи и организации Xero, вы можете создать их, зарегистрировавшись здесь с помощью бесплатной пробной версии.

Мы рекомендуем начать с использования Демо-компании, так как она содержит предварительно загруженные образцы данных. После входа в систему переключитесь на нее с помощью выпадающего списка в левом верхнем углу и выберите «Демо-компания». Вы можете сбросить данные в Демо-компании или изменить страну в любое время, используя выпадающий список в левом верхнем углу и перейдя в My Xero.

ПРИМЕЧАНИЕ: Для использования запросов, специфичных для расчета заработной платы, регион должен быть NZ или UK.

Аутентификация

Сервер Xero MCP поддерживает 2 режима аутентификации:

1. Пользовательские подключения

Это лучший выбор для тестирования и разработки, который позволяет указать идентификатор клиента и секреты для конкретной организации. Это также рекомендуемый подход, если вы интегрируете это в сторонние MCP-клиенты, такие как Claude Desktop.

Настройка учетной записи разработчика Xero

Настройте пользовательское подключение, следуя этим инструкциям: https://developer.xero.com/documentation/guides/oauth2/custom-connections/

Необходимые области действия

Для пользовательских подключений требуются разные области действия в зависимости от того, когда они были созданы. Все области действия из соответствующего списка должны быть добавлены в ваше пользовательское подключение:

Создание пользовательского подключенияНеобходимые области действия
До 29 апреля 2026 г.SCOPES_V1 (пакетные разрешения)
С 29 апреля 2026 г.SCOPES_V2 (детальные разрешения)

Примечание: Сервер MCP автоматически сначала пробует области V1 и при необходимости переключается на V2.

Вы можете переопределить их, установив переменную окружения XERO_SCOPES в виде списка областей, разделенных пробелами.

Интеграция сервера MCP с Claude Desktop

Чтобы добавить сервер MCP в Claude, перейдите в Settings > Developer > Edit config и добавьте следующее в файл claude_desktop_config.json:

{
  "mcpServers": {
    "xero": {
      "command": "npx",
      "args": ["-y", "@xeroapi/xero-mcp-server@latest"],
      "env": {
        "XERO_CLIENT_ID": "your_client_id_here",
        "XERO_CLIENT_SECRET": "your_client_secret_here",
        "XERO_SCOPES": "accounting.invoices accounting.contacts accounting.settings"
      }
    }
  }
}

Переменная XERO_SCOPES является необязательной. Если она опущена, будут использоваться области действия по умолчанию, перечисленные выше.

ПРИМЕЧАНИЕ: Если вы используете Node Version Manager, в разделе "command": "npx" измените его на полный путь к исполняемому файлу, например: your_home_directory/.nvm/versions/node/v22.14.0/bin/npx на Mac / Linux или "your_home_directory\\.nvm\\versions\\node\\v22.14.0\\bin\\npx" на Windows

2. Токен-носитель

Это лучший выбор, если вам нужно поддерживать несколько учетных записей Xero во время выполнения и позволить MCP-клиенту выполнять поток аутентификации (например, PKCE) по мере необходимости. В этом случае используйте следующую конфигурацию:

{
  "mcpServers": {
    "xero": {
      "command": "npx",
      "args": ["-y", "@xeroapi/xero-mcp-server@latest"],
      "env": {
        "XERO_CLIENT_BEARER_TOKEN": "your_bearer_token"
      }
    }
  }
}

ПРИМЕЧАНИЕ: XERO_CLIENT_BEARER_TOKEN будет иметь приоритет над XERO_CLIENT_ID, если он определен.

Необходимые области действия для токена-носителя

При получении токена-носителя вы должны запросить соответствующие области действия. Запрашиваемые области должны быть следующими:

Примечание: Некоторые области действия выводятся из употребления в пользу более детальных. Подробности о сроках вывода см. в документации по областям действия Xero OAuth 2.0.

accounting.transactions (Deprecated)
accounting.transactions.read (Deprecated)
accounting.invoices
accounting.invoices.read
accounting.payments
accounting.payments.read
accounting.banktransactions
accounting.banktransactions.read
accounting.manualjournals
accounting.manualjournals.read
accounting.reports.read (Deprecated)
accounting.reports.aged.read
accounting.reports.balancesheet.read
accounting.reports.profitandloss.read
accounting.reports.trialbalance.read
accounting.contacts 
accounting.settings 
payroll.settings 
payroll.employees 
payroll.timesheets

Доступные команды MCP

  • list-accounts: Получить список счетов
  • list-contacts: Получить список контактов из Xero
  • list-credit-notes: Получить список кредит-нот
  • list-invoices: Получить список счетов-фактур
  • list-items: Получить список товаров/услуг
  • list-manual-journals: Получить список ручных журналов
  • list-organisation-details: Получить сведения об организации
  • list-profit-and-loss: Получить отчет о прибылях и убытках
  • list-quotes: Получить список предложений
  • list-tax-rates: Получить список налоговых ставок
  • list-payments: Получить список платежей
  • list-trial-balance: Получить отчет по оборотно-сальдовой ведомости
  • list-bank-transactions: Получить список банковских операций по счету
  • list-payroll-employees: Получить список сотрудников для расчета зарплаты
  • list-report-balance-sheet: Получить отчет по балансовому отчету
  • list-payroll-employee-leave: Получить записи об отпусках сотрудника
  • list-payroll-employee-leave-balances: Получить остатки отпусков сотрудника
  • list-payroll-employee-leave-types: Получить список типов отпусков для расчета зарплаты
  • list-payroll-leave-periods: Получить список периодов отпусков сотрудника
  • list-payroll-leave-types: Получить список всех доступных типов отпусков в Xero Payroll
  • list-timesheets: Получить список табелей учета рабочего времени
  • list-aged-receivables-by-contact: Получить просроченную дебиторскую задолженность по контакту
  • list-aged-payables-by-contact: Получить просроченную кредиторскую задолженность по контакту
  • list-contact-groups: Получить список контактных групп
  • list-tracking-categories: Получить список категорий отслеживания
  • create-bank-transaction: Создать новую банковскую операцию
  • create-contact: Создать новый контакт
  • create-credit-note: Создать новую кредит-ноту
  • create-invoice: Создать новый счет-фактуру
  • create-item: Создать новый товар/услугу
  • create-manual-journal: Создать новый ручной журнал
  • create-payment: Создать новый платеж
  • create-quote: Создать новое предложение
  • create-payroll-timesheet: Создать новый табель учета рабочего времени
  • create-tracking-category: Создать новую категорию отслеживания
  • create-tracking-option: Создать новый параметр отслеживания
  • update-bank-transaction: Обновить существующую банковскую операцию
  • update-contact: Обновить существующий контакт
  • update-invoice: Обновить существующий черновик счета-фактуры
  • update-item: Обновить существующий товар/услугу
  • update-manual-journal: Обновить существующий ручной журнал
  • update-quote: Обновить существующий черновик предложения
  • update-credit-note: Обновить существующий черновик кредит-ноты
  • update-tracking-category: Обновить существующую категорию отслеживания
  • update-tracking-options: Обновить параметры отслеживания
  • update-payroll-timesheet-line: Обновить строку в существующем табеле учета рабочего времени
  • approve-payroll-timesheet: Утвердить табель учета рабочего времени
  • revert-payroll-timesheet: Отменить утвержденный табель учета рабочего времени
  • add-payroll-timesheet-line: Добавить новую строку в существующий табель учета рабочего времени
  • delete-payroll-timesheet: Удалить существующий табель учета рабочего времени
  • get-payroll-timesheet: Получить существующий табель учета рабочего времени

Подробную документацию по API см. в Спецификации протокола MCP.

Для разработчиков

Установка

# Using npm
npm install

# Using pnpm
pnpm install

Запуск сборки

# Using npm
npm run build

# Using pnpm
pnpm build

Интеграция с Claude Desktop

Чтобы связать ваш сервер Xero MCP в разработке с Claude Desktop, перейдите в Settings > Developer > Edit config и добавьте следующее в файл claude_desktop_config.json:

ПРИМЕЧАНИЕ: Для Windows убедитесь, что путь args экранирует \ между папками, например, "C:\\projects\xero-mcp-server\\dist\\index.js"

{
  "mcpServers": {
    "xero": {
      "command": "node",
      "args": ["insert-your-file-path-here/xero-mcp-server/dist/index.js"],
      "env": {
        "XERO_CLIENT_ID": "your_client_id_here",
        "XERO_CLIENT_SECRET": "your_client_secret_here"
      }
    }
  }
}

Лицензия

MIT

Безопасность

Пожалуйста, не добавляйте файл .env или какие-либо конфиденциальные учетные данные в систему контроля версий (он включен в .gitignore как безопасное значение по умолчанию.)