Skip to content

Connectors · Accounting & finance

Ramp MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Ramp and the rest of your systems. It gives your agent 256 Ramp actions (108 reads, 114 writes and 34 that wait for a confirmation) and holds the Ramp credential itself, so the agent never does. It paces Ramp'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/mcp
the first call
do {  action: "ramp.purchase_orders.list",  intent: "check which Ramp account is connected"}# List purchase orders · read · 1 upstream call
  • 256actionsin one signed file
  • 108readlook, never change
  • 114writecreate and update
  • 34wait for a yesdestructive, confirmed first

Set up

Connect Ramp in three steps.

  1. 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
  2. 02

    Connect Ramp.

    OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in. actionlake stores what you paste write-only, sealed under your tenant's key.

    • client_idRamp client ID
    • client_secretRamp client secret (shown with the client ID in the app's settings)
    • scopesYour Ramp scopes
    • tenant_hostWhere your Ramp lives: your tenant host
    account { op: "connections.requirements", service: "ramp" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "ramp.purchase_orders.list" }# list purchase orders · read · 1 upstream callcheck { action: "ramp.purchase_orders.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Ramp at a glance

Sign-in
OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in.
You provide
client_idclient_secret
Setup fields
scopestenant_host
Limits we pace to
200 calls per 10 seconds, per connection
API covered
Ramp Developer API v1 (OpenAPI 3.0.2)api.ramp.com/developer/v1
Built from
Ramp's documentation, read 22 October 2026docs.ramp.comdocs.ramp.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
107 of 108 reads, for up to 5 minutes; a write clears what it affects
Shared entities
7, so ask can line Ramp up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Ramp.

256 actions in 89 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 108readlook, never change
  • 114writecreate and update
  • 34destructivewait for a confirmation
  1. Users

    8

    3 read · 4 write · 1 destructive

    List users · Fetch a user · Update a user · Create a user invite

  2. Vendor agreements

    8

    1 read · 5 write · 2 destructive

    List vendor agreements · Create a vendor agreement · Fetch a vendor agreement · Link purchase orders or documents to a vendor agreement

  3. Vendors

    8

    2 read · 5 write · 1 destructive

    List vendors · Create a new vendor · Fetch a vendor · Place a hold on a vendor

  4. Accounting connection

    7

    2 read · 4 write · 1 destructive

    Register a new API based accounting connection · Fetch an accounting connection by ID · Fetch the current active accounting connection · Mark an inactive accounting API based connection as ready to migrate

  5. Bills

    7

    2 read · 4 write · 1 destructive

    List bills · Create a bill · Fetch a bill · Update a bill

  6. Funds

    7

    2 read · 4 write · 1 destructive

    Create a fund · List funds · Fetch a fund · Suspend a fund

  7. Physical cards

    7

    2 read · 4 write · 1 destructive

    Create a physical card · List physical cards · Fetch a physical card · Suspend a card

  8. Accounting field options

    6

    2 read · 3 write · 1 destructive

    Upload new options · List options for a given custom accounting field · Fetch a custom accounting field option · Update a custom accounting field option

81 more areas · 198 actions
  • Custom records custom tables rows 6
  • Unified requests 6
  • Webhooks 6
  • Accounting accounts 5
  • Accounting fields 5
  • Accounting ramp fields 5
  • Accounting vendors 5
  • Draft bills 5
  • Purchase orders 5
  • Accounting inventory item 4
  • Accounting inventory item options 4
  • Accounting tax code 4
  • Accounting tax code options 4
  • Accounting tax rates 4
  • Custom records matrix tables 4
  • Custom records matrix tables rows 4
  • Custom records native tables rows 4
  • Departments 4
  • Funds members 4
  • Item receipts 4
  • Locations 4
  • Accounting field option filter rules 3
  • Accounting ramp field options 3
  • AI spend settings 3
  • Memos 3
  • Purchase orders line items 3
  • Receipt integrations opt out 3
  • Spend programs 3
  • Transactions 3
  • Vendor bank accounts 3
  • Vendor contacts 3
  • Vendor credits 3
  • AI spend tagging settings 2
  • Applications 2
  • Approvals 2
  • Bank accounts 2
  • Banking accounts 2
  • Bills associations 2
  • Cards vault 2
  • Cashbacks 2
  • Comments 2
  • Custom records configure custom tables columns 2
  • Custom records configure native tables columns 2
  • Custom records matrix tables columns 2
  • Entities 2
  • Receipts 2
  • Reimbursements 2
  • Statements 2
  • Transfers 2
  • Trips 2
  • Vault cards 2
  • Virtual cards 2
  • Accounting all connections 1
  • Accounting codings 1
  • Accounting entities 1
  • Accounting ready to sync 1
  • Accounting syncs 1
  • AI spend API keys 1
  • AI spend team 1
  • AI spend usage 1
  • Audit logs events 1
  • Banking syncable transactions 1
  • Blank canvas approvals 1
  • Blank canvas approvals metadata 1
  • Business 1
  • Business balance 1
  • Custom form collections responses 1
  • Custom records configure custom tables 1
  • Custom records configure native tables 1
  • Custom records custom tables 1
  • Custom records custom tables columns 1
  • Custom records native tables 1
  • Custom records native tables columns 1
  • Embedded cards 1
  • Merchants 1
  • Reimbursements mileage 1
  • Repayments 1
  • Roles 1
  • Spend programs workflow nodes 1
  • Unified requests attachments 1
  • Vendor children 1

Top actions

The Ramp API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 28 of Ramp's 28 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
ramp.purchase_orders.listList purchase ordersList purchase orders.readfinance.purchase_order.list45 connectors
ramp.transactions.listList transactionsList transactions.readfinance.expense.list40 connectors
ramp.accounting_accounts.listList general ledger accountsList general ledger accounts.readfinance.ledger_account.list36 connectors
ramp.bank_accounts.listList bank accountsList bank accounts.readfinance.bank_account.list35 connectors
ramp.bills.listList billsList bills.readfinance.bill.list31 connectors
ramp.users.listList usersList users.readidentity.user.list474 connectors
ramp.purchase_orders.createCreate a purchase orderCreate a purchase order.writefinance.purchase_order.create43 connectors
ramp.accounting_accounts.createUpload general ledger accountsUpload general ledger accounts.writefinance.ledger_account.create32 connectors
ramp.bills.createCreate a billCreate a bill.writefinance.bill.create28 connectors
ramp.transactions.getFetch a transactionFetch a transaction.readfinance.expense.get42 connectors
ramp.bank_accounts.getGet bank account detailsGet bank account details.readfinance.bank_account.get30 connectors
ramp.bills.deleteArchive a billArchive a bill.destructivefinance.bill.delete21 connectors

Try it

Prompts to paste into Claude.

Each one names the Ramp actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    List the companies in Ramp and flag likely duplicates by name or domain.

    callsramp.vendors.list

  2. Writewrite

    Create a purchase order in Ramp. Show me exactly what you will send before you save it.

    callsramp.purchase_orders.create

  3. Across systemsread

    Which Ramp companies have invoices in ConnectWise PSA, and how many each?

    callsramp.vendors.listconnectwise_manage.invoices.list

Across your systems

Ramp, joined to the rest of your business.

One ask fetches from Ramp and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

  • Which Ramp companies have invoices in ConnectWise PSA, and how many each?

    ramp.vendors.list + connectwise_manage.invoices.list, on crm.company · ConnectWise PSA

  • Which Ramp companies have tickets in HubSpot CRM, and how many each?

    ramp.vendors.list + hubspot_crm.tickets.list, on crm.company · HubSpot CRM

Also mapped by other connectorsidentity.user 517crm.company 227finance.purchase_order 35finance.ledger_account 32finance.bill 27finance.expense 26finance.bank_account 25
ask
ask {  intent: "which Ramp companies have invoices in ConnectWise PSA, and how many each",  steps: [    { action: "ramp.vendors.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"]    } }  ]}
Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for Ramp

