Generate a customer quote as a PDF from Cursor or Claude
To produce a customer quote PDF, connect an MCP quotes server and ask for the quote in chat: line items, quantities, prices, validity period, and the assistant returns a formatted quote document as a download link.
Procedure
- Mint a token at https://mcp.zovo.one/mcp/connect.
- Add the connector URL
https://mcp.zovo.one/mcp/quotes/t/<token>in Cursor’s.mcp.json:
{
"mcpServers": {
"quotes": {
"url": "https://mcp.zovo.one/mcp/quotes/t/<token>"
}
}
}
- Ask: “Quote Q-1077 for Acme: 3 widgets at 450 each with a 10 percent volume discount, installation 800 flat, valid 30 days, currency GBP.”
- Have the assistant re-read the returned document’s totals back to you before sending; the discount is the field most often applied twice or not at all.
- Download within one hour. When the quote is accepted, an invoice server can turn the same line items into an invoice.
When this does not work
- Discount applied twice. If the quote total does not match your arithmetic, state “discount once, on line items only” and regenerate. Do not hand-edit the PDF.
- No file, just text. The connector was not actually called. Check the connectors toggle for the conversation; a chat-only answer that formats a “quote” in markdown means the tool never ran.
- Anonymous link expired. Hosted download links expire after one hour. Re-request the document; the data is retained, the link is not.
Note
The quotes MCP server is hosted free at mcp.zovo.one (anonymous tier; Pro $19 single, $39 bundle). Companion servers: invoice, credit-note, price-tracker, billing-docs.
Verify the connection with curl
Before blaming the assistant, confirm the server answers a real call. Discovery alone is not proof — initialize and tools/list answer 200 even with a bad token, but this is the exact request shape to start from:
curl -s https://mcp.zovo.one/mcp/quotes/t/<token> \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
If this returns a tool list, the token and URL are good and any remaining problem is in the client’s connector settings.
What the server actually does
A quotes server stores quotes with an identifier, line items and a validity period. When a quote is accepted, reference the same quote id when generating the invoice so the two documents stay traceable to each other; that pairing is also what a credit-note tool expects if part of the deal is reversed.
Revising a sent quote
When a client negotiates, issue a revised quote with a new version suffix (Q-1077-r2) rather than overwriting the original, and reference the original id in the request. Keeping both versions lets you show what changed without reconstructing it from chat history.