MCP Integration
Connect AI assistants and agents to AgentInvoice via the Model Context Protocol
AgentInvoice exposes a Model Context Protocol (MCP) server so AI assistants can create invoices, manage clients, send estimates, and track payments on your behalf — directly from your AI tool of choice.
Connection details
| MCP URL | https://app.agentinvoice.co/api/mcp/sse |
| Transport | Streamable HTTP (SSE) |
| Authentication | Bearer token — API key or OAuth 2.1 |
Authentication
There are two ways to authenticate:
API key — suitable for local tools (Claude Desktop, Cursor, Windsurf, etc.). Generate a key in Settings → API Keys. Keys start with ak_.
OAuth 2.1 — suitable for hosted AI platforms (Claude.ai). You authorize AgentInvoice directly in the platform without handling a key. The OAuth discovery document is at https://app.agentinvoice.co/.well-known/oauth-authorization-server.
Claude.ai
Claude.ai supports MCP connectors with OAuth, so no API key is needed.
- Open Claude.ai and go to Settings → Connectors
- Click Add connector
- Enter the MCP URL:
https://app.agentinvoice.co/api/mcp/sse - Follow the OAuth authorization flow to grant Claude access to your AgentInvoice account
- The connector is now available in all your Claude conversations
Once connected, you can say things like:
"Create an invoice for Acme Corp for $2,500 for web development services, due in 30 days"
"List all my overdue invoices"
"Send invoice #42 to the client"
Claude Code
Add AgentInvoice to your Claude Code MCP configuration. Create or edit ~/.claude/mcp.json:
{
"mcpServers": {
"agentinvoice": {
"type": "http",
"url": "https://app.agentinvoice.co/api/mcp/sse",
"headers": {
"Authorization": "Bearer ak_your_api_key_here"
}
}
}
}Restart Claude Code. The AgentInvoice tools will be available in your sessions.
Claude Desktop
Edit your Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"agentinvoice": {
"type": "http",
"url": "https://app.agentinvoice.co/api/mcp/sse",
"headers": {
"Authorization": "Bearer ak_your_api_key_here"
}
}
}
}Restart Claude Desktop and look for the hammer icon in the chat interface to confirm the tools are loaded.
Cursor
- Open Cursor Settings (
Cmd/Ctrl + Shift + J) → MCP - Click Add new MCP server
- Configure:
{
"agentinvoice": {
"type": "http",
"url": "https://app.agentinvoice.co/api/mcp/sse",
"headers": {
"Authorization": "Bearer ak_your_api_key_here"
}
}
}Alternatively, add a .cursor/mcp.json file in your project root with the same config.
Windsurf
- Open Windsurf Settings → Cascade → MCP Servers
- Click Add server and select HTTP
- Set the URL to
https://app.agentinvoice.co/api/mcp/sse - Add a
Authorizationheader with valueBearer ak_your_api_key_here
Other MCP clients
Any MCP client that supports Streamable HTTP (SSE) transport can connect using:
URL: https://app.agentinvoice.co/api/mcp/sse
Header: Authorization: Bearer <your-api-key>Available tools
AgentInvoice exposes 28 tools across four categories.
Invoices
| Tool | Description |
|---|---|
create_invoice | Create a draft invoice with line items for a client |
get_invoice | Get an invoice by ID |
get_invoice_status | Get just the status of an invoice |
list_invoices | List all invoices, optionally filtered by status |
list_overdue_invoices | List invoices past their due date |
update_invoice | Update a draft invoice |
finalize_invoice | Lock an invoice's amounts so it can be sent |
send_invoice | Send a finalized invoice to the client |
mark_invoice_paid | Record payment received on an invoice |
void_invoice | Cancel an invoice |
delete_invoice | Delete a draft invoice |
get_invoice_stats | Get aggregate stats (total invoiced, outstanding, overdue) |
Clients
| Tool | Description |
|---|---|
create_client | Create a new billable client |
get_client | Get a client by ID |
list_clients | List all clients |
update_client | Update a client's details |
delete_client | Delete a client |
Estimates
| Tool | Description |
|---|---|
create_estimate | Create a new estimate for a client |
get_estimate | Get an estimate by ID |
list_estimates | List all estimates |
update_estimate | Update an estimate |
delete_estimate | Delete an estimate |
convert_estimate_to_invoice | Convert an accepted estimate into a draft invoice |
Recurring schedules
| Tool | Description |
|---|---|
create_recurring_schedule | Set up automatic recurring invoice generation |
get_recurring_schedule | Get a recurring schedule by ID |
list_recurring_schedules | List all recurring schedules |
update_recurring_schedule | Update a recurring schedule |
delete_recurring_schedule | Delete a recurring schedule |