A priced, VAT-correct quote from chat, turned into an invoice with one call. It quotes a client with line items, VAT and a validity window, sends the quote as pasteable text, tracks it as open, accepted, declined or expired, and turns an accepted quote into a real invoice in the shared invoice store using the quote's own stored lines rather than recomputed prices.
quote_list, quote_get, quote_report and quote_send_text are reads or produce text only, and are safe to auto-approve; leave quote_create, quote_update, quote_accept and quote_decline behind a click, since each one changes what the quote says or spends an id.
| You say | Tool |
|---|---|
| Quote Acme for 12 hours at 90 EUR plus a 300 EUR setup, 23% VAT, good for 14 days. | quote_create |
| Acme said yes. Invoice it. | quote_accept |
| What is still open, and what is my win rate? | quote_report |
A quote of EUR 1,000.00 net is issued at the profile's 23% default rate, so the client sees EUR 1,230.00. The default rate is then changed to 8% before the client answers. quote_accept still invoices EUR 1,230.00, tax_lines[0].rate === 23, because it copies the quote's stored lines instead of recomputing them against today's profile.
The file is mcp.json, and the key inside it is mcpServers.
| Scope | Path |
|---|---|
| Cline CLI | ~/.cline/mcp.json |
| The editor extension | opened from the Cline panel, not by path; the documentation deliberately calls it the MCP settings JSON used by the extension |
{
"mcpServers": {
"quotes": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-quotes"],
"disabled": false,
"autoApprove": []
}
}
}
No full-app restart. The MCP settings actions include restarting an unresponsive server if its tools do not appear.
The npm publish of @theluckystrike/mcp-quotes is pending; until then use the .mcpb bundle or a clone and build from the latest release.
There is no hosted endpoint for this one yet. MCP Quotes runs locally over stdio with the config above, which is also the only form in which it reads and writes files on your own disk. Three of the servers in this collection are served at https://mcp.zovo.one/mcp/<name> over MCP streamable HTTP: time-tracker, price-tracker and invoice.
Cline is the one client here with an unsafe transport default. `type` selects it, and omitting `type` falls back to the legacy sse transport, so a streamable HTTP endpoint needs it written in or you will debug a server that is fine. Local entries carry "disabled" and an "autoApprove" array.
Free: 5 open quotes at a time, unlimited quote_send_text, create/revise/accept/decline, VAT, discounts and multi-currency. Pro is $19 once, verified offline.
The CLI reads ~/.cline/mcp.json. For the extension, do not hunt for a path: MCP Servers icon, Configure tab, Configure MCP Servers. cline mcp opens a wizard, and cline config mcp --json is the non-interactive form.
Set the transport explicitly. Omitting type falls back to the legacy sse transport, so streamable HTTP needs "type": "streamableHttp" written in. It is the one default here that sends you debugging a server that works.
Approve the read-only ones and leave the writing ones behind a click: each entry carries an autoApprove array and a disabled flag.
MCP Quotes in detail · The same server in Windsurf and Claude.ai and Claude Desktop connectors · Every server in Cline · Guides · Cline docs