QuoteBill

Draft quotations and invoices from ChatGPT, Claude, Gemini or any MCP client: 133 templates, published tax rules for 195 countries with their official sources, exact totals, and a link that opens the finished document on quotebill.com. Free QuoteBill account; clients sign in with OAuth 2.1.

Hosted MCP Server

npx add-mcp 'https://quotebill.com/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

QuoteBill

QuoteBill MCP server

Draft quotations and invoices from the AI assistant you already use. QuoteBill's remote MCP server gives ChatGPT, Claude, Gemini and any other MCP client:

  • 133 quotation and invoice templates for trades, professional services, countries and languages
  • Tax rules for 195 countries, each with the official source it was read from and the date it was checked
  • Totals worked out with the same arithmetic as the QuoteBill editor, rounded to the currency
  • A link to the finished document: build_document returns a URL that opens the drafted quotation or invoice, filled in, on quotebill.com, ready to download as Excel or Word or to save as a PDF
Endpointhttps://quotebill.com/mcp
TransportStreamable HTTP (JSON responses)
AuthenticationOAuth 2.1 with a free QuoteBill account. Your AI app finds the sign-in by itself: it opens QuoteBill, you sign in (Google works) and choose Allow
Protocol2026-07-28, and the handshake revisions 2025-03-26 to 2025-11-25
LanguagesAnswers in 33 languages
Guide for peopleUse QuoteBill in ChatGPT, Claude and Gemini
MCP Registryio.github.auto1225/quotebill

Connect

The first time you connect, your AI app opens QuoteBill in the browser. Sign in or sign up free, check which app is asking, and choose Allow. You do this once per app; you can disconnect an app at any time under Connected AI apps in QuoteBill's company settings.

Claude (claude.ai, desktop and mobile) — Settings → Connectors → Add custom connector. Name QuoteBill, URL https://quotebill.com/mcp, then Connect. Or open this link: add QuoteBill to Claude.

ChatGPT (chatgpt.com) — turn on developer mode in Settings, then create an app from the apps page: MCP server URL https://quotebill.com/mcp, authentication OAuth. Sign in to QuoteBill and allow it, then add QuoteBill from the + menu in a chat.

Claude Code

claude mcp add --transport http quotebill https://quotebill.com/mcp

Then run /mcp, choose quotebill and sign in.

Codex — ~/.codex/config.toml, then codex mcp login quotebill

[mcp_servers.quotebill]
url = "https://quotebill.com/mcp"

Gemini CLI — install this repository as an extension:

gemini extensions install https://github.com/auto1225/quotebill-mcp

or add it to ~/.gemini/settings.json:

{ "mcpServers": { "quotebill": { "httpUrl": "https://quotebill.com/mcp" } } }

Then run /mcp auth quotebill once to sign in.

Cursor — .cursor/mcp.json (Cursor opens the sign-in when you enable the server)

{ "mcpServers": { "quotebill": { "url": "https://quotebill.com/mcp" } } }

VS Code — .vscode/mcp.json (VS Code asks you to sign in when the server starts)

{ "servers": { "quotebill": { "type": "http", "url": "https://quotebill.com/mcp" } } }

Claude Code plugin — this repository is also a plugin marketplace:

/plugin marketplace add auto1225/quotebill-mcp
/plugin install quotebill@quotebill

How the sign-in works

A request without a token gets 401 with WWW-Authenticate: Bearer resource_metadata="https://quotebill.com/.well-known/oauth-protected-resource/mcp". That metadata (RFC 9728) names the authorization server, Supabase Auth at https://wgpfbcfiontxqusseoyv.supabase.co/auth/v1, whose metadata (RFC 8414) offers dynamic client registration, PKCE and the email scope. MCP clients that follow the MCP authorization specification need nothing else.

Tools

ToolWhat it does
search_templatesFinds templates by words, document type or category, in the language asked for, with example line items and the page each opens on.
get_templateThe full record for one template slug.
get_tax_ruleThe published rate, its name, the currency and the source it was read from, for any of 195 countries. Countries with no single national rate, such as the United States, are reported as needing a jurisdiction instead of being given a made-up number.
calculate_totalsAdds up line items, applies discounts and the country's tax, rounding each tax component separately to the currency.
build_documentBuilds a complete quotation or invoice, totals it and returns a link that opens it filled in. language is the document's language; interfaceLanguage the language the page opens in.
list_guidesQuoteBill's how-to guides, such as converting a quote to an invoice or what a German, Japanese or Korean invoice must contain.
list_referenceThe categories, layouts, languages and country codes the other tools accept.

Every tool publishes an inputSchema and an outputSchema, and is annotated readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false. Invalid arguments come back as a tool error that says what to correct.

Example requests

  • "Make an invoice in QuoteBill for my client in Japan: website design ¥480,000, plus three months of maintenance at ¥25,000 a month, with 5% off the maintenance."
  • "Use QuoteBill to make a quotation for 12 hours of consulting at €95 an hour for a client in Germany."
  • "Find a QuoteBill template for a plumbing quotation and fill it in with these jobs."
  • "What is the VAT rate in France, and where does QuoteBill get it from?"

Privacy

The server checks that the caller is a signed-in QuoteBill member, then only looks up templates and tax rules and does arithmetic. The sign-in token an AI app holds cannot read the member's saved documents, profile or files; the database refuses every token issued to an app. The server saves nothing and keeps no client names or amounts; its log records the tool, whether it answered and the client's name, never the arguments or the account. A drafted document travels inside the returned link, after the #, which browsers never send to a server, and the link carries a checksum so an altered copy is refused rather than opened with a wrong figure. Calls are rate-limited per account using a salted hash that changes every minute; those counts are deleted within an hour. See the privacy notice.

Limits

  • 60 tool calls per minute per account
  • Up to 200 line items and amounts up to 100,000,000,000 per line and per document
  • A published tax rate is a starting point, not tax advice: registration, place of supply and the treatment of the goods or services still have to be confirmed

Support

auto0104@gmail.com · quotebill.com/en/contact

License

The configuration files in this repository are MIT licensed. The QuoteBill service is operated at quotebill.com.