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 Public API Documentation
- Xero API Explorer
- Xero OpenAPI Specs
- Xero-Node Public API SDK Docs
- Developer Documentation
セットアップ
Xeroアカウントの作成
まだXeroアカウントと組織をお持ちでない場合は、こちらから無料トライアルにサインアップして作成できます。
サンプルデータが事前に読み込まれているため、最初はデモ会社を使用することをお勧めします。ログイン後、左上のドロップダウンから「Demo Company」を選択して切り替えてください。デモ会社のデータは、左上のドロップダウンからMy Xeroに移動することで、いつでもリセットしたり国を変更したりできます。
注: 給与固有のクエリを使用するには、リージョンがNZまたはUKである必要があります。
認証
Xero MCPサーバーでは、2つの認証モードがサポートされています。
1. カスタム接続
これはテストと開発に適した選択肢であり、特定の組織のクライアントIDとシークレットを指定できます。 Claude DesktopなどのサードパーティMCPクライアントに統合する場合にも推奨されるアプローチです。
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に追加するには、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"セクションを使用している場合は、実行可能ファイルへのフルパスに変更してください。例: 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 Scopes documentationを参照してください。
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 Protocol Specificationを参照してください。
開発者向け
インストール
# 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に含まれています)。