mcpField
X
Xero MCP Server

Xero MCP Server

ローカル
github.com/XeroAPI金融データ3852 日前に更新

Xero MCP Server について

Xero MCP Server は、MCP プロトコルと Xero API を橋渡しする MCP サーバーで、会計・業務データへの標準化されたアクセスを提供します。カスタムコネクションまたはベアラートークンによる OAuth2 認証に対応しています。MCP クライアントから Xero のデータを照会・管理したい利用者に適しています。

主な機能

  1. 01カスタムコネクションによる OAuth2 認証
  2. 02連絡先と勘定科目の管理
  3. 03請求書の作成と管理
  4. 04口座、取引、レポートの一覧取得コマンド
  5. 05給与(Payroll)関連の照会とタイムシート操作

活用シーン

  1. 01Claude Desktop から Xero の請求書と連絡先を照会
  2. 02損益計算書や貸借対照表などのレポートを取得
  3. 03MCP クライアントから請求書や支払いを作成・更新

MCP 対応

本プロジェクトは MCP サーバーであり、list-、create-、update- などの接頭辞を持つ Xero 操作をコマンドとして MCP クライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"xero": {
"command": "npx",
"args": [
"-y",
"@xeroapi/xero-mcp-server"
],
"env": {
"XERO_CLIENT_ID": "<XERO_CLIENT_ID>",
"XERO_CLIENT_SECRET": "<XERO_CLIENT_SECRET>",
"XERO_SCOPES": "<XERO_SCOPES>"
}
}
}
}
起動コマンドnpx -y @xeroapi/xero-mcp-server
設定が必要な環境変数
XERO_CLIENT_ID
XERO_CLIENT_SECRETシークレット
XERO_SCOPES

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@xeroapi/xero-mcp-server

ツール

51

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
timesheetIDstringはい削除するタイムシートの ID。

詳細

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 に統合する

Claude に MCP サーバーを追加するには、「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 に含まれています)。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。