Recurring Invoices works with AI assistants through the Model Context Protocol (MCP). Once connected, you can ask Claude or ChatGPT to manage your clients, invoices, recurring invoices and payments in plain English.
Your MCP server address is:
https://recurring-invoices.com/mcp
Each connection reaches exactly one team. When you connect, you choose which team the assistant may use; it cannot see your other teams. You need a Recurring Invoices account — sign up free if you don't have one yet.
Claude (claude.ai and Claude Desktop)
Custom connectors are set up the same way on claude.ai and in the Claude Desktop app, and sync between them.
- Open Settings → Connectors.
- Click Add custom connector.
- Enter a name, such as Recurring Invoices, and paste
https://recurring-invoices.com/mcpas the URL. Click Add. - Click Connect. A Recurring Invoices window opens: sign in, choose the team Claude may access, and approve.
- In a new chat, open the tools menu and make sure Recurring Invoices is enabled.
On Claude Team and Enterprise plans, an organisation owner may need to add the connector first under Organization settings → Connectors; members then connect it from their own Settings → Connectors.
ChatGPT
ChatGPT connects to custom MCP servers through Developer mode. Availability depends on your ChatGPT plan, and on Business, Enterprise and Edu workspaces an admin may need to enable it for you. OpenAI updates this area often, so labels may differ slightly (it has been called Connectors, Apps and Plugins).
- Open Settings → Apps (or Plugins) → Advanced settings and turn on Developer mode.
- Back in Apps / Plugins, click Create (or the + button) and choose to add a custom MCP server.
- Enter a name, such as Recurring Invoices, and paste
https://recurring-invoices.com/mcpas the MCP server URL. - Choose OAuth as the authentication method, review the warning about custom servers, and click Create.
- Sign in to Recurring Invoices when prompted, choose the team ChatGPT may access, and approve.
- In a new chat, click + → More (or Developer mode) and select Recurring Invoices to use it.
ChatGPT asks you to confirm before it runs tools that change data. Review each change before approving it.
Claude Code (with an access token)
Claude Code, and other MCP clients that support custom headers, can connect with a team access token instead of signing in.
- Sign in to Recurring Invoices and open Team settings → AI agents for the team you want to connect. (You need permission to manage the team.)
- Click Generate token and copy it. It is shown only once; generating a new one replaces the old one.
-
In your terminal, run:
replacing
claude mcp add --transport http recurring-invoices https://recurring-invoices.com/mcp --header "Authorization: Bearer <YOUR_TOKEN>"<YOUR_TOKEN>with the token you copied. - Start
claudeand run/mcpto check that recurring-invoices is connected.
The AI agents settings page also has ready-to-copy configuration for Cursor, VS Code and other MCP clients. Keep your token secret: anyone who has it can manage that team's invoices.
What the assistant can do
Everything below happens inside the one team you connected. Amounts and dates are handled for you — just talk normally.
Clients
-
Search and list your clients. (
list-clients) -
Look up one client with their contacts and details. (
get-client) -
Add a new client with contacts, email addresses and a postal address. (
create-client) -
Change a client's name, contacts or address. (
update-client) -
Remove a client. (
delete-client)
Invoices
-
Find invoices by client, status, date or number. (
list-invoices) -
Read one invoice with its line items, payments and history. (
get-invoice) -
Create an invoice for a client. The number and currency are filled in from your team settings if you leave them out. (
create-invoice) -
Edit an invoice's line items, dates, notes, tax or discount. (
update-invoice) -
Delete an invoice. (
delete-invoice) -
Mark several invoices as sent or paid, cancel them or delete them in one go. (
bulk-update-invoices) -
Bring invoices over from another system, such as a FreshBooks export. (
import-invoices)
Payments
-
Record a full or partial payment against an invoice. The invoice's status updates automatically. (
record-payment)
Recurring invoices
-
List your recurring invoice schedules. (
list-recurring-invoices) -
Read one recurring invoice, its schedule and its line items. (
get-recurring-invoice) -
Set up an invoice that is generated weekly, monthly, yearly and so on — as a draft, or emailed automatically. (
create-recurring-invoice) -
Change the amount, schedule, recipients or auto-send setting. (
update-recurring-invoice) -
Stop and remove a recurring invoice. (
delete-recurring-invoice)
There is also a migrate-from-freshbooks prompt that walks the assistant through importing a FreshBooks export. Sending invoice emails and pausing or resuming recurring invoices are done in the Recurring Invoices web app.
Example prompts
- “Create a monthly recurring invoice for Acme for $500.”
- “Which invoices are overdue, and how much is outstanding in total?”
- “Add a new client, Globex Ltd, contact Hank Scorpio, [email protected].”
- “Create an invoice for Initech for 12 hours of consulting at $150/hour, due in 14 days.”
- “Acme paid invoice INV-042 in full by bank transfer yesterday — record the payment.”
- “Mark all draft invoices from last month as sent.”
- “Raise the Acme monthly retainer to $650 starting next month and turn on auto-send.”
- “I've attached my FreshBooks invoice export — import it.”
Disconnecting
- Recurring Invoices: Team settings → AI agents → Revoke. Access stops immediately.
- Claude: Settings → Connectors → Recurring Invoices → Disconnect or remove.
- ChatGPT: Settings → Apps / Plugins → Recurring Invoices → Disconnect or delete.
- Claude Code: run
claude mcp remove recurring-invoices, and revoke the token in Team settings.
Removing someone from a team also cuts off their connections to it. Read how connector data is handled in our Privacy Policy — in short, the assistant only sees the team you authorise, and we never use your data to train AI models.
Troubleshooting
- “Unauthenticated” or 401 errors: the token was revoked or replaced, or you were removed from the team. Reconnect, or generate a new token.
- The assistant doesn't use the tools: make sure the connector is enabled for the current chat, then mention Recurring Invoices in your request.
- Wrong team: disconnect and connect again, choosing the other team.
Still stuck? Email us at [email protected].