Xero Mcp Server
Un server MCP che si integra con il protocollo MCP. https://modelcontextprotocol.io/introduction
Panoramica
Cos'è xero-mcp-server?
Il ### xero-mcp-server è un'implementazione di un server che si integra con il Model Context Protocol (MCP). Questo server consente agli sviluppatori di costruire applicazioni che possono comunicare efficacemente utilizzando l'MCP, facilitando lo scambio di dati e l'interazione tra diversi sistemi. L'MCP è progettato per fornire un modo standardizzato per le applicazioni di condividere contesto e dati, rendendo più facile lo sviluppo di servizi interconnessi.
Caratteristiche di xero-mcp-server
- Integrazione con MCP: Il server è costruito per integrarsi senza problemi con il Model Context Protocol, garantendo compatibilità e facilità d'uso per gli sviluppatori.
- Repository Pubblico: Il xero-mcp-server è disponibile come repository pubblico, consentendo agli sviluppatori di accedere al codice sorgente, contribuire e collaborare ai miglioramenti.
- Licenza MIT: Il progetto è concesso in licenza sotto la licenza MIT, che consente l'uso, la modifica e la distribuzione gratuite del software.
- Comunità Attiva: Con un numero crescente di stelle e fork, il xero-mcp-server ha una comunità attiva che contribuisce al suo sviluppo e supporto.
Come Usare xero-mcp-server
-
Clona il Repository: Inizia clonando il repository xero-mcp-server da GitHub sulla tua macchina locale utilizzando il comando:
git clone https://github.com/XeroAPI/xero-mcp-server.git
-
Installa le Dipendenze: Naviga nella directory del progetto e installa eventuali dipendenze necessarie. Questo di solito comporta l'esecuzione di:
npm install
-
Esegui il Server: Dopo aver installato le dipendenze, puoi avviare il server con:
npm start
-
Integra con la Tua Applicazione: Usa l'API del server per integrarlo con la tua applicazione, seguendo la documentazione fornita nel repository.
-
Contribuisci: Se desideri contribuire al progetto, sentiti libero di forkare il repository, apportare le tue modifiche e inviare una pull request.
Domande Frequenti
Cos'è il Model Context Protocol (MCP)?
Il Model Context Protocol (MCP) è un protocollo progettato per facilitare la condivisione di contesto e dati tra applicazioni. Fornisce un modo standardizzato per diversi sistemi di comunicare, rendendo più facile lo sviluppo di servizi interconnessi.
È xero-mcp-server gratuito da usare?
Sì, xero-mcp-server è concesso in licenza sotto la licenza MIT, che consente l'uso, la modifica e la distribuzione gratuite.
Come posso contribuire al progetto xero-mcp-server?
Puoi contribuire forkando il repository, apportando le tue modifiche e inviando una pull request. La comunità accoglie con favore i contributi che migliorano la funzionalità e l'usabilità del server.
Dove posso trovare la documentazione per xero-mcp-server?
La documentazione per xero-mcp-server può solitamente essere trovata nel file README del repository o in una cartella di documentazione dedicata all'interno del repository.
Come posso segnalare problemi o bug in xero-mcp-server?
Puoi segnalare problemi o bug navigando nella sezione "Issues" del repository GitHub di xero-mcp-server e inviando un nuovo problema con dettagli sul problema che hai riscontrato.
Dettaglio
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.)
Configurazione Server
{
"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"
}
}
}
}