Xero MCP Server
官方使用我們的官方 MCP 伺服器與您企業中的會計資料進行互動
文件
Xero MCP 伺服器
這是一個為 Xero 實作的模型上下文協定 (Model Context Protocol, MCP) 伺服器。它在 MCP 協定與 Xero 的 API 之間提供橋樑,允許以標準化方式存取 Xero 的會計與商業功能。
功能特色
- 使用自訂連線的 Xero OAuth2 驗證
- 聯絡人管理
- 會計科目表管理
- 發票建立與管理
- MCP 協定合規
先決條件
- Node.js (v18 或更高版本)
- npm 或 pnpm
- 一個擁有 API 憑證的 Xero 開發者帳戶
文件與連結
設定
建立 Xero 帳戶
如果您還沒有 Xero 帳戶和組織,可以透過免費試用在此註冊來建立一個。
我們建議從示範公司 (Demo Company) 開始,因為它已預先載入一些範例資料。登入後,使用左上角的下拉選單切換到「示範公司」。您可以隨時使用左上角的下拉選單前往我的 Xero 來重設示範公司的資料或變更國家/地區。
注意:若要使用薪資相關查詢,地區應為紐西蘭 (NZ) 或英國 (UK)。
驗證
Xero MCP 伺服器支援兩種驗證模式:
1. 自訂連線
這是測試與開發的較佳選擇,可讓您為特定組織指定用戶端 ID 與密鑰。 若您要將此整合到第三方 MCP 用戶端(如 Claude Desktop),這也是建議的做法。
設定您的 Xero 開發者帳戶
請依照以下指示設定自訂連線:https://developer.xero.com/documentation/guides/oauth2/custom-connections/
必要範圍
自訂連線根據建立時間需要不同的範圍。相關清單中的所有範圍都必須新增到您的自訂連線:
| 自訂連線建立時間 | 必要範圍 |
|---|---|
| 2026 年 4 月 29 日之前 | SCOPES_V1 (捆綁權限) |
| 自 2026 年 4 月 29 日起 | SCOPES_V2 (細粒度權限) |
注意: MCP 伺服器會自動先嘗試 V1 範圍,必要時再退回使用 V2。
您可以透過將
XERO_SCOPES環境變數設定為以空格分隔的範圍清單來覆寫這些設定。
將 MCP 伺服器與 Claude Desktop 整合
若要將 MCP 伺服器新增到 Claude,請前往「設定」>「開發者」>「編輯設定」,並將以下內容新增到您的 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 版本管理器 "command": "npx" 區段,請將其變更為執行檔的完整路徑,例如:Mac / Linux 上為 your_home_directory/.nvm/versions/node/v22.14.0/bin/npx,或 Windows 上為 "your_home_directory\\.nvm\\versions\\node\\v22.14.0\\bin\\npx"
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 薪資中所有可用的休假類型清單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,請前往「設定」>「開發者」>「編輯設定」,並將以下內容新增到您的 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 中)。