Xero Mcp サーバー
MCPプロトコルと統合されたMCPサーバー。https://modelcontextprotocol.io/introduction
概要
xero-mcp-serverとは?
xero-mcp-serverは、モデルコンテキストプロトコル(MCP)と統合されたサーバーの実装です。このサーバーは、開発者がMCPを使用して効果的に通信できるアプリケーションを構築できるようにし、異なるシステム間でのデータ交換と相互作用を促進します。MCPは、アプリケーションがコンテキストとデータを共有するための標準化された方法を提供するように設計されており、相互接続されたサービスの開発を容易にします。
xero-mcp-serverの特徴
- MCPとの統合:サーバーはモデルコンテキストプロトコルとシームレスに統合されるように構築されており、開発者にとっての互換性と使いやすさを確保しています。
- 公開リポジトリ:xero-mcp-serverは公開リポジトリとして利用可能で、開発者がソースコードにアクセスし、貢献し、改善に協力することができます。
- MITライセンス:プロジェクトはMITライセンスの下でライセンスされており、ソフトウェアの自由な使用、変更、配布を許可しています。
- 活発なコミュニティ:増加するスターやフォークを持つxero-mcp-serverには、開発とサポートに貢献する活発なコミュニティがあります。
xero-mcp-serverの使い方
-
リポジトリをクローンする:まず、GitHubからxero-mcp-serverリポジトリをローカルマシンにクローンします。コマンドは以下の通りです:
git clone https://github.com/XeroAPI/xero-mcp-server.git
-
依存関係をインストールする:プロジェクトディレクトリに移動し、必要な依存関係をインストールします。通常は以下のコマンドを実行します:
npm install
-
サーバーを起動する:依存関係をインストールした後、以下のコマンドでサーバーを起動できます:
npm start
-
アプリケーションと統合する:リポジトリに提供されているドキュメントに従って、サーバーのAPIを使用してアプリケーションと統合します。
-
貢献する:プロジェクトに貢献したい場合は、リポジトリをフォークし、変更を加えてプルリクエストを送信してください。
よくある質問
モデルコンテキストプロトコル(MCP)とは?
モデルコンテキストプロトコル(MCP)は、アプリケーション間でのコンテキストとデータの共有を促進するために設計されたプロトコルです。異なるシステムが通信するための標準化された方法を提供し、相互接続されたサービスの開発を容易にします。
xero-mcp-serverは無料で使用できますか?
はい、xero-mcp-serverはMITライセンスの下でライセンスされており、自由に使用、変更、配布することができます。
xero-mcp-serverプロジェクトにどのように貢献できますか?
リポジトリをフォークし、変更を加えてプルリクエストを送信することで貢献できます。コミュニティは、サーバーの機能性と使いやすさを向上させる貢献を歓迎しています。
xero-mcp-serverのドキュメントはどこにありますか?
xero-mcp-serverのドキュメントは、通常、リポジトリのREADMEファイルまたはリポジトリ内の専用ドキュメントフォルダにあります。
xero-mcp-serverの問題やバグをどのように報告できますか?
xero-mcp-serverのGitHubリポジトリの「Issues」セクションに移動し、遭遇した問題の詳細を含む新しい問題を提出することで、問題やバグを報告できます。
詳細
Xero MCP Server
This is a Model Context Protocol (MCP) server implementation for Xero. It provides a bridge between the MCP protocol and Xero's API, allowing for standardized access to Xero's accounting and business features.
Features
- Xero OAuth2 authentication with custom connections
- Contact management
- Chart of Accounts management
- Invoice creation and management
- MCP protocol compliance
Prerequisites
- Node.js (v18 or higher)
- npm or pnpm
- A Xero developer account with API credentials
Docs and Links
- Xero Public API Documentation
- Xero API Explorer
- Xero OpenAPI Specs
- Xero-Node Public API SDK Docs
- Developer Documentation
Setup
Create a Xero Account
If you don't already have a Xero account and organisation already, can create one by signing up here using the free trial.
We recommend using a Demo Company to start with because it comes with some pre-loaded sample data. Once you are logged in, switch to it by using the top left-hand dropdown and selecting "Demo Company". You can reset the data on a Demo Company, or change the country, at any time by using the top left-hand dropdown and navigating to My Xero.
NOTE: To use Payroll-specific queries, the region should be either NZ or UK.
Authentication
There are 2 modes of authentication supported in the Xero MCP server:
1. Custom Connections
This is a better choice for testing and development which allows you to specify client id and secrets for a specific organisation. It is also the recommended approach if you are integrating this into 3rd party MCP clients such as Claude Desktop.
Configuring your Xero Developer account
Set up a Custom Connection following these instructions: https://developer.xero.com/documentation/guides/oauth2/custom-connections/
Currently the following scopes are required for all sessions: scopes
Integrating the MCP server with Claude Desktop
To add the MCP server to Claude go to Settings > Developer > Edit config and add the following to your claude_desktop_config.json file:
{
"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"
}
}
}
}
NOTE: If you are using Node Version Manager "command": "npx"
section change it to be the full path to the executable, ie: your_home_directory/.nvm/versions/node/v22.14.0/bin/npx
on Mac / Linux or "your_home_directory\\.nvm\\versions\\node\\v22.14.0\\bin\\npx"
on Windows
2. Bearer Token
This is a better choice if you are to support multiple Xero accounts at runtime and allow the MCP client to execute an auth flow (such as PKCE) as required. In this case, use the following configuration:
{
"mcpServers": {
"xero": {
"command": "npx",
"args": ["-y", "@xeroapi/xero-mcp-server@latest"],
"env": {
"XERO_CLIENT_BEARER_TOKEN": "your_bearer_token"
}
}
}
}
NOTE: The XERO_CLIENT_BEARER_TOKEN
will take precedence over the XERO_CLIENT_ID
if defined.
Available MCP Commands
list-accounts
: Retrieve a list of accountslist-contacts
: Retrieve a list of contacts from Xerolist-credit-notes
: Retrieve a list of credit noteslist-invoices
: Retrieve a list of invoiceslist-items
: Retrieve a list of itemslist-organisation-details
: Retrieve details about an organisationlist-profit-and-loss
: Retrieve a profit and loss reportlist-quotes
: Retrieve a list of quoteslist-tax-rates
: Retrieve a list of tax rateslist-payments
: Retrieve a list of paymentslist-trial-balance
: Retrieve a trial balance reportlist-profit-and-loss
: Retrieve a profit and loss reportlist-bank-transactions
: Retrieve a list of bank account transactionslist-payroll-employees
: Retrieve a list of Payroll Employeeslist-report-balance-sheet
: Retrieve a balance sheet reportlist-payroll-employee-leave
: Retrieve a Payroll Employee's leave recordslist-payroll-employee-leave-balances
: Retrieve a Payroll Employee's leave balanceslist-payroll-employee-leave-types
: Retrieve a list of Payroll leave typeslist-payroll-leave-periods
: Retrieve a list of a Payroll Employee's leave periodslist-payroll-leave-types
: Retrieve a list of all avaliable leave types in Xero Payrolllist-aged-receivables-by-contact
: Retrieves aged receivables for a contactlist-aged-payables-by-contact
: Retrieves aged payables for a contactlist-contact-groups
: Retrieve a list of contact groupscreate-contact
: Create a new contactcreate-credit-note
: Create a new credit notecreate-invoice
: Create a new invoicecreate-payment
: Create a new paymentcreate-quote
: Create a new quotecreate-credit-note
: Create a new credit notecreate-payroll-timesheet
: Create a new Payroll Timesheetupdate-contact
: Update an existing contactupdate-invoice
: Update an existing draft invoiceupdate-quote
: Update an existing draft quoteupdate-credit-note
: Update an existing draft credit noteupdate-payroll-timesheet-line
: Update a line on an existing Payroll Timesheetapprove-payroll-timesheet
: Approve a Payroll Timesheetrevert-payroll-timesheet
: Revert an approved Payroll Timesheetadd-payroll-timesheet-line
: Add new line on an existing Payroll Timesheetdelete-payroll-timesheet
: Delete an existing Payroll Timesheetget-payroll-timesheet
: Retrieve an existing Payroll Timesheet
For detailed API documentation, please refer to the MCP Protocol Specification.
For Developers
Installation
### Using npm
npm install
### Using pnpm
pnpm install
Run a build
### Using npm
npm run build
### Using pnpm
pnpm build
Integrating with Claude Desktop
To link your Xero MCP server in development to Claude Desktop go to Settings > Developer > Edit config and add the following to your claude_desktop_config.json
file:
NOTE: For Windows ensure the args
path escapes the \
between folders ie. "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"
}
}
}
}
License
MIT
Security
Please do not commit your .env
file or any sensitive credentials to version control (it is included in .gitignore
as a safe default.)
サーバー設定
{
"mcpServers": {
"xero-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--xeroapi--xero-mcp-server--xero-mcp-server",
"node ./dist/index.js"
],
"env": {
"XERO_CLIENT_ID": "xero-client-id",
"XERO_CLIENT_SECRET": "xero-client-secret"
}
}
}
}