quaderno
What this MCP does
Calculates sales tax and manages Quaderno contacts, products, invoices, transactions, receipts, expenses, and tax records.
Tools
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['to_country'], 'properties': {'date': {'type': 'string', 'description': 'Transaction date (YYYY-MM-DD); defaults to today.'}, 'amount': {'type': 'number', 'description': 'Transaction amount to compute the tax on.'}, 'tax_id': {'type': 'string', 'description': "The customer's tax ID / VAT number (may trigger reverse-charge)."}, 'to_city': {'type': 'string', 'description': "The customer's city (recommended for US sales tax)."}, 'currency': {'type': 'string', 'description': 'ISO 4217 currency code (e.g. "USD").'}, 'tax_code': {'type': 'string', 'description': 'Product tax code, e.g. "standard", "reduced", "exempt", "eservice", "ebook", "saas", "consulting".'}, 'to_street': {'type': 'string', 'description': "The customer's street address (recommended for US sales tax)."}, 'to_country': {'type': 'string', 'description': 'The customer\'s country — 2-letter ISO code (e.g. "US", "DE"). Required.'}, 'from_country': {'type': 'string', 'description': "The seller's country (2-letter ISO); defaults to the account country."}, 'product_type': {'enum': ['good', 'service'], 'type': 'string', 'description': 'Whether the product is a good or a service.'}, 'tax_behavior': {'enum': ['inclusive', 'exclusive'], 'type': 'string', 'description': 'Whether the amount includes tax or not.'}, 'to_postal_code': {'type': 'string', 'description': "The customer's ZIP / postal code (recommended for US sales tax)."}, 'from_postal_code': {'type': 'string', 'description': "The seller's postal code."}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['kind'], 'properties': {'kind': {'enum': ['company', 'person'], 'type': 'string', 'description': 'Contact kind.'}, 'email': {'type': 'string', 'description': 'Contact email address.'}, 'fields': {'type': 'object', 'description': 'Additional raw Quaderno fields merged into the request body (escape hatch for any field not typed above).', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'tax_id': {'type': 'string', 'description': "The contact's tax ID / VAT number."}, 'country': {'type': 'string', 'description': '2-letter ISO country code.'}, 'last_name': {'type': 'string', 'description': "The person's last name (persons only)."}, 'first_name': {'type': 'string', 'description': 'For a person: their first name. For a company: the company name (Quaderno stores it here).'}, 'contact_name': {'type': 'string', 'description': "The contact person's name at a company (companies only)."}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'description': 'Line items, e.g. [{ description, quantity, unit_price, tax_1_name, tax_1_rate }].'}, 'notes': {'type': 'string', 'description': 'Free-text notes on the invoice.'}, 'fields': {'type': 'object', 'description': 'Additional raw Quaderno fields merged into the request body (escape hatch for any field not typed above).', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'currency': {'type': 'string', 'description': 'ISO 4217 currency code.'}, 'due_date': {'type': 'string', 'description': 'Due date (YYYY-MM-DD).'}, 'po_number': {'type': 'string', 'description': 'Purchase-order number.'}, 'contact_id': {'type': 'string', 'description': 'The id of an existing contact to invoice. Omit only if you pass a full `contact` object via `fields`.'}, 'issue_date': {'type': 'string', 'description': 'Issue date (YYYY-MM-DD).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name', 'unit_cost'], 'properties': {'code': {'type': 'string', 'description': 'SKU / product code.'}, 'kind': {'enum': ['one_off', 'subscription'], 'type': 'string', 'description': 'Whether it is a one-off or a subscription product.'}, 'name': {'type': 'string', 'description': 'Product name.'}, 'fields': {'type': 'object', 'description': 'Additional raw Quaderno fields merged into the request body (escape hatch for any field not typed above).', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'currency': {'type': 'string', 'description': 'ISO 4217 currency code.'}, 'unit_cost': {'type': 'number', 'description': 'Unit price of the product.'}, 'product_type': {'enum': ['good', 'service'], 'type': 'string', 'description': 'Whether the product is a good or a service.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['items'], 'properties': {'type': {'enum': ['sale', 'refund'], 'type': 'string', 'description': 'Transaction type (default "sale").'}, 'items': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'description': 'Required. Transaction line items, e.g. [{ description, amount, quantity, tax_code, product_type }].'}, 'fields': {'type': 'object', 'description': 'Additional raw Quaderno fields merged into the request body (escape hatch for any field not typed above).', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'payment': {'type': 'object', 'description': 'Payment object, e.g. { payment_method, amount, date }.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'currency': {'type': 'string', 'description': 'ISO 4217 currency code.'}, 'customer': {'type': 'object', 'description': 'The customer contact object (or reference), e.g. { first_name, last_name, email, country, tax_id }.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The resource id.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The resource id.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The resource id.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The resource id.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The resource id.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The resource id.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'q': {'type': 'string', 'description': 'Search by contact name, email, or tax ID.'}, 'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (legacy pagination; prefer created_before).'}, 'per_page': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Entries per page (1-100, default 25).'}, 'created_before': {'type': 'string', 'description': 'Cursor for pagination: return records created before this id (from X-Pages-NextPage / a prior record id).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'q': {'type': 'string', 'description': 'Search by number, customer name, or PO number.'}, 'date': {'type': 'string', 'description': 'Date range filter, e.g. "2026-01-01,2026-12-31".'}, 'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (legacy pagination; prefer created_before).'}, 'contact': {'type': 'string', 'description': 'Filter by customer (contact) id.'}, 'per_page': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Entries per page (1-100, default 25).'}, 'created_before': {'type': 'string', 'description': 'Cursor for pagination: return records created before this id (from X-Pages-NextPage / a prior record id).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'q': {'type': 'string', 'description': 'Search by number or vendor name.'}, 'date': {'type': 'string', 'description': 'Date range filter, e.g. "2026-01-01,2026-12-31".'}, 'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (legacy pagination; prefer created_before).'}, 'contact': {'type': 'string', 'description': 'Filter by vendor (contact) id.'}, 'per_page': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Entries per page (1-100, default 25).'}, 'created_before': {'type': 'string', 'description': 'Cursor for pagination: return records created before this id (from X-Pages-NextPage / a prior record id).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'q': {'type': 'string', 'description': 'Search by invoice number, customer name, or PO number.'}, 'date': {'type': 'string', 'description': 'Date range filter, e.g. "2026-01-01,2026-12-31".'}, 'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (legacy pagination; prefer created_before).'}, 'state': {'enum': ['outstanding', 'late', 'uncollectible', 'paid'], 'type': 'string', 'description': 'Filter by invoice state.'}, 'contact': {'type': 'string', 'description': 'Filter by customer (contact) id.'}, 'per_page': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Entries per page (1-100, default 25).'}, 'created_before': {'type': 'string', 'description': 'Cursor for pagination: return records created before this id (from X-Pages-NextPage / a prior record id).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (legacy pagination; prefer created_before).'}, 'per_page': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Entries per page (1-100, default 25).'}, 'created_before': {'type': 'string', 'description': 'Cursor for pagination: return records created before this id (from X-Pages-NextPage / a prior record id).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'q': {'type': 'string', 'description': 'Search by number or customer name.'}, 'date': {'type': 'string', 'description': 'Date range filter, e.g. "2026-01-01,2026-12-31".'}, 'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (legacy pagination; prefer created_before).'}, 'contact': {'type': 'string', 'description': 'Filter by customer (contact) id.'}, 'per_page': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Entries per page (1-100, default 25).'}, 'created_before': {'type': 'string', 'description': 'Cursor for pagination: return records created before this id (from X-Pages-NextPage / a prior record id).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['path'], 'properties': {'path': {'type': 'string', 'description': 'API path after /api, starting with a slash, e.g. "/tax_ids".'}, 'query': {'type': 'object', 'description': 'Optional query params object.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The resource id.'}, 'email': {'type': 'string', 'description': 'Contact email address.'}, 'fields': {'type': 'object', 'description': 'Additional raw Quaderno fields merged into the request body (escape hatch for any field not typed above).', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'tax_id': {'type': 'string', 'description': 'Tax ID / VAT number.'}, 'country': {'type': 'string', 'description': '2-letter ISO country code.'}, 'last_name': {'type': 'string', 'description': 'Person last name.'}, 'first_name': {'type': 'string', 'description': 'Person first name / company name.'}, 'contact_name': {'type': 'string', 'description': 'Contact person at a company.'}}}
Recent tool changes
Similar MCP servers
Lovie Company Formation
Supports company formation and business administration with bank accounts, cards, invoicing, bookkeeping, accounting periods, and…
AgentLot Marketplace
Enables agents and users to discover, bid on, purchase, deliver, and settle paid digital services and compute work.
BeeL
Provides Spanish company administration and VeriFactu-compliant invoicing, including customers, products, invoice issuance, corre…
corply
Supports company formation and corporate administration including incorporation documents, signatures, cap tables, corporate acti…
Focxle: AI governance for B2B deals between agents
Provides agent spending controls, delegated budgets, signed authority checks, negotiations, escrow contracts, workforce hiring, a…
Conta Azul MCP
Connects to Conta Azul ERP for managing customers, sales, budgets, contracts, financial accounts, receivables, invoices, settleme…
Molt2Meet
Dispatches physical-world tasks to human operators, manages scheduling and proof of completion, and supports direct settlement or…
mcp-server
Supports hiring and coordinating human specialists through contracts, schedules, bookings, escrow holds, billable events, approva…