
SolidInvoice MCP Server: Setup for Claude, Cursor and Other Apps
Lets Claude, Cursor and other assistants read your SolidInvoice invoices, quotes and clients, and create or update them if you allow it.
SolidInvoice has an MCP server built in, so your assistant can list invoices, check what is overdue, report revenue, and, with write access, create invoices and quotes or record payments. You connect to the cloud app or to your own instance by adding its address and signing in with your SolidInvoice account. Each connection is tied to one company, and you choose read-only or read and write when you approve it. There is no API-key option.
Good for
- Freelancers and small businesses who invoice with SolidInvoice
- Owners who want quick answers on overdue invoices and revenue
- Self-hosters who want their own instance to work with AI agents
Works in
14 should work
Tap an app to see how to set it up and any known problems.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Install SolidInvoice MCP
Claude Code
- 1
Copy this prompt.
Add the SolidInvoice MCP server to Claude Code. Run this command: claude mcp add --transport http solidinvoice https://solidinvoice.app/_mcp Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Sign-in with the vendor account (OAuth).
Built from the package data we hold. Not yet tested by us.
Tools
Lists invoices, quotes, clients, contacts, payments or taxes
Lists records of one type (invoice, quote, client, contact, payment, tax or recurring invoice) for your active company, with filters and paging. It is the general-purpose search tool.
Try: “List my clients in the UK.”
Network ·
list_resourceFetches one record by its ID
Returns the full detail of a single invoice, quote, client or other record when you know its ID.
Try: “Show me invoice INV-0042 in full.”
Network ·
get_resourceLists invoices with a given status
Returns invoices that are draft, pending, paid, overdue and so on, so you can review one stage of your billing.
Try: “Show all draft invoices.”
Network ·
list_invoices_by_statusLists overdue invoices, for one client if you ask
Finds invoices past their due date, optionally only for one client.
Try: “Which invoices are overdue for Acme Ltd?”
Network ·
list_overdue_invoicesLists quotes with a given status
Returns quotes in one stage, such as draft or accepted.
Try: “List quotes that are still waiting for an answer.”
Network ·
list_quotes_by_statusLists recurring invoices, filtered by status or client
Shows your scheduled repeating invoices, and can narrow them to a client or a status.
Try: “Which recurring invoices do I have for Acme?”
Network ·
list_recurring_invoicesLists the payment methods set up for the company
Returns the payment methods your active company has configured.
Try: “What payment methods are set up?”
Network ·
list_payment_methodsLists the company's tax rates
Returns the tax rates configured for your active company.
Try: “List my tax rates.”
Network ·
list_tax_ratesShows which status changes a record allows right now
For an invoice, quote or recurring invoice, lists the workflow steps (like send or cancel) you can apply next.
Try: “What can I do next with quote Q-12?”
Network ·
list_workflow_transitionsShows the active company's ID, name and currency
Returns basic facts about the company this connection is bound to, including its default currency.
Try: “Which company am I connected to?”
Network ·
get_company_infoTotals billed, paid and outstanding for one client
Summarizes a client with the amount invoiced, outstanding balance, total paid and invoice counts.
Try: “Summarize my billing with Acme Ltd.”
Network ·
get_client_summaryDashboard numbers: outstanding, overdue, counts
Returns outstanding and overdue totals per currency, invoice counts by status and the client count, like the app dashboard.
Try: “Give me my dashboard stats.”
Network ·
get_dashboard_statsCounts invoices by status
Counts how many invoices sit in each status.
Try: “How many invoices are in each status?”
Network ·
get_invoice_status_distributionRevenue from payments between two dates, by day, week or month
Adds up captured payments between two dates and groups them by day, week or month.
Try: “Show monthly revenue for this year.”
Network ·
get_revenue_by_periodTotal unpaid invoice amounts per currency
Totals the invoiced amounts still outstanding per currency, optionally for one client.
Try: “How much is outstanding right now?”
Network ·
get_total_outstandingTotal overdue invoice amounts per currency
Totals the amounts that are past due per currency, optionally for one client.
Try: “How much is overdue in total?”
Network ·
get_total_overdueLists a client's tax IDs such as VAT or GSTIN
Returns the tax identifiers saved for a client.
Try: “What VAT number do we have for Acme?”
Network ·
list_client_tax_identifiersCreates a client, contact or tax record
Creates a new client, contact or tax entry in your active company. It only handles these flat record types.
Try: “Create a client called Northwind Traders.”
Write ·
create_resourceEdits simple fields on a client, contact or tax
Changes plain fields on an existing client, contact or tax record.
Try: “Change the website of client Acme to acme.example.”
Write ·
update_resourceDeletes a client, contact or tax record
Deletes a client, contact or tax record that belongs to your active company.
Try: “Delete the contact john@old-company.example.”
Delete ·
delete_resourceCreates an invoice with line items
Creates an invoice for a client with line items, an optional discount, a due date and contacts.
Try: “Create an invoice for Acme: 10 hours of consulting at 120 each, due in 30 days.”
Write ·
create_invoiceCreates a quote with line items
Creates a quote for a client with line items, an optional discount, a due date and contacts.
Try: “Draft a quote for Northwind for a website redesign.”
Write ·
create_quoteSets up an invoice that repeats on a schedule
Creates a recurring invoice on a daily, weekly, monthly or yearly cadence.
Try: “Bill Acme 500 every month for hosting.”
Write ·
create_recurring_invoiceCopies an invoice into a new draft
Makes a new draft invoice with the same line items as an existing one.
Try: “Clone last month's invoice for Acme.”
Write ·
clone_invoiceCopies a quote into a new draft
Makes a new draft quote with the same line items as an existing one.
Try: “Duplicate quote Q-12 as a new draft.”
Write ·
clone_quoteTurns a quote into an invoice
Creates a new invoice from a quote, copying the client, line items and totals.
Try: “Convert accepted quote Q-12 into an invoice.”
Write ·
convert_quote_to_invoiceMoves an invoice through its workflow
Applies one workflow step to an invoice: accept, cancel, overdue, pay, reopen or archive.
Try: “Cancel invoice INV-0042.”
Write ·
apply_invoice_transitionMoves a quote through its workflow
Applies one workflow step to a quote: send, accept, decline, cancel, reopen or archive.
Try: “Mark quote Q-12 as accepted.”
Write ·
apply_quote_transitionMoves a recurring invoice through its workflow
Applies a workflow step to a recurring invoice.
Try: “Cancel the recurring invoice for Acme hosting.”
Write ·
apply_recurring_transitionRecords an offline payment against an invoice
Records a payment made outside the app, such as cash, and moves the invoice to paid. The documentation says an overpayment becomes client credit. No money moves through it.
Try: “Record a cash payment of 1,200 on invoice INV-0042.”
Write ·
record_paymentAdds a contact to a client
Adds a contact with an email and an optional name to an existing client.
Try: “Add jane@acme.example as a contact for Acme.”
Write ·
add_contactAdds a tax ID such as VAT or GSTIN to a client
Saves a tax identifier (VAT, GSTIN, TIN, ABN, CNPJ, TRN or other) on a client, optionally as the primary one.
Try: “Add VAT number GB123456789 to Acme.”
Write ·
add_client_tax_identifierRemoves a tax ID from a client
Removes one saved tax identifier from a client, using the identifier's ID.
Try: “Remove the old GSTIN from Acme.”
Delete ·
remove_client_tax_identifierEmails a payment reminder for an invoice
Sends a reminder email for an invoice to its contacts. This sends mail to your customers.
Try: “Send a reminder for invoice INV-0042.”
Write ·
send_invoice_reminderCreates a tax rate
Creates a tax rate with a name, rate, type, category and compound flag.
Try: “Create a 20% VAT rate.”
Write ·
create_tax_rateEdits an existing tax rate
Changes only the fields you give on an existing tax rate.
Try: “Change the VAT rate to 21%.”
Write ·
update_tax_rate
Read from the source code
Permissions
medium risk · 6 things to watch
Medium risk
With write access the assistant can create and cancel invoices, record payments, email reminders to customers and delete clients. Approve read-only access unless you need changes, and revoke the connection when you finish.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only modeHow to turn it on
Watch out for
Write access can delete clients and tax data
With the write scope, the assistant can delete clients, contacts and tax records and remove client tax IDs. Grant read only unless you need changes. github.com
It can email your customers
With write access, the reminder tool sends a payment reminder email to an invoice's contacts. Check which invoice it names before approving. github.com
Invoices contain customer details
Reading invoices and clients passes names, emails and amounts to your AI app. Connect only apps you trust with that data. github.com
It can change your billing records
Write tools create and cancel invoices, record offline payments and change tax rates. Review invoices the assistant creates before you send them. github.com
Risk depends on the scope you grant
Read scope alone is read-only. Write scope is opt-in at the sign-in screen and adds delete_resource and remove_client_tax_identifier, which is why the page rates the opt-in install as medium: the delete tools only cover clients, contacts, tax records and client tax IDs. github.com
You can revoke access at any time
Open Profile, then Connected apps in SolidInvoice to see each agent and cut it off. Revoking invalidates its tokens straight away. github.com
Security advisories
No published security advisories for the MCP server as of Nov 1, 2026.
8 other advisories are about the wider SolidInvoice project, not this MCP server. See them on GitHub
Technical details
| Turning on read-only | On the consent screen, leave the write scope unticked. The read scope is always on and write is opt-in. |
|---|---|
| Talks to | Your SolidInvoice instance (cloud or self-hosted) |
| Sign-in and keys | You sign in through your browser with OAuth. The agent gets an access token valid for 24 hours and a refresh token valid for 90 days, both tied to one company. |
| Scopes |
|
Questions
Is the SolidInvoice MCP server official?
Yes. It is built into SolidInvoice itself and ships in the same repository as the app.
What is the SolidInvoice MCP server URL?
For the cloud app it is https://solidinvoice.app/_mcp. For a self-hosted instance use your own host followed by /_mcp.
Does it work with a self-hosted SolidInvoice?
Yes. Use your instance address plus /_mcp. It must be reachable over HTTPS for sign-in to work, and you generate the OAuth signing keys once with the key command in the project docs.
Do I need an API key?
No. You sign in with your SolidInvoice account in the browser. The docs say there is deliberately no API-key option, so your client must support remote servers with OAuth.
Can it run read-only?
Yes. Read access is always on and write access is a separate choice on the sign-in screen. Leave write unticked and the change tools fail.
Can it delete my invoices or clients?
With write access it can delete clients, contacts and tax records. It can also cancel invoices through a status change. It has no tool that deletes an invoice outright.
Can it see more than one company?
No. Each connection is locked to the one company you pick when you approve it. To use another company, revoke the connection and reconnect.
Is it free?
SolidInvoice is open source under the MIT license and the MCP server is included. The cloud app's pricing is not covered in the project docs.
How do I add it to Claude?
Use the Claude Desktop custom connector or the Claude Code tab in the install box above, then approve access in your browser.
Information
updated Nov 2, 2026
- Publisher
- Official
- Endpoint
https://solidinvoice.app/_mcp- Transport
- Streamable HTTP
- Auth
- OAuth
- Version
- 3.1.2
- License
- MIT
- Last commit
- Oct 31, 2026
- Open issues
- 131
- Listed in
- Official MCP registry
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 3Hide
- github.com · github.com
- github.com · github.com
- github.com · github.com