by john-zhang-dev
Xero-mcp is a Model Context Protocol (MCP) server that enables clients to interact with Xero Accounting Software, streamlining accounting, invoicing, and business operations.
Xero-mcp is an MCP server designed to facilitate interaction between clients and Xero Accounting Software. It acts as a bridge, allowing users to manage their Xero data and operations through various tools and commands.
To get started with Xero-mcp, follow these steps:
CLIENT_ID
and CLIENT_SECRET
from the Xero Developer Center. Configure the redirect URI as http://localhost:5000/callback
.claude_desktop_config.json
: Update the mcpServers
section with your Xero client credentials and redirect URI.Xero-mcp provides a comprehensive set of tools for managing Xero data:
authenticate
: Authenticate with Xero using OAuth2.create_bank_transactions
: Create spent or received money transactions.create_contacts
: Create new contacts in a Xero organization.get_balance_sheet
: Retrieve balance sheet reports.list_accounts
: Retrieve the full chart of accounts.list_bank_transactions
: Retrieve spent or received money transactions.list_contacts
: Retrieve all contacts in a Xero organization.list_invoices
: Retrieve sales invoices or purchase bills.list_journals
: Retrieve journals.list_organisations
: Retrieve Xero organization details.list_payments
: Retrieve payments for invoices and credit notes.list_quotes
: Retrieve sales quotes.Xero-mcp can be used for various financial management tasks, including:
Q: Is my Xero data secure when using Xero-mcp? A: After completing the Xero OAuth2 flow, your Xero data may go through the LLM that you use. It is recommended to authorize to your Xero Demo Company for testing purposes to ensure privacy.
This MCP server allows Clients to interact with Xero Accounting Software.
Make sure node and Claude Desktop are installed.
Create an OAuth 2.0 app in Xero to get a CLIENT_ID and CLIENT_SECRET.
http://localhost:5000/callback
Modify claude_desktop_config.json
file
{
"mcpServers": {
"xero-mcp": {
"command": "npx",
"args": ["-y", "xero-mcp@latest"],
"env": {
"XERO_CLIENT_ID": "YOUR_CLIENT_ID",
"XERO_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
"XERO_REDIRECT_URI": "http://localhost:5000/callback"
}
}
}
}
Restart Claude Desktop
When the Client decides to access a Xero tool for the first time, a Xero login page will pop up to ask your consent. Complete the auth flow and manually close the web page (as the Xero page will not auto close in this version)
Privacy alert: after completing the Xero OAuth2 flow, your Xero data may go through the LLM that you use. If you are doing testing you should authorize to your Xero Demo Company.
authenticate
Authenticate with Xero using OAuth2
create_bank_transactions
Creates one or more spent or received money transaction
create_contacts
Creates one or multiple contacts in a Xero organisation
get_balance_sheet
Retrieves report for balancesheet
list_accounts
Retrieves the full chart of accounts
list_bank_transactions
Retrieves any spent or received money transactions
list_contacts
Retrieves all contacts in a Xero organisation
list_invoices
Retrieves sales invoices or purchase bills
list_journals
Retrieves journals
list_organisations
Retrieves Xero organisation details
list_payments
Retrieves payments for invoices and credit notes
list_quotes
Retrieves sales quotes
"Visualize my financial position over the last month"
"Track my spendings over last week"
"Add all transactions from the monthly statement into my revenue account (account code 201) as receive money"
MIT
Reviews feature coming soon
Stay tuned for community discussions and feedback