4.0 KiB
4.0 KiB
Xero MCP Server - Tool Summary
Total Tools: 84
All tool files successfully created and TypeScript compilation passes with no errors.
Tool Categories (13 files)
1. src/tools/invoices.ts (9 tools)
- xero_list_invoices
- xero_get_invoice
- xero_create_invoice
- xero_update_invoice
- xero_void_invoice
- xero_delete_invoice
- xero_email_invoice
- xero_add_invoice_attachment
- xero_get_invoice_attachments
2. src/tools/contacts.ts (8 tools)
- xero_list_contacts
- xero_get_contact
- xero_create_contact
- xero_update_contact
- xero_archive_contact
- xero_list_contact_groups
- xero_create_contact_group
- xero_add_contact_to_group
3. src/tools/accounts.ts (6 tools)
- xero_list_accounts
- xero_get_account
- xero_create_account
- xero_update_account
- xero_archive_account
- xero_delete_account
4. src/tools/bank-transactions.ts (5 tools)
- xero_list_bank_transactions
- xero_get_bank_transaction
- xero_create_bank_transaction
- xero_update_bank_transaction
- xero_void_bank_transaction
5. src/tools/payments.ts (10 tools)
- xero_list_payments
- xero_get_payment
- xero_create_payment
- xero_delete_payment
- xero_list_prepayments
- xero_get_prepayment
- xero_allocate_prepayment
- xero_list_overpayments
- xero_get_overpayment
- xero_allocate_overpayment
6. src/tools/bills.ts (6 tools)
- xero_list_bills
- xero_get_bill
- xero_create_bill
- xero_update_bill
- xero_void_bill
- xero_delete_bill
7. src/tools/credit-notes.ts (6 tools)
- xero_list_credit_notes
- xero_get_credit_note
- xero_create_credit_note
- xero_update_credit_note
- xero_void_credit_note
- xero_allocate_credit_note
8. src/tools/purchase-orders.ts (5 tools)
- xero_list_purchase_orders
- xero_get_purchase_order
- xero_create_purchase_order
- xero_update_purchase_order
- xero_delete_purchase_order
9. src/tools/quotes.ts (5 tools)
- xero_list_quotes
- xero_get_quote
- xero_create_quote
- xero_update_quote
- xero_convert_quote_to_invoice
10. src/tools/reports.ts (8 tools)
- xero_get_profit_and_loss
- xero_get_balance_sheet
- xero_get_trial_balance
- xero_get_bank_summary
- xero_get_aged_receivables
- xero_get_aged_payables
- xero_get_executive_summary
- xero_get_budget_summary
11. src/tools/employees.ts (4 tools)
- xero_list_employees
- xero_get_employee
- xero_create_employee
- xero_update_employee
12. src/tools/payroll.ts (8 tools)
- xero_list_pay_runs
- xero_get_pay_run
- xero_list_pay_slips
- xero_get_pay_slip
- xero_list_leave_applications
- xero_create_leave_application
- xero_list_timesheets
- xero_create_timesheet
Note: Payroll tools are placeholder implementations pending full Xero Payroll API integration (requires separate authentication).
13. src/tools/tax-rates.ts (4 tools)
- xero_list_tax_rates
- xero_get_tax_rate
- xero_create_tax_rate
- xero_update_tax_rate
Key Features
Modular Architecture
- Each category in its own file for maintainability
- Central index (
src/tools/index.ts) aggregates all tools - Unified handler routing based on tool name patterns
Zod Validation
- All tool inputs validated with Zod schemas
- Type-safe parameter parsing
- Clear error messages for invalid inputs
Xero API Compliance
- PUT for updates (Xero uses PUT, not PATCH)
- GUID-based IDs throughout
- Support for batch operations via arrays
- If-Modified-Since for efficient polling
- Page-based pagination (max 100 records)
- xero-tenant-id header handling (in client)
Tool Naming Convention
All tools follow the pattern: xero_verb_noun
Examples:
xero_list_invoicesxero_create_contactxero_get_balance_sheetxero_allocate_prepayment
Compilation Status
✅ TypeScript compilation successful (npx tsc --noEmit)
✅ No type errors
✅ All imports resolved
✅ All handlers implemented
Next Steps
- Test with real Xero API credentials
- Add integration tests
- Implement full Xero Payroll API support
- Add more advanced filtering/search capabilities
- Consider adding webhook support for real-time updates