Destructive actions wait for a yes.

34 Ramp actions are destructive. The first 10:

  • Archive a billramp.bills.delete
  • Delete a general ledger accountramp.accounting_accounts.delete
  • Delete a vendorramp.vendors.delete
  • Terminate a fundramp.funds.terminate
  • Delete a webhook subscription by idramp.webhooks.delete
  • Deactivate a userramp.users.deactivate
  • Remove members from a fundramp.funds_members.remove
  • Delete an item receiptramp.item_receipts.delete
  • Suspend a fund memberramp.funds_members.suspend
  • Delete a procurement requestramp.unified_requests.delete

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.

doramp.bills.deleteconfirm_policy: human

Archive a bill?

intent: the user asked me to archive a bill

run suspended · waiting for a named person · key ramp-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "ramp-agent",  allowed_actions: ["ramp.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "ramp.bills.delete", approver: "[email protected]" },    { match: "ramp.accounting_accounts.delete", approver: "[email protected]" },    { match: "ramp.vendors.delete", approver: "[email protected]" }  ]}
Illustrative. Scoped to Ramp only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What Ramp costs on actionlake.

Every Ramp action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Ramp 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 256 Ramp actions
  • 256actions pageeach page of a long list is one call
  • 107reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every Ramp action.

256 actions by area: the id your agent calls, what it does, and its effect.

Users8
  • ramp.users.create_deferredCreate a user invitewrite
  • ramp.users.deactivateDeactivate a userdestructive
  • ramp.users.getFetch a userread
  • ramp.users.get_deferred_statusFetch deferred task statusread
  • ramp.users.inviteManage a user's invite lifecyclewrite
  • ramp.users.listList usersread
  • ramp.users.reactivateReactivate a userwrite
  • ramp.users.updateUpdate a userwrite
Vendor agreements8
  • ramp.vendor_agreements.createList vendor agreementswrite
  • ramp.vendor_agreements.create_for_vendorCreate a vendor agreementwrite
  • ramp.vendor_agreements.deleteDelete a vendor agreementdestructive
  • ramp.vendor_agreements.getFetch a vendor agreementread
  • ramp.vendor_agreements.linkLink purchase orders or documents to a vendor agreementwrite
  • ramp.vendor_agreements.link_spend_requestLink a spend request to a vendor agreementwrite
  • ramp.vendor_agreements.unlinkUnlink purchase orders or documents from a vendor agreementdestructive
  • ramp.vendor_agreements.updateUpdate a vendor agreementwrite
Vendors8
  • ramp.vendors.createCreate a new vendorwrite
  • ramp.vendors.deleteDelete a vendordestructive
  • ramp.vendors.getFetch a vendorread
  • ramp.vendors.holdPlace a hold on a vendorwrite
  • ramp.vendors.listList vendorsread
  • ramp.vendors.releaseRelease Vendor Holdwrite
  • ramp.vendors.updateUpdate a vendorwrite
  • ramp.vendors.update_bank_accountsAdd to a vendor's bank account detailswrite
Accounting connection7
  • ramp.accounting_connection.createRegister a new API based accounting connectionwrite
  • ramp.accounting_connection.deleteDisconnect an accounting connectiondestructive
  • ramp.accounting_connection.getFetch an accounting connection by IDread
  • ramp.accounting_connection.get_currentFetch the current active accounting connectionread
  • ramp.accounting_connection.mark_ready_to_migrateMark an inactive accounting API based connection as ready to migratewrite
  • ramp.accounting_connection.reactivateReactivate a previously unlinked accounting connectionwrite
  • ramp.accounting_connection.updateUpdate an accounting connectionwrite
Bills7
  • ramp.bills.createCreate a billwrite
  • ramp.bills.deleteArchive a billdestructive
  • ramp.bills.getFetch a billread
  • ramp.bills.holdHold Billwrite
  • ramp.bills.listList billsread
  • ramp.bills.releaseRelease Bill Holdwrite
  • ramp.bills.updateUpdate a billwrite
Funds7
  • ramp.funds.createCreate a fundwrite
  • ramp.funds.getFetch a fundread
  • ramp.funds.listList fundsread
  • ramp.funds.suspendSuspend a fundwrite
  • ramp.funds.terminateTerminate a funddestructive
  • ramp.funds.unsuspendUnsuspend a fundwrite
  • ramp.funds.updateUpdate a fundwrite
Physical cards7
  • ramp.physical_cards.createCreate a physical cardwrite
  • ramp.physical_cards.getFetch a physical cardread
  • ramp.physical_cards.listList physical cardsread
  • ramp.physical_cards.suspendSuspend a cardwrite
  • ramp.physical_cards.terminateTerminate a carddestructive
  • ramp.physical_cards.unsuspendUnsuspend a cardwrite
  • ramp.physical_cards.updateUpdate a physical cardwrite
Accounting field options6
  • ramp.accounting_field_options.createUpload new optionswrite
  • ramp.accounting_field_options.deleteDelete a custom accounting field optiondestructive
  • ramp.accounting_field_options.getFetch a custom accounting field optionread
  • ramp.accounting_field_options.listList options for a given custom accounting fieldread
  • ramp.accounting_field_options.replaceUpdate a custom accounting field optionwrite
  • ramp.accounting_field_options.updateUpdate a custom accounting field optionwrite
Custom records custom tables rows6
  • ramp.custom_records_custom_tables_rows.append_cellsAppend cells to a Custom Tablewrite
  • ramp.custom_records_custom_tables_rows.change_external_keyChange the external key of a Custom Table rowwrite
  • ramp.custom_records_custom_tables_rows.deleteDelete rows from a Custom Tabledestructive
  • ramp.custom_records_custom_tables_rows.listList Custom Table rowsread
  • ramp.custom_records_custom_tables_rows.remove_cellsRemove cells from a Custom Tabledestructive
  • ramp.custom_records_custom_tables_rows.upsertSet values for rows of a Custom Tablewrite
Unified requests6
  • ramp.unified_requests.createCreate a procurement requestwrite
  • ramp.unified_requests.deleteDelete a procurement requestdestructive
  • ramp.unified_requests.getGet a unified requestread
  • ramp.unified_requests.listList unified requests with paginationread
  • ramp.unified_requests.submitSubmit a procurement draft requestwrite
  • ramp.unified_requests.updateEdit a procurement requestwrite
Webhooks6
  • ramp.webhooks.createCreates a new webhook subscriptionwrite
  • ramp.webhooks.deleteDelete a webhook subscription by iddestructive
  • ramp.webhooks.getGet a webhook subscription by idread
  • ramp.webhooks.listGet all webhook subscriptionsread
  • ramp.webhooks.send_mock_eventCreate a mock webhook event for active subscriptions matching the event typewrite
  • ramp.webhooks.verifyVerify a webhook subscriptionwrite
Accounting accounts5
  • ramp.accounting_accounts.createUpload general ledger accountswrite
  • ramp.accounting_accounts.deleteDelete a general ledger accountdestructive
  • ramp.accounting_accounts.getFetch a general ledger accountread
  • ramp.accounting_accounts.listList general ledger accountsread
  • ramp.accounting_accounts.updateUpdate a general ledger accountwrite
Accounting fields5
  • ramp.accounting_fields.createCreate a new custom accounting fieldwrite
  • ramp.accounting_fields.deleteDelete a custom accounting fielddestructive
  • ramp.accounting_fields.getFetch a custom accounting fieldread
  • ramp.accounting_fields.listList custom accounting fieldsread
  • ramp.accounting_fields.updateUpdate a custom accounting fieldwrite
Accounting ramp fields5
  • ramp.accounting_ramp_fields.createCreate a Ramp-only accounting fieldwrite
  • ramp.accounting_ramp_fields.deleteDelete a Ramp-only accounting fielddestructive
  • ramp.accounting_ramp_fields.getFetch a Ramp-only accounting fieldread
  • ramp.accounting_ramp_fields.listList Ramp-only accounting fieldsread
  • ramp.accounting_ramp_fields.updateUpdate a Ramp-only accounting fieldwrite
Accounting vendors5
  • ramp.accounting_vendors.createUpload vendorswrite
  • ramp.accounting_vendors.deleteDelete a vendordestructive
  • ramp.accounting_vendors.getFetch a vendorread
  • ramp.accounting_vendors.listList vendorsread
  • ramp.accounting_vendors.updateUpdate a vendorwrite
Draft bills5
  • ramp.draft_bills.createCreate a draft billwrite
  • ramp.draft_bills.getFetch a draft billread
  • ramp.draft_bills.listList draft billsread
  • ramp.draft_bills.submitSubmit a draft billwrite
  • ramp.draft_bills.updateUpdate a draft billwrite
Purchase orders5
  • ramp.purchase_orders.archiveArchive a purchase orderwrite
  • ramp.purchase_orders.createCreate a purchase orderwrite
  • ramp.purchase_orders.getFetch a purchase orderread
  • ramp.purchase_orders.listList purchase ordersread
  • ramp.purchase_orders.updateUpdate a purchase orderwrite
Accounting inventory item4
  • ramp.accounting_inventory_item.createCreate a new inventory item accounting fieldwrite
  • ramp.accounting_inventory_item.deleteDelete inventory item accounting fielddestructive
  • ramp.accounting_inventory_item.getFetch inventory item accounting fieldread
  • ramp.accounting_inventory_item.updateUpdate inventory item accounting fieldwrite
Accounting inventory item options4
  • ramp.accounting_inventory_item_options.createUpload inventory item optionswrite
  • ramp.accounting_inventory_item_options.deleteDelete an inventory item optiondestructive
  • ramp.accounting_inventory_item_options.listList inventory item optionsread
  • ramp.accounting_inventory_item_options.updateUpdate an inventory item optionwrite
Accounting tax code4
  • ramp.accounting_tax_code.createCreate a new tax code accounting fieldwrite
  • ramp.accounting_tax_code.deleteDelete tax code accounting fielddestructive
  • ramp.accounting_tax_code.getFetch tax code accounting fieldread
  • ramp.accounting_tax_code.updateUpdate tax code accounting fieldwrite
Accounting tax code options4
  • ramp.accounting_tax_code_options.createUpload tax code optionswrite
  • ramp.accounting_tax_code_options.deleteDelete a tax code optiondestructive
  • ramp.accounting_tax_code_options.listList tax code optionsread
  • ramp.accounting_tax_code_options.updateUpdate a tax code optionwrite
Accounting tax rates4
  • ramp.accounting_tax_rates.createUpload tax rateswrite
  • ramp.accounting_tax_rates.deleteDelete a tax ratedestructive
  • ramp.accounting_tax_rates.listList tax ratesread
  • ramp.accounting_tax_rates.updateUpdate a tax ratewrite
Custom records matrix tables4
  • ramp.custom_records_matrix_tables.createCreate a Matrix tablewrite
  • ramp.custom_records_matrix_tables.listList all Matrix tables for the businessread
  • ramp.custom_records_matrix_tables.list_rowsList Matrix table rowsread
  • ramp.custom_records_matrix_tables.renameChange the API name of a Matrix tablewrite
Custom records matrix tables rows4
  • ramp.custom_records_matrix_tables_rows.append_cellsAppend cells to Matrix table rowswrite
  • ramp.custom_records_matrix_tables_rows.deleteDelete a single Matrix table row by IDdestructive
  • ramp.custom_records_matrix_tables_rows.remove_cellsRemove cells from Matrix table rowsdestructive
  • ramp.custom_records_matrix_tables_rows.upsertUpsert Matrix table rowswrite
Custom records native tables rows4
  • ramp.custom_records_native_tables_rows.append_cellsAppend cells to a Native Ramp tablewrite
  • ramp.custom_records_native_tables_rows.listList Custom Column values for rows of a Native Ramp tableread
  • ramp.custom_records_native_tables_rows.remove_cellsRemove cells from a Native Ramp tabledestructive
  • ramp.custom_records_native_tables_rows.upsertSet values for rows of a Native Ramp tablewrite
Departments4
  • ramp.departments.createCreate a departmentwrite
  • ramp.departments.getFetch a departmentread
  • ramp.departments.listList departmentsread
  • ramp.departments.updateUpdate a departmentwrite
Funds members4
  • ramp.funds_members.addAdd members to a fundwrite
  • ramp.funds_members.removeRemove members from a funddestructive
  • ramp.funds_members.suspendSuspend a fund memberdestructive
  • ramp.funds_members.unsuspendUnsuspend a fund memberwrite
Item receipts4
  • ramp.item_receipts.createCreate an item receiptwrite
  • ramp.item_receipts.deleteDelete an item receiptdestructive
  • ramp.item_receipts.getFetch an item receiptread
  • ramp.item_receipts.listList item receiptsread
Locations4
  • ramp.locations.createCreate a locationwrite
  • ramp.locations.getFetch a locationread
  • ramp.locations.listList locationsread
  • ramp.locations.updateUpdate a locationwrite
Accounting field option filter rules3
  • ramp.accounting_field_option_filter_rules.createBulk create field option filter ruleswrite
  • ramp.accounting_field_option_filter_rules.deleteBulk delete field option filter rulesdestructive
  • ramp.accounting_field_option_filter_rules.listList field option filter rulesread
Accounting ramp field options3
  • ramp.accounting_ramp_field_options.createUpload new options for a Ramp-only fieldwrite
  • ramp.accounting_ramp_field_options.deleteDelete a Ramp-only field optiondestructive
  • ramp.accounting_ramp_field_options.updateUpdate a Ramp-only field optionwrite
AI spend settings3
  • ramp.ai_spend_settings.deleteReset the business's AI spend settings to defaultsdestructive
  • ramp.ai_spend_settings.getRetrieve the business's AI spend settingsread
  • ramp.ai_spend_settings.updateReplace the business's AI spend settingswrite
Memos3
  • ramp.memos.createUpload a new memo for a transactionwrite
  • ramp.memos.getFetch a transaction memoread
  • ramp.memos.listList memosread
Purchase orders line items3
  • ramp.purchase_orders_line_items.createAdd line items to an existing purchase orderwrite
  • ramp.purchase_orders_line_items.deleteDelete a single line item from an existing purchase orderdestructive
  • ramp.purchase_orders_line_items.updateUpdate a single line item on an existing purchase orderwrite
Receipt integrations opt out3
  • ramp.receipt_integrations_opt_out.createAdd a new email to receipt integrations opt-out listwrite
  • ramp.receipt_integrations_opt_out.deleteRemove an email from receipt integration opt-out listdestructive
  • ramp.receipt_integrations_opt_out.getList emails opted out of receipt integrationsread
Spend programs3
  • ramp.spend_programs.createCreate a spend programwrite
  • ramp.spend_programs.getFetch a spend programread
  • ramp.spend_programs.listList spend programsread
Transactions3
  • ramp.transactions.getFetch a transactionread
  • ramp.transactions.listList transactionsread
  • ramp.transactions.updateSplit a transaction into line items, or update an existing splitwrite
Vendor bank accounts3
  • ramp.vendor_bank_accounts.archiveArchive a vendor bank accountwrite
  • ramp.vendor_bank_accounts.getFetch a vendor bank accountread
  • ramp.vendor_bank_accounts.listList vendor bank accountsread
Vendor contacts3
  • ramp.vendor_contacts.createCreate a vendor contactwrite
  • ramp.vendor_contacts.getFetch a vendor contactread
  • ramp.vendor_contacts.listList vendor contacts for vendorread
Vendor credits3
  • ramp.vendor_credits.getFetch a vendor creditread
  • ramp.vendor_credits.listList all vendor credits for all vendors of a businessread
  • ramp.vendor_credits.list_for_vendorList vendor credits by vendorread
AI spend tagging settings2
  • ramp.ai_spend_tagging_settings.getRetrieve the business's Ramp Router semantic tagging settingsread
  • ramp.ai_spend_tagging_settings.updateReplace the business's Ramp Router semantic tagging settingswrite
Applications2
  • ramp.applications.createCreate a financing applicationwrite
  • ramp.applications.getFetch a financing applicationread
Approvals2
  • ramp.approvals.add_stepAdd an approver to an approval instancewrite
  • ramp.approvals.listList approval data for a set of Transactions, Reimbursements, or Billsread
Bank accounts2
  • ramp.bank_accounts.getGet bank account detailsread
  • ramp.bank_accounts.listList bank accountsread
Banking accounts2
  • ramp.banking_accounts.balance_historyGet balance history for a banking accountread
  • ramp.banking_accounts.listList banking accountsread
Bills associations2
  • ramp.bills_associations.createAssociate Billswrite
  • ramp.bills_associations.deleteRemove Bill Associationdestructive
Cards vault2
  • ramp.cards_vault.createCreate a spend limit and retrieve sensitive card detailswrite
  • ramp.cards_vault.getFetch a card's sensitive detailsread
Cashbacks2
  • ramp.cashbacks.getFetch a cashback paymentread
  • ramp.cashbacks.listList cashback paymentsread
Comments2
  • ramp.comments.createCreate a comment on an object's discussion threadwrite
  • ramp.comments.listList comments on an object's discussion threadread
Custom records configure custom tables columns2
  • ramp.custom_records_configure_custom_tables_columns.createCreate Custom Table columnwrite
  • ramp.custom_records_configure_custom_tables_columns.updateChange the API name of a Custom Table's Columnwrite
Custom records configure native tables columns2
  • ramp.custom_records_configure_native_tables_columns.createCreate Native Ramp table fieldwrite
  • ramp.custom_records_configure_native_tables_columns.updateChange the API name of a Native Table's Custom Record Columnwrite
Custom records matrix tables columns2
  • ramp.custom_records_matrix_tables_columns.createAdd a result column to an existing Matrix tablewrite
  • ramp.custom_records_matrix_tables_columns.updateChange the API name of a Matrix table column (input or result)write
Entities2
  • ramp.entities.getGet a business entityread
  • ramp.entities.listList business entitiesread
Receipts2
  • ramp.receipts.getFetch a receiptread
  • ramp.receipts.listList receiptsread
Reimbursements2
  • ramp.reimbursements.getFetch a reimbursementread
  • ramp.reimbursements.listList reimbursementsread
Statements2
  • ramp.statements.getFetch a statementread
  • ramp.statements.listList statementsread
Transfers2
  • ramp.transfers.getFetch a transfer paymentread
  • ramp.transfers.listList transfer paymentsread
Trips2
  • ramp.trips.getFetch a tripread
  • ramp.trips.listList all trips for the businessread
Vault cards2
  • ramp.vault_cards.create_deprecatedCreate a spend limit and retrieve sensitive card detailswrite
  • ramp.vault_cards.get_deprecatedFetch a card's sensitive detailsread
Virtual cards2
  • ramp.virtual_cards.getFetch a virtual cardread
  • ramp.virtual_cards.listList virtual cardsread
Accounting all connections1
  • ramp.accounting_all_connections.getFetch all accounting connections for the current businessread
Accounting codings1
  • ramp.accounting_codings.upsertPost accounting coding selections to an objectwrite
Accounting entities1
  • ramp.accounting_entities.createUpload entitieswrite
Accounting ready to sync1
  • ramp.accounting_ready_to_sync.markMark objects as ready to sync to your accounting providerwrite
Accounting syncs1
  • ramp.accounting_syncs.reportPost sync statuswrite
AI spend API keys1
  • ramp.ai_spend_api_keys.listList provider API keys and their estimated spendread
AI spend team1
  • ramp.ai_spend_team.listList Ramp users with estimated AI spend during the requested periodread
AI spend usage1
  • ramp.ai_spend_usage.listList AI usage and estimated spend grouped by the requested dimensionsread
Audit logs events1
  • ramp.audit_logs_events.listGet audit log eventsread
Banking syncable transactions1
  • ramp.banking_syncable_transactions.listList syncable banking transactionsread
Blank canvas approvals1
  • ramp.blank_canvas_approvals.decideApprove or reject a blank canvas workflow stepwrite
Blank canvas approvals metadata1
  • ramp.blank_canvas_approvals_metadata.updateUpdate metadata for a blank canvas external approval requestwrite
Business1
  • ramp.business.getFetch the company informationread
Business balance1
  • ramp.business_balance.getFetch the company balance informationread
Custom form collections responses1
  • ramp.custom_form_collections_responses.getFetch a custom form collection response by IDread
Custom records configure custom tables1
  • ramp.custom_records_configure_custom_tables.createCreate Custom Tablewrite
Custom records configure native tables1
  • ramp.custom_records_configure_native_tables.createExtend Native Ramp tablewrite
Custom records custom tables1
  • ramp.custom_records_custom_tables.listList Custom Tablesread
Custom records custom tables columns1
  • ramp.custom_records_custom_tables_columns.listList Custom Table columnsread
Custom records native tables1
  • ramp.custom_records_native_tables.listList Native Ramp tablesread
Custom records native tables columns1
  • ramp.custom_records_native_tables_columns.listList Custom Columns for a Native Ramp tableread
Embedded cards1
  • ramp.embedded_cards.embedCreate an embed init token for a cardwrite
Merchants1
  • ramp.merchants.listList merchantsread
Reimbursements mileage1
  • ramp.reimbursements_mileage.createCreate a mileage reimbursementwrite
Repayments1
  • ramp.repayments.listList repaymentsread
Roles1
  • ramp.roles.listList custom rolesread
Spend programs workflow nodes1
  • ramp.spend_programs_workflow_nodes.getList External Approval Request nodes for a spend programread
Unified requests attachments1
  • ramp.unified_requests_attachments.listList attachments on a procurement requestread
Vendor children1
  • ramp.vendor_children.listList child vendors of a parent vendorread

Questions

The Ramp MCP server, answered.

Is there a Ramp MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 256 Ramp actions across users, vendor agreements, vendors and accounting connection, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Ramp.

What do I need to connect Ramp?

Ramp client ID and Ramp client secret (shown with the client ID in the app's settings). Plus your scopes and your tenant host. The free call account { op: "connections.requirements", service: "ramp" } lists exactly what to paste.

Can an AI agent delete or change things in Ramp?

Only if its key allows it, and only with an explicit confirmation. 34 Ramp actions are destructive, including archive a bill, delete a general ledger account and delete a vendor. 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 Ramp API limit?

actionlake paces every call to the limits in the Ramp service file: 200 calls per 10 seconds per connection. Repeated reads are answered from cache (107 Ramp actions can be), which never reaches Ramp.

What does a Ramp action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (256 Ramp actions page). Cache hits, searches, dry runs and calls Ramp 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 Ramp API does it cover?

The Ramp Developer API v1 (OpenAPI 3.0.2) at api.ramp.com/developer/v1 by default, or the base URL set when you connect. It is built from Ramp's documentation as read on 22 October 2026. 256 actions in 89 areas, each one in the signed service file (version 1.0.0).

Can I combine Ramp with my other systems?

Yes. ask joins Ramp to ConnectWise PSA or HubSpot CRM on the same customer and returns the answer rather than every row. Ramp maps crm.company, which 227 other connectors also map.

Does actionlake keep my Ramp 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 Ramp 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 Ramp today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.