
Joist MCP Server and API by Cotlet
Joist contractor estimating and invoicing MCP server: create estimate, convert estimate to invoice.
- tools
- 20
- auth
- Secret needed
- transport
- HTTP
- last updated
- Nov 10, 2026
Tools
20 toolsPublic tool metadata for what this MCP can expose to an agent.
list_clientsClients in your account with name, email, phone and address.
Clients in your account with name, email, phone and address.
No parameter schema in public metadata yet.
get_clientOne client card: every email and phone, billing and service address, notes and tags.
One client card: every email and phone, billing and service address, notes and tags.
No parameter schema in public metadata yet.
add_clientNew client in your Clients list, ready for estimates and invoices.
New client in your Clients list, ready for estimates and invoices.
No parameter schema in public metadata yet.
list_itemsSaved items from your Items list with rate and description, plus your tax rates.
Saved items from your Items list with rate and description, plus your tax rates.
No parameter schema in public metadata yet.
add_itemSave a service or material to your Items list.
Save a service or material to your Items list.
No parameter schema in public metadata yet.
list_estimatesEstimates with number, client, total, expiry, status, approval, and whether it was emailed or signed.
Estimates with number, client, total, expiry, status, approval, and whether it was emailed or signed.
No parameter schema in public metadata yet.
get_estimateFull estimate: client, line items, tax, discount, deposit, expiry, approval and signature.
Full estimate: client, line items, tax, discount, deposit, expiry, approval and signature.
No parameter schema in public metadata yet.
create_estimateNew saved estimate with line items, tax, discount, deposit and expiry. Nothing is sent to the client.
New saved estimate with line items, tax, discount, deposit and expiry. Nothing is sent to the client.
No parameter schema in public metadata yet.
update_estimateChange an estimate's lines, tax, discount, deposit, expiry, notes or PO number. Nothing is sent.
Change an estimate's lines, tax, discount, deposit, expiry, notes or PO number. Nothing is sent.
No parameter schema in public metadata yet.
delete_estimateDelete an estimate for good.
Delete an estimate for good.
No parameter schema in public metadata yet.
send_estimateEmail the estimate to the client from Joist with its link and PDF.
Email the estimate to the client from Joist with its link and PDF.
No parameter schema in public metadata yet.
convert_estimate_to_invoiceGenerate an invoice with everything from the estimate. Nothing is sent to the client.
Generate an invoice with everything from the estimate. Nothing is sent to the client.
No parameter schema in public metadata yet.
list_invoicesInvoices with client, total, amount paid, balance due, due date and overdue. Active, paid or all.
Invoices with client, total, amount paid, balance due, due date and overdue. Active, paid or all.
No parameter schema in public metadata yet.
get_invoiceFull invoice: client, line items, tax, discount, deposit, due date, balance and every payment.
Full invoice: client, line items, tax, discount, deposit, due date, balance and every payment.
No parameter schema in public metadata yet.
create_invoiceNew saved invoice for a client without an estimate. Nothing is sent to the client.
New saved invoice for a client without an estimate. Nothing is sent to the client.
No parameter schema in public metadata yet.
delete_invoiceDelete an invoice that has no payments, for good.
Delete an invoice that has no payments, for good.
No parameter schema in public metadata yet.
send_invoiceEmail the invoice to the client from Joist with its link and PDF.
Email the invoice to the client from Joist with its link and PDF.
No parameter schema in public metadata yet.
record_paymentRecord a cash, check, credit card or bank transfer payment on an invoice; paid in full moves to Paid.
Record a cash, check, credit card or bank transfer payment on an invoice; paid in full moves to Paid.
No parameter schema in public metadata yet.
export_documentsJoist's monthly CSV of estimates or invoices: number, client, subtotal, tax, total, dates, payments.
Joist's monthly CSV of estimates or invoices: number, client, subtotal, tax, total, dates, payments.
No parameter schema in public metadata yet.
get_reportA Joist report for a date range: revenue, invoices, estimates or sales tax, with the period total.
A Joist report for a date range: revenue, invoices, estimates or sales tax, with the period total.
No parameter schema in public metadata yet.
Sponsors
Readme
Joist API and MCP server: connect Joist to ChatGPT and Claude
Yes, ChatGPT, Claude and other AI agents can work in your Joist account. That includes Cursor, Codex, OpenClaw and any MCP client, plus automations in n8n, Make and Zapier. Ask in plain words, and the AI creates customers, writes estimates, turns them into invoices, records payments and lists what is unpaid. It shows you what it will do first and sends nothing to other people until you say so.
As of November 2026, this repo is the missing piece: 20 Joist tools for AI assistants and scripts.
What you can ask
Write an estimate for Maple Street Dental: 120 sq ft of drywall repair at $4.50 and two coats of paint for $380, 7.25% tax, valid 30 days.
Which approved estimates have no invoice yet? Generate the invoices and show me before you send any.
Record the $390.93 check from Maple Street Dental on invoice 1042, dated yesterday.
List overdue invoices, oldest first, and draft a short reminder for each.
What did I take in last month, and how much sales tax did I collect?
Two ways to get it
Details
- Repository
- github.com/cotletdev/joist-api-mcp-server
- Website
- cotlet.dev/integrations/joist-api-mcp-server
- Category
- Finance & Commerce
- Transport
- HTTP
- Auth
- Required
- Registry
- MCP registry, active