Connect an AI agent
Invx is a remote MCP server. Once connected, your agent can issue invoices, look them up, repeat last month's invoice for a client and keep your client list current, using the same rules as the app.
https://invx.app/api/mcpThere are two ways in.
With a sign-in (custom connectors)#
For apps that add a remote MCP server by URL, such as Claude's custom connectors:
- Add a custom connector and paste the server URL above.
- Your browser opens Invx. Sign in and choose Allow.
- The connector can now read and write your invoices.
Removing the connector in that app stops that app from calling Invx, but Invx is not told: the tokens it was given, including the refresh token that mints new access tokens, stay valid until they expire. Invx has no self-service revoke for connectors yet. For a client you might need to cut off, use an API key instead: revoking a key takes effect on the next call.
No key to copy or store. Invx uses OAuth 2.1 with PKCE and Client ID Metadata Documents; there is no dynamic client registration.
With an API key (CLIs and editors)#
- In Invx, open Settings → MCP & API and create a key. Choose Read only if the agent should only look things up. The key is shown once.
- Add Invx to your client with the snippet below, replacing
invx_YOUR_KEY.
Claude Code#
Run once in a terminal. The user scope makes Invx available in every project.
claude mcp add --transport http --scope user invx https://invx.app/api/mcp \
--header "Authorization: Bearer invx_YOUR_KEY"Codex CLI#
Keep the key in an environment variable; Codex reads it on every call.
export INVX_API_KEY=invx_YOUR_KEY
codex mcp add invx --url https://invx.app/api/mcp --bearer-token-env-var INVX_API_KEYCursor#
Add to ~/.cursor/mcp.json (or .cursor/mcp.json in a project).
{
"mcpServers": {
"invx": {
"url": "https://invx.app/api/mcp",
"headers": {
"Authorization": "Bearer invx_YOUR_KEY"
}
}
}
}Claude Desktop#
Add to claude_desktop_config.json (Settings → Developer → Edit config), then restart Claude. Needs Node.js.
{
"mcpServers": {
"invx": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://invx.app/api/mcp",
"--header",
"Authorization:${INVX_AUTH}"
],
"env": {
"INVX_AUTH": "Bearer invx_YOUR_KEY"
}
}
}
}Any other client that supports remote MCP servers over Streamable HTTP works the same way: the URL above, plus the header Authorization: Bearer invx_YOUR_KEY.
Try it#
Ask your agent, in your own words:
- "Invoice Acme for 12 hours of design at 80 an hour, due in 30 days."
- "Duplicate my last invoice to Northwind with today's date."
- "What did I bill in September, by client?"
- "Get me the PDF link for invoice INV-0042."
Deleting needs the exact invoice number or client name, so a wrong guess deletes nothing.
Next#
- Tool reference: every tool, its inputs and its access level.
- API keys: access levels, expiry and revoking.
- Limits and safety.