Xero Mcp 伺服器
概覽
什麼是 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 儲存庫的「問題」部分,提交一個新問題,並詳細說明您遇到的問題來報告問題或錯誤。
詳細
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"
}
}
}
}