Connectors · Accounting & finance
Orb MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Orb and the rest of your systems. It gives your agent 159 Orb actions (70 reads, 75 writes and 14 that wait for a confirmation) and holds the Orb credential itself, so the agent never does. It paces Orb's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "orb.invoices.list", intent: "check which Orb account is connected"}# List invoices · read · 1 upstream call- 159actionsin one signed file
- 70readlook, never change
- 75writecreate and update
- 14wait for a yesdestructive, confirmed first
Set up
Connect Orb in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Orb.
Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
access_tokenOrb API key
account { op: "connections.requirements", service: "orb" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "orb.invoices.list" }# list invoices · read · 1 upstream callcheck { action: "orb.invoices.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Orb at a glance
- Sign-in
- Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
- You provide
access_token- Limits we pace to
- 50 calls a second, per connection
- API covered
- Orb API v1 (OpenAPI 3.1.0)
api.withorb.com - Built from
- Orb's documentation, read 23 October 2026docs.withorb.comdocs.withorb.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 66 of 70 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 4, so ask can line Orb up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Orb.
159 actions in 19 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 70readlook, never change
- 75writecreate and update
- 14destructivewait for a confirmation
Customers
2914 read · 12 write · 3 destructive
List customers · Create customer · Fetch customer · Update customer
Subscriptions
175 read · 11 write · 1 destructive
List subscriptions · Create subscription · Fetch subscription · Update subscription
Plans
157 read · 7 write · 1 destructive
Create plan · Create plan version · Create plan version by external ID · List plans
Invoices
144 read · 7 write · 3 destructive
List invoices · Create a one-off invoice · Fetch invoice · Update invoice
Alerts
102 read · 7 write · 1 destructive
Create customer alert · Create customer alert by external ID · Create plan alert · Create subscription alert
Events
104 read · 4 write · 2 destructive
Create backfill · Ingest events · List backfills · Search events
Prices
96 read · 3 write · 0 destructive
List prices · Create price · Fetch price · Update price
Dimensional price groups
84 read · 4 write · 0 destructive
Create dimensional price group · Create dimensional price group prices · List dimensional price groups · List dimensional price group prices
11 more areas · 47 actions
- Licenses 8
- Webhook endpoints 7
- Metrics 6
- Coupons 5
- Items 5
- Credit blocks 4
- Subscription changes 4
- Credit notes 3
- License types 3
- Invoice line items 1
- Ping 1
Top actions
The Orb API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 32 of Orb's 32 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
orb.invoices.listList invoices | List invoices. | read | finance.invoice.list101 connectors |
orb.subscriptions.listList subscriptions | List subscriptions. | read | finance.subscription.list37 connectors |
orb.credit_notes.listList credit notes | List credit notes. | read | finance.credit_note.list33 connectors |
orb.invoices.createCreate a one-off invoice | Create a one-off invoice. | write | finance.invoice.create74 connectors |
orb.customers.listList customers | List customers. | read | crm.company.list162 connectors |
orb.credit_notes.createCreate credit note | Create credit note. | write | finance.credit_note.create29 connectors |
orb.subscriptions.createCreate subscription | Create subscription. | write | finance.subscription.create27 connectors |
orb.customers.createCreate customer | Create customer. | write | crm.company.create142 connectors |
orb.invoices.voidVoid invoice | Void invoice. | destructive | finance.invoice.void22 connectors |
orb.webhook_endpoints.createCreate webhook endpoint | Create webhook endpoint. | write | automation.webhook.create209 connectors |
orb.webhook_endpoints.listList webhook endpoints | List webhook endpoints. | read | automation.webhook.list202 connectors |
orb.coupons.createCreate coupon | Create coupon. | write | commerce.coupon.create29 connectors |
Try it
Prompts to paste into Claude.
Each one names the Orb actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Which Orb invoices are more than 30 days overdue? Group them by customer with the total owed.
calls
orb.invoices.list - Writewrite
Create a one-off invoice in Orb. Show me exactly what you will send before you save it.
calls
orb.invoices.create - Across systemsread
Which Orb companies have invoices in ConnectWise PSA, and how many each?
calls
orb.customers.listconnectwise_manage.invoices.list
Across your systems
Orb, joined to the rest of your business.
One ask fetches from Orb and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.
Which Orb companies have invoices in ConnectWise PSA, and how many each?
orb.customers.list+connectwise_manage.invoices.list, oncrm.company· ConnectWise PSAWhich Orb companies have tickets in HubSpot CRM, and how many each?
orb.customers.list+hubspot_crm.tickets.list, oncrm.company· HubSpot CRM
crm.company 227finance.invoice 91finance.credit_note 28finance.subscription 24ask { intent: "which Orb companies have invoices in ConnectWise PSA, and how many each", steps: [ { action: "orb.customers.list", as: "co", input: {}, limit: 100, max_pages: 5 }, { action: "connectwise_manage.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 }, { join: { left: "co", right: "inv", on: "crm.company", group_by: "co.name", select: ["co.name", "count(inv.id) as invoices"] } } ]}Governance for Orb
Destructive actions wait for a yes.
14 Orb actions are destructive. These are all of them:
- Void invoice
orb.invoices.void - Cancel subscription
orb.subscriptions.cancel - Delete customer
orb.customers.delete - Delete webhook endpoint
orb.webhook_endpoints.delete - Pay invoice
orb.invoices.pay - Delete alert
orb.alerts.delete - Deprecate event
orb.events.deprecate - Delete credit block
orb.credit_blocks.delete - Revert backfill
orb.events.revert_backfill - Deactivate top-up
orb.customers.delete_top_up - Delete invoice line item
orb.invoices.delete_line_item - Deactivate top-up by external ID
orb.customers.delete_top_up_external_id - Cancel migration
orb.plans.cancel_migration - Cancel subscription change
orb.subscription_changes.cancel
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Void invoice?
intent: the user asked me to void invoice
account { op: "keys.create", name: "orb-agent", allowed_actions: ["orb.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "orb.invoices.void", approver: "[email protected]" }, { match: "orb.subscriptions.cancel", approver: "[email protected]" }, { match: "orb.customers.delete", approver: "[email protected]" } ]}Cost
What Orb costs on actionlake.
Every Orb action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Orb refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 159 Orb actions
- 159actions pageeach page of a long list is one call
- 66reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Orb action.
159 actions by area: the id your agent calls, what it does, and its effect.
Customers29
orb.customers.createCreate customerwriteorb.customers.create_balance_transactionCreate customer balance transactionwriteorb.customers.create_ledger_entryCreate ledger entrywriteorb.customers.create_ledger_entry_external_idCreate ledger entry by external IDwriteorb.customers.create_portal_sessionCreate portal sessionwriteorb.customers.create_portal_session_external_idCreate portal session by external IDwriteorb.customers.create_top_upCreate top-upwriteorb.customers.create_top_up_external_idCreate top-up by external IDwriteorb.customers.deleteDelete customerdestructiveorb.customers.delete_top_upDeactivate top-updestructiveorb.customers.delete_top_up_external_idDeactivate top-up by external IDdestructiveorb.customers.getFetch customerreadorb.customers.get_costsFetch customer costsreadorb.customers.get_costs_external_idFetch customer costs by external IDreadorb.customers.get_credit_balance_summaryFetch customer credit balance summaryreadorb.customers.get_credit_balance_summary_external_idFetch customer credit balance summary by external customer idreadorb.customers.get_external_idFetch customer by external IDreadorb.customers.listList customersreadorb.customers.list_balance_transactionsList balance transactionsreadorb.customers.list_creditsFetch customer credit balancereadorb.customers.list_credits_external_idFetch customer credit balance by external customer idreadorb.customers.list_credits_ledgerFetch customer credits ledgerreadorb.customers.list_credits_ledger_external_idFetch customer credits ledger by external IDreadorb.customers.list_top_upsList top-upsreadorb.customers.list_top_ups_external_idList top-ups by external IDreadorb.customers.sync_payment_methods_from_gatewayUpdate payment methods from payment providerwriteorb.customers.sync_payment_methods_from_gateway_external_idUpdate payment methods from payment providerwriteorb.customers.updateUpdate customerwriteorb.customers.update_external_idUpdate customer by external IDwrite
Subscriptions17
orb.subscriptions.add_edit_price_intervalsAdd or edit price intervalswriteorb.subscriptions.cancelCancel subscriptiondestructiveorb.subscriptions.createCreate subscriptionwriteorb.subscriptions.getFetch subscriptionreadorb.subscriptions.get_costsFetch subscription costsreadorb.subscriptions.get_usageFetch subscription usagereadorb.subscriptions.listList subscriptionsreadorb.subscriptions.list_scheduleFetch subscription schedulereadorb.subscriptions.redeem_couponRedeem Couponwriteorb.subscriptions.schedule_plan_changeSchedule plan changewriteorb.subscriptions.trigger_phaseTrigger phasewriteorb.subscriptions.unschedule_cancellationUnschedule subscription cancellationwriteorb.subscriptions.unschedule_fixed_fee_quantity_updatesUnschedule fixed fee quantity updateswriteorb.subscriptions.unschedule_pending_plan_changesUnschedule plan changewriteorb.subscriptions.updateUpdate subscriptionwriteorb.subscriptions.update_fixed_fee_quantityUpdate price quantitywriteorb.subscriptions.update_trialUpdate trial for subscriptionwrite
Plans15
orb.plans.cancel_migrationCancel migrationdestructiveorb.plans.createCreate planwriteorb.plans.create_versionCreate plan versionwriteorb.plans.create_version_external_idCreate plan version by external IDwriteorb.plans.getFetch planreadorb.plans.get_external_idFetch plan by external IDreadorb.plans.get_migrationFetch migrationreadorb.plans.get_versionFetch plan versionreadorb.plans.get_version_external_idFetch plan version by external IDreadorb.plans.listList plansreadorb.plans.list_migrationsList migrationsreadorb.plans.set_default_versionSet plan version as defaultwriteorb.plans.set_default_version_external_idSet plan version as default by external IDwriteorb.plans.updateUpdate plan by idwriteorb.plans.update_external_idUpdate plan by external IDwrite
Invoices14
orb.invoices.createCreate a one-off invoicewriteorb.invoices.delete_line_itemDelete invoice line itemdestructiveorb.invoices.getFetch invoicereadorb.invoices.get_upcomingFetch upcoming invoicereadorb.invoices.issueIssue invoicewriteorb.invoices.issue_summaryIssue invoice summarywriteorb.invoices.listList invoicesreadorb.invoices.list_summaryList invoices summaryreadorb.invoices.mark_as_paidMark invoice as paidwriteorb.invoices.payPay invoicedestructiveorb.invoices.regenerate_pdfRegenerate invoice PDFwriteorb.invoices.regenerate_receipt_pdfRegenerate receipt PDFwriteorb.invoices.updateUpdate invoicewriteorb.invoices.voidVoid invoicedestructive
Alerts10
orb.alerts.create_for_customerCreate customer alertwriteorb.alerts.create_for_external_customerCreate customer alert by external IDwriteorb.alerts.create_for_planCreate plan alertwriteorb.alerts.create_for_subscriptionCreate subscription alertwriteorb.alerts.deleteDelete alertdestructiveorb.alerts.disableDisable alert by IDwriteorb.alerts.enableEnable alert by IDwriteorb.alerts.getFetch alertreadorb.alerts.listList alertsreadorb.alerts.updateUpdate alertwrite
Events10
orb.events.amendAmend eventwriteorb.events.close_backfillClose backfillwriteorb.events.create_backfillCreate backfillwriteorb.events.deprecateDeprecate eventdestructiveorb.events.get_backfillFetch backfillreadorb.events.get_volumeGet event volumereadorb.events.ingestIngest eventswriteorb.events.list_backfillsList backfillsreadorb.events.revert_backfillRevert backfilldestructiveorb.events.searchSearch eventsread
Prices9
orb.prices.createCreate pricewriteorb.prices.evaluateEvaluate pricereadorb.prices.evaluate_multipleEvaluate multiple pricesreadorb.prices.evaluate_preview_eventsEvaluate preview eventsreadorb.prices.getFetch pricereadorb.prices.get_external_idFetch price by external price idreadorb.prices.listList pricesreadorb.prices.updateUpdate pricewriteorb.prices.update_external_idUpdate price by external price idwrite
Dimensional price groups8
orb.dimensional_price_groups.createCreate dimensional price groupwriteorb.dimensional_price_groups.create_pricesCreate dimensional price group priceswriteorb.dimensional_price_groups.getFetch dimensional price groupreadorb.dimensional_price_groups.get_external_idFetch dimensional price group by external IDreadorb.dimensional_price_groups.listList dimensional price groupsreadorb.dimensional_price_groups.list_pricesList dimensional price group pricesreadorb.dimensional_price_groups.updateUpdate dimensional price groupwriteorb.dimensional_price_groups.update_external_idUpdate dimensional price group by external IDwrite
Licenses8
orb.licenses.createCreate a new license for a userwriteorb.licenses.deactivateDeactivate licensewriteorb.licenses.getFetch licensereadorb.licenses.get_external_idFetch license by external license idreadorb.licenses.get_usageGet usage for a specific licensereadorb.licenses.get_usage_by_external_idGet usage for a license by external license IDreadorb.licenses.get_usage_by_typeGet usage for all licenses of a type on a subscriptionreadorb.licenses.listList licensesread
Webhook endpoints7
orb.webhook_endpoints.createCreate webhook endpointwriteorb.webhook_endpoints.deleteDelete webhook endpointdestructiveorb.webhook_endpoints.disableDisable webhook endpointwriteorb.webhook_endpoints.enableEnable webhook endpointwriteorb.webhook_endpoints.getFetch webhook endpointreadorb.webhook_endpoints.listList webhook endpointsreadorb.webhook_endpoints.updateUpdate webhook endpointwrite
Metrics6
orb.metrics.archiveArchive metricwriteorb.metrics.createCreate metricwriteorb.metrics.getGet metricreadorb.metrics.listList metricsreadorb.metrics.unarchiveUnarchive metricwriteorb.metrics.updateUpdate metricwrite
Coupons5
orb.coupons.archiveArchive couponwriteorb.coupons.createCreate couponwriteorb.coupons.getFetch couponreadorb.coupons.listList couponsreadorb.coupons.list_subscriptionsList coupon subscriptionsread
Items5
orb.items.archiveArchive itemwriteorb.items.createCreate itemwriteorb.items.getFetch itemreadorb.items.listList itemsreadorb.items.updateUpdate itemwrite
Credit blocks4
orb.credit_blocks.deleteDelete credit blockdestructiveorb.credit_blocks.getFetch credit blockreadorb.credit_blocks.list_invoicesList invoices for credit blockreadorb.credit_blocks.updateUpdate credit blockwrite
Subscription changes4
orb.subscription_changes.applyApply subscription changewriteorb.subscription_changes.cancelCancel subscription changedestructiveorb.subscription_changes.getFetch subscription changereadorb.subscription_changes.listList subscription changesread
Credit notes3
orb.credit_notes.createCreate credit notewriteorb.credit_notes.getFetch credit notereadorb.credit_notes.listList credit notesread
License types3
orb.license_types.createCreate license typewriteorb.license_types.getFetch license typereadorb.license_types.listList license typesread
Invoice line items1
orb.invoice_line_items.createCreate invoice line itemwrite
Ping1
orb.ping.getCheck availabilityread
Questions
The Orb MCP server, answered.
Is there an Orb MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 159 Orb actions across customers, subscriptions, plans and invoices, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Orb.
What do I need to connect Orb?
Orb API key. The free call account { op: "connections.requirements", service: "orb" } lists exactly what to paste.
Can an AI agent delete or change things in Orb?
Only if its key allows it, and only with an explicit confirmation. 14 Orb actions are destructive, including void invoice, cancel subscription and delete customer. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Orb API limit?
actionlake paces every call to the limits in the Orb service file: 50 calls a second per connection. Repeated reads are answered from cache (66 Orb actions can be), which never reaches Orb.
What does an Orb action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (159 Orb actions page). Cache hits, searches, dry runs and calls Orb refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Orb API does it cover?
The Orb API v1 (OpenAPI 3.1.0) at api.withorb.com. It is built from Orb's documentation as read on 23 October 2026. 159 actions in 19 areas, each one in the signed service file (version 1.0.0).
Can I combine Orb with my other systems?
Yes. ask joins Orb to ConnectWise PSA or HubSpot CRM on the same customer and returns the answer rather than every row. Orb maps crm.company, which 227 other connectors also map.
Does actionlake keep my Orb data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Orb credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Orb today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.