MCP 服务器

accounting-mcp

io.github.Ainode-tech/accounting-mcp
商业与运营 金融与投资 公开且可连接 MCP 2025-11-25

此 MCP 可以做什么

Reconciles Xero transactions, categorizes Portuguese tax expenses, calculates VAT, drafts and sends invoices, and generates financial reports.

apply_categories
Apply confirmed Portuguese tax categories to Xero transactions. Updates AccountCode and TaxType.
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['categories', 'api_key_hash'], 'properties': {'categories': {'type': 'array', 'items': {'type': 'object', 'required': ['transaction_id', 'category_code'], 'properties': {'region': {'enum': ['mainland', 'azores', 'madeira'], 'type': 'string'}, 'category_code': {'type': 'string'}, 'transaction_id': {'type': 'string'}}, 'additionalProperties': False}, 'description': 'Array of transaction-to-category assignments'}, 'api_key_hash': {'type': 'string', 'description': 'Customer API key hash identifying Xero token'}}, 'additionalProperties': False}
calculate_vat
Calculate Portuguese VAT for a given amount, category, and region. Supports Mainland, Azores, and Madeira rates. Detects intra-community B2B reverse charge.
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['amount'], 'properties': {'amount': {'type': 'number', 'description': 'Net amount (ex-VAT) to calculate VAT on', 'exclusiveMinimum': 0}, 'is_b2b': {'type': 'boolean', 'default': False, 'description': 'Whether the transaction is business-to-business'}, 'region': {'enum': ['mainland', 'azores', 'madeira'], 'type': 'string', 'default': 'mainland', 'description': 'Portuguese tax region'}, 'category': {'type': 'string', 'description': 'Portuguese tax category code (e.g. office_supplies, food_restaurant)'}, 'counterpart_country': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'ISO 3166-1 alpha-2 country code of the counterpart'}}, 'additionalProperties': False}
categorise_expenses
Suggest Portuguese tax categories for uncategorised Xero expenses. Returns category, VAT tier, deductibility, and VAT breakdown per transaction.
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['api_key_hash'], 'properties': {'region': {'enum': ['mainland', 'azores', 'madeira'], 'type': 'string', 'default': 'mainland', 'description': 'Portuguese tax region'}, 'to_date': {'type': 'string', 'description': 'End date filter (YYYY-MM-DD)'}, 'from_date': {'type': 'string', 'description': 'Start date filter (YYYY-MM-DD)'}, 'api_key_hash': {'type': 'string', 'description': 'Customer API key hash identifying Xero token'}}, 'additionalProperties': False}
confirm_reconciliation
Apply confirmed reconciliation matches to Xero. Marks matched bank transactions as reconciled.
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['matches', 'api_key_hash'], 'properties': {'matches': {'type': 'array', 'items': {'type': 'object', 'required': ['statement_line_id', 'bank_transaction_id'], 'properties': {'statement_line_id': {'type': 'string'}, 'bank_transaction_id': {'type': 'string'}}, 'additionalProperties': False}, 'description': 'Array of confirmed statement-to-transaction matches'}, 'api_key_hash': {'type': 'string', 'description': 'Customer API key hash identifying Xero token'}}, 'additionalProperties': False}
draft_invoice
Create a DRAFT invoice in Xero with VAT preview. Returns line totals and tax amounts for review before sending.
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contact_name', 'contact_email', 'line_items', 'due_date', 'api_key_hash'], 'properties': {'notes': {'type': 'string', 'description': 'Notes for internal use'}, 'currency': {'type': 'string', 'default': 'EUR', 'description': 'Currency code (defaults to EUR)'}, 'due_date': {'type': 'string', 'description': 'Due date (YYYY-MM-DD)'}, 'reference': {'type': 'string', 'description': 'Invoice reference number'}, 'line_items': {'type': 'array', 'items': {'type': 'object', 'required': ['description', 'amount'], 'properties': {'amount': {'type': 'number', 'description': 'Unit amount (ex-VAT)'}, 'category': {'type': 'string', 'description': 'Portuguese tax category for automatic VAT lookup (e.g. professional_services, software_licenses)'}, 'quantity': {'type': 'number', 'default': 1, 'description': 'Quantity (defaults to 1)'}, 'tax_type': {'type': 'string', 'description': 'Xero tax type override (e.g. OUTPUT2, EXEMPTOUTPUT)'}, 'description': {'type': 'string', 'description': 'Line item description'}, 'account_code': {'type': 'string', 'default': '200', 'description': 'Xero account code (defaults to 200 - Sales)'}}, 'additionalProperties': False}, 'description': 'Invoice line items'}, 'api_key_hash': {'type': 'string', 'description': 'Customer API key hash identifying Xero token'}, 'contact_name': {'type': 'string', 'description': 'Invoice recipient name'}, 'contact_email': {'type': 'string', 'format': 'email', 'description': 'Invoice recipient email address'}}, 'additionalProperties': False}
generate_report
Generate a financial report: P&L, Balance Sheet, Cash Flow (indirect method from balance sheet deltas), or VAT Summary with Portuguese SAF-T filing hints.
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['report_type', 'api_key_hash'], 'properties': {'to_date': {'type': 'string', 'description': 'End date (YYYY-MM-DD, defaults to today)'}, 'from_date': {'type': 'string', 'description': 'Start date (YYYY-MM-DD, defaults to 1st of current month)'}, 'report_type': {'enum': ['pnl', 'balance_sheet', 'cash_flow', 'vat_summary'], 'type': 'string', 'description': 'Report type to generate'}, 'api_key_hash': {'type': 'string', 'description': 'Customer API key hash identifying Xero token'}}, 'additionalProperties': False}
health
Health check. Returns server status and optional echo.
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'echo': {'type': 'string', 'description': 'Optional string to echo back'}}, 'additionalProperties': False}
reconcile_transactions
Match bank statement lines against unreconciled Xero transactions. Returns confidence-scored matches (>=0.8 matched, 0.5-0.8 suggested, <0.5 unmatched).
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['api_key_hash'], 'properties': {'to_date': {'type': 'string', 'description': 'End date filter (YYYY-MM-DD)'}, 'from_date': {'type': 'string', 'description': 'Start date filter (YYYY-MM-DD)'}, 'api_key_hash': {'type': 'string', 'description': 'Customer API key hash identifying Xero token'}}, 'additionalProperties': False}
send_invoice
Authorise a DRAFT invoice and email it to the contact via Xero. Two-step: sets status to AUTHORISED then triggers email.
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['invoice_id', 'api_key_hash'], 'properties': {'invoice_id': {'type': 'string', 'description': 'Xero InvoiceID to authorise and send'}, 'api_key_hash': {'type': 'string', 'description': 'Customer API key hash identifying Xero token'}}, 'additionalProperties': False}
已添加
generate_report
2026年9月17日 12:40
已添加
send_invoice
2026年9月17日 12:40
已添加
draft_invoice
2026年9月17日 12:40
已添加
calculate_vat
2026年9月17日 12:40
已添加
apply_categories
2026年9月17日 12:40
已添加
categorise_expenses
2026年9月17日 12:40
已添加
confirm_reconciliation
2026年9月17日 12:40
已添加
reconcile_transactions
2026年9月17日 12:40
已添加
health
2026年9月17日 12:40