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」を選択して切り替えてください。デモ会社のデータは、左上のドロップダウンから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に含まれています)。