Xero MCP Server
offiziellInteragieren Sie mit den Buchhaltungsdaten Ihres Unternehmens über unseren offiziellen MCP-Server.
Dokumentation
Xero MCP-Server
Dies ist eine Model Context Protocol (MCP)-Serverimplementierung für Xero. Sie stellt eine Brücke zwischen dem MCP-Protokoll und der Xero-API dar und ermöglicht einen standardisierten Zugriff auf die Buchhaltungs- und Geschäftsfunktionen von Xero.
Funktionen
- Xero OAuth2-Authentifizierung mit benutzerdefinierten Verbindungen
- Kontaktverwaltung
- Kontenplanverwaltung
- Rechnungserstellung und -verwaltung
- MCP-Protokollkonformität
Voraussetzungen
- Node.js (v18 oder höher)
- npm oder pnpm
- Ein Xero-Entwicklerkonto mit API-Anmeldeinformationen
Dokumentation und Links
- Xero Public API-Dokumentation
- Xero API Explorer
- Xero OpenAPI-Spezifikationen
- Xero-Node Public API SDK-Dokumentation
- Entwicklerdokumentation
Einrichtung
Xero-Konto erstellen
Falls Sie noch kein Xero-Konto und keine Organisation haben, können Sie eines erstellen, indem Sie sich hier mit der kostenlosen Testversion anmelden.
Wir empfehlen, mit einem Demo-Unternehmen zu beginnen, da dieses bereits einige Beispieldaten enthält. Nach der Anmeldung wechseln Sie über das Dropdown-Menü oben links zum Demo-Unternehmen, indem Sie „Demo Company“ auswählen. Sie können die Daten eines Demo-Unternehmens jederzeit zurücksetzen oder das Land ändern, indem Sie das Dropdown-Menü oben links verwenden und zu My Xero navigieren.
HINWEIS: Für lohnspezifische Abfragen sollte die Region entweder NZ oder UK sein.
Authentifizierung
Der Xero MCP-Server unterstützt zwei Authentifizierungsmodi:
1. Benutzerdefinierte Verbindungen
Dies ist die bessere Wahl für Tests und Entwicklung, da Sie Client-ID und -Geheimnisse für eine bestimmte Organisation angeben können. Es ist auch der empfohlene Ansatz, wenn Sie dies in Drittanbieter-MCP-Clients wie Claude Desktop integrieren.
Konfiguration Ihres Xero-Entwicklerkontos
Richten Sie eine benutzerdefinierte Verbindung gemäß dieser Anleitung ein: https://developer.xero.com/documentation/guides/oauth2/custom-connections/
Erforderliche Bereiche
Benutzerdefinierte Verbindungen erfordern je nach Erstellungsdatum unterschiedliche Bereiche. Alle Bereiche in der entsprechenden Liste müssen zu Ihrer benutzerdefinierten Verbindung hinzugefügt werden:
| Benutzerdefinierte Verbindung erstellt | Erforderliche Bereiche |
|---|---|
| Vor dem 29. April 2026 | SCOPES_V1 (gebündelte Berechtigungen) |
| Ab dem 29. April 2026 | SCOPES_V2 (granulare Berechtigungen) |
Hinweis: Der MCP-Server versucht automatisch zuerst V1-Bereiche und greift bei Bedarf auf V2 zurück.
Sie können diese überschreiben, indem Sie die Umgebungsvariable
XERO_SCOPESauf eine durch Leerzeichen getrennte Liste von Bereichen setzen.
Integration des MCP-Servers mit Claude Desktop
Um den MCP-Server zu Claude hinzuzufügen, gehen Sie zu Einstellungen > Entwickler > Konfiguration bearbeiten und fügen Sie Folgendes zu Ihrer claude_desktop_config.json-Datei hinzu:
{
"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"
}
}
}
}
Die Variable XERO_SCOPES ist optional. Wenn sie weggelassen wird, werden die oben aufgeführten Standardbereiche verwendet.
HINWEIS: Wenn Sie Node Version Manager verwenden, ändern Sie den Abschnitt "command": "npx" in den vollständigen Pfad zur ausführbaren Datei, z. B.: your_home_directory/.nvm/versions/node/v22.14.0/bin/npx auf Mac / Linux oder "your_home_directory\\.nvm\\versions\\node\\v22.14.0\\bin\\npx" auf Windows.
2. Bearer-Token
Dies ist die bessere Wahl, wenn Sie mehrere Xero-Konten zur Laufzeit unterstützen und dem MCP-Client erlauben möchten, bei Bedarf einen Authentifizierungsablauf (wie PKCE) auszuführen. Verwenden Sie in diesem Fall die folgende Konfiguration:
{
"mcpServers": {
"xero": {
"command": "npx",
"args": ["-y", "@xeroapi/xero-mcp-server@latest"],
"env": {
"XERO_CLIENT_BEARER_TOKEN": "your_bearer_token"
}
}
}
}
HINWEIS: Das XERO_CLIENT_BEARER_TOKEN hat Vorrang vor dem XERO_CLIENT_ID, falls definiert.
Erforderliche Bereiche für Bearer-Token
Beim Anfordern eines Bearer-Tokens müssen Sie die entsprechenden Bereiche anfordern. Die angeforderten Bereiche sollten sein:
Hinweis: Einige Bereiche werden zugunsten granularerer Bereiche eingestellt. Details zu den Einstellungszeitplänen finden Sie in der Xero OAuth 2.0 Scopes-Dokumentation.
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
Verfügbare MCP-Befehle
list-accounts: Eine Liste von Konten abrufenlist-contacts: Eine Liste von Kontakten aus Xero abrufenlist-credit-notes: Eine Liste von Gutschriften abrufenlist-invoices: Eine Liste von Rechnungen abrufenlist-items: Eine Liste von Artikeln abrufenlist-manual-journals: Eine Liste manueller Journale abrufenlist-organisation-details: Details zu einer Organisation abrufenlist-profit-and-loss: Einen Gewinn- und Verlustbericht abrufenlist-quotes: Eine Liste von Angeboten abrufenlist-tax-rates: Eine Liste von Steuersätzen abrufenlist-payments: Eine Liste von Zahlungen abrufenlist-trial-balance: Einen Probebilanzbericht abrufenlist-bank-transactions: Eine Liste von Bankkontotransaktionen abrufenlist-payroll-employees: Eine Liste von Lohnmitarbeitern abrufenlist-report-balance-sheet: Einen Bilanzbericht abrufenlist-payroll-employee-leave: Die Urlaubsaufzeichnungen eines Lohnmitarbeiters abrufenlist-payroll-employee-leave-balances: Die Urlaubssalden eines Lohnmitarbeiters abrufenlist-payroll-employee-leave-types: Eine Liste von Lohnurlaubsarten abrufenlist-payroll-leave-periods: Eine Liste der Urlaubsperioden eines Lohnmitarbeiters abrufenlist-payroll-leave-types: Eine Liste aller verfügbaren Urlaubsarten in Xero Payroll abrufenlist-timesheets: Eine Liste von Lohnstundenzetteln abrufenlist-aged-receivables-by-contact: Fällige Forderungen für einen Kontakt abrufenlist-aged-payables-by-contact: Fällige Verbindlichkeiten für einen Kontakt abrufenlist-contact-groups: Eine Liste von Kontaktgruppen abrufenlist-tracking-categories: Eine Liste von Tracking-Kategorien abrufencreate-bank-transaction: Eine neue Banktransaktion erstellencreate-contact: Einen neuen Kontakt erstellencreate-credit-note: Eine neue Gutschrift erstellencreate-invoice: Eine neue Rechnung erstellencreate-item: Einen neuen Artikel erstellencreate-manual-journal: Ein neues manuelles Journal erstellencreate-payment: Eine neue Zahlung erstellencreate-quote: Ein neues Angebot erstellencreate-payroll-timesheet: Einen neuen Lohnstundenzettel erstellencreate-tracking-category: Eine neue Tracking-Kategorie erstellencreate-tracking-option: Eine neue Tracking-Option erstellenupdate-bank-transaction: Eine bestehende Banktransaktion aktualisierenupdate-contact: Einen bestehenden Kontakt aktualisierenupdate-invoice: Eine bestehende Entwurfsrechnung aktualisierenupdate-item: Einen bestehenden Artikel aktualisierenupdate-manual-journal: Ein bestehendes manuelles Journal aktualisierenupdate-quote: Ein bestehendes Entwurfsangebot aktualisierenupdate-credit-note: Eine bestehende Entwurfsgutschrift aktualisierenupdate-tracking-category: Eine bestehende Tracking-Kategorie aktualisierenupdate-tracking-options: Tracking-Optionen aktualisierenupdate-payroll-timesheet-line: Eine Zeile in einem bestehenden Lohnstundenzettel aktualisierenapprove-payroll-timesheet: Einen Lohnstundenzettel genehmigenrevert-payroll-timesheet: Einen genehmigten Lohnstundenzettel zurücksetzenadd-payroll-timesheet-line: Eine neue Zeile zu einem bestehenden Lohnstundenzettel hinzufügendelete-payroll-timesheet: Einen bestehenden Lohnstundenzettel löschenget-payroll-timesheet: Einen bestehenden Lohnstundenzettel abrufen
Detaillierte API-Dokumentation finden Sie in der MCP-Protokollspezifikation.
Für Entwickler
Installation
# Using npm
npm install
# Using pnpm
pnpm install
Build ausführen
# Using npm
npm run build
# Using pnpm
pnpm build
Integration mit Claude Desktop
Um Ihren Xero MCP-Server in der Entwicklung mit Claude Desktop zu verknüpfen, gehen Sie zu Einstellungen > Entwickler > Konfiguration bearbeiten und fügen Sie Folgendes zu Ihrer claude_desktop_config.json-Datei hinzu:
HINWEIS: Stellen Sie unter Windows sicher, dass der args-Pfad die \ zwischen Ordnern escaped, z. B. "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"
}
}
}
}
Lizenz
MIT
Sicherheit
Bitte committen Sie Ihre .env-Datei oder sensible Anmeldeinformationen nicht in die Versionskontrolle (sie ist standardmäßig in .gitignore enthalten, als sichere Voreinstellung).