Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Quaderno in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Run Quaderno tax and invoicing from your AI: calculate sales tax, VAT and GST for any location, validate VAT numbers, search contacts, invoices, credit notes, quotes, expenses and products, issue and email invoices, and request tax reports.
Try asking
Example prompts for Quaderno
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Quaderno, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Quaderno + ChatGPT
Run Quaderno tax and invoicing from your AI: calculate sales tax, VAT and GST for any location, validate VAT numbers, search contacts, invoices, credit notes, quotes, expenses and products, issue and email invoices, and request tax reports.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
QUADERNO_ACCOUNT_NAME, QUADERNO_API_KEY
Step 1 — Get credentials
- Sign in at
https://quadernoapp.comand open Profile → API keys (https://quadernoapp.com/users/api-keys). - Copy the private key, which starts with
sk_, intoQUADERNO_API_KEY. The publishable key (pk_) does not work here. The key is sent as the HTTP Basic user name with an empty password, only to your Quaderno account. - The same page shows your API URL, for example
https://acme-1234.quadernoapp.com/api/. Put the part before.quadernoapp.com(hereacme-1234) intoQUADERNO_ACCOUNT_NAMEand install the connector. - Check the setup with
quaderno_ping: it confirms the key and shows the requests left in the current window.
Invoices are issued and emailed only after your yes: an issued invoice is a legal tax document. Quaderno numbers it in sequence, and it cannot be deleted, only voided or credited in the Quaderno app. Before quaderno_create_invoice the AI shows you the customer, the items, the prices and the currency. Before quaderno_deliver_invoice, which emails the invoice to the customer at once and cannot be unsent, it tells you which invoice goes to which address. quaderno_create_contact and quaderno_request_report also ask first. Creating an invoice does not email it. quaderno_delete_contact is installed switched off.
Tax calculation: quaderno_calculate_tax returns the sales tax, VAT or GST for a sale to any location: tax name, rate, tax amount, subtotal and total, the jurisdiction down to the city, and notices such as reverse charge for a valid EU VAT number. It only calculates and records nothing. quaderno_validate_tax_id checks a VAT or business number against the official registry of its country (EU VIES, UK, Switzerland, Quebec, Australia, New Zealand).
What it reads: contacts, invoices, credit notes, quotes (Quaderno calls them proformas), expenses, products, tax jurisdictions and tax codes. Tax reports (taxes collected per jurisdiction for your returns, an invoice list or a credit note list) are built in the background: the AI requests one for a period, checks it until it is ready and gives you the download link.
Sensitive data: invoices and contacts hold your customers' names, addresses and tax IDs, and they are legal tax records. Share them only with the people who handle billing.
Amounts: fields ending in _cents are in cents (12345 is 123.45); prices and the results of the tax calculation are in the currency unit.
Rate limit: 100 calls per 15 seconds. A 429 means waiting until the window resets.
Common errors: 401 Wrong API key or the user does not exist: the key is wrong, it is the pk_ key, or it belongs to another account than QUADERNO_ACCOUNT_NAME. 406: an invalid value, such as an unknown tax code. 422: the document cannot be created like that, for example without items.
Not covered: updating, voiding or marking invoices uncollectible, recording payments, receipts, recurring documents, transactions, checkout sessions and coupons, evidence, webhooks, the Sandbox and Quaderno Connect accounts.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in ChatGPT
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
ChatGPT adds MCP servers as plugins on its Plugins page, on the web and on paid plans. Developer mode is no longer needed. In a Business workspace only admins and owners can add one; in Enterprise and Edu an admin can grant the Create plugins with MCPs permission.
- Go to chatgpt.com/plugins, click +, then Add custom MCP server.
- Enter a name, e.g. Name:
Quaderno. - Under Connection, enter the Server URL
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_IDand keep Authentication on OAuth. - Select I understand and want to continue, then Create as a plugin. When ChatGPT asks, sign in to AnythingMCP and allow access.
- Install the new plugin from your personal plugins, then type @ in a chat and pick it.
Available tools
| Tool | What it does |
|---|---|
quaderno_ping | Check that the API key works and see the requests left in the current rate-limit window |
quaderno_list_contacts | List or search customers and suppliers (contacts) by name, email or tax id: id, kind (person or company), name, email, tax id and tax… |
quaderno_get_contact | Get one contact with full address, phone, website, language, default discount, notes and the link to their billing area |
quaderno_create_contact | Create a customer or supplier contact |
quaderno_delete_contact | Delete one contact for good |
quaderno_list_invoices | List or search invoices by number, customer name or PO number, issue date range, state or customer: id, number, dates, state (outstanding… |
quaderno_get_invoice | Get one invoice in full: customer and billing address, line items with their taxes, the tax breakdown, payments, deliveries, alerts, the… |
quaderno_create_invoice | Issue a new invoice |
quaderno_deliver_invoice | Email an invoice to its customer from Quaderno, with the PDF and the link to it |
quaderno_list_credit_notes | List or search credit notes (refunds and corrections of invoices) by number, customer name or PO number, issue date range or state: id… |
quaderno_get_credit_note | Get one credit note in full: customer, line items, tax breakdown, payments, deliveries, the related invoice, the public link and the PDF… |
quaderno_list_quotes | List or search quotes (Quaderno calls them proformas; they replaced estimates) by number, customer name or PO number, issue date range… |
quaderno_get_quote | Get one quote (proforma) in full: customer, line items, tax breakdown, validity, the public link and the PDF link |
quaderno_list_expenses | List or search expenses (purchase invoices from suppliers) by number, supplier name or PO number, issue date range, state or supplier: id… |
quaderno_list_products | List or search products (items) by name or code: id, code, name, description, unit cost, currency, kind (one-off or subscription), product… |
quaderno_calculate_tax | Calculate the sales tax, VAT or GST for a sale to a customer location: tax name, rate, taxable part, tax amount, subtotal and total, the… |
quaderno_validate_tax_id | Check a business tax id against the official registry of its country (EU VIES, UK, Switzerland, Quebec, Australia, New Zealand): returns… |
quaderno_list_tax_jurisdictions | List the tax jurisdictions Quaderno knows, optionally for one country or region: id, name, country and region |
quaderno_list_tax_codes | List the tax codes products can be classified with (e.g. eservice, saas, ebook, consulting, standard, reduced, exempt): id, name and what… |
quaderno_list_reports | List the reports requested so far: id, type (tax_summary, invoices_list, credits_list), state, period, when it completed and the download… |
quaderno_request_report | Ask Quaderno to build a report for a period: tax_summary (taxes collected per jurisdiction, for filing returns), invoices_list or… |
quaderno_get_report | Check one report request: state (pending, suceeded or failed), period, when it completed and the report_url to download it once ready |
Example prompts
- "What VAT applies to a 49 EUR SaaS subscription sold to a consumer in Lyon, France? And to a company there with a valid VAT number?"
- "Is the VAT number DE123456789 valid?"
- "Which invoices are still outstanding or late, and what do they add up to per currency?"
- "Issue an invoice to Northwind GmbH for 10 hours of consulting at 120 EUR an hour. Show me everything before you create it, and do not email it yet."
- "Request a tax summary report for the third quarter and give me the download link when it is ready."
FAQ
Does the free ChatGPT plan work with custom MCP servers? OpenAI documents custom MCP servers for paid plans only; the Free plan is not on its list.
Next steps
Was this guide helpful?