Secure Ramp access for AI agents
Manage corporate cards, transactions, reimbursements, bills, purchase orders, funds, vendors, treasury accounts, and travel bookings, plus run spend analytics, using Ramp's official MCP server.
Through Ramp, agents can work your spend-management platform — corporate cards, transactions, employee reimbursements, bills and invoices, purchase orders and procurement requests, funds and budgets, vendor records and contracts, treasury accounts, travel bookings, and spend analytics — using Ramp's official hosted MCP server. Every call runs through your policies and is logged for audit.
Server URL: https://mcp.ramp.com/mcp
Before you begin
- A Ramp account that can reach the spend data your agents need. Ramp supports dynamic client registration, so there is no OAuth app to create on Ramp's side.
- Administrator access to your SecureAuth Agent Authority workspace, to add the resource.
Setup
- Navigate to Resources and click Add Resource
- Select Ramp from the catalog
- Choose Per-org dynamic registration, the only mode Ramp offers — picking the card installs the resource with all tools pre-configured
When you save, the gateway sends you to Ramp to sign in (through your SSO, if configured) and click Approve. Review the permissions on the next page and authorize. You return to the gateway with your Ramp account connected.
Access is per user. Each additional user connects their own Ramp account the first time their agent calls a Ramp tool: the gateway returns a sign-in link, the user authorizes once, and the tools work from then on. Navigate to Connections to manage linked accounts.
Ramp's own role-based permissions (cardholder, manager or approver, admin) still apply — the gateway never widens access beyond what the authorizing user could already do in Ramp, it only narrows it.
Verify the connection
After you save, the gateway syncs the available Ramp tools automatically. To confirm the connection works end to end, ask your agent to run a request, for example:
Ramp list usersIf your users come back, the connection is working.
Dynamic client registration
This is the mode card labeled Per-org dynamic registration on the Ramp configure page. No app needs creating on Ramp's side and no client ID or secret to enter: the gateway registers an OAuth client with Ramp per organization at install time.
Available tools
Ramp exposes a large tool surface (130 tools). They're grouped below by area.
Cards
| Tool | Description |
|---|---|
ramp_activate_card | Activate a physical or virtual card |
ramp_lock_or_unlock_card | Lock or unlock a card |
ramp_unlock_fraud_locked_card | Unlock a card that was locked due to suspected fraud |
ramp_get_decline_explanation | Explain why a transaction was declined |
ramp_limit_increase | Increase the spending limit on a fund or card |
ramp_update_transaction_amount_limit | Update the per-transaction limit on a fund or card |
ramp_enroll_business_in_agent_cards | Enroll the business in agent cards for agentic commerce |
ramp_get_agent_card_creds | Get a one-time payment token for a fund |
ramp_get_agent_card_funds | List funds eligible for agent card payments |
ramp_pay_with_x402 | Pay an x402 payment request from the stablecoin balance |
Transactions
| Tool | Description |
|---|---|
ramp_get_transactions | Search and retrieve card transactions |
ramp_get_full_transaction_metadata | View all details, memos, funds, and receipts for a transaction |
ramp_get_transaction_missing_items | Check what's missing from a transaction (receipt, memo, coding) |
ramp_get_transaction_suggested_memos | Get AI-suggested memos for a transaction |
ramp_edit_transaction | Edit a transaction's memo, funds, category, trip, or attendees |
ramp_split | Split a transaction into line items, or update an existing split |
ramp_approve_or_reject_transaction | Approve, reject, or request repayment on a transaction |
ramp_request_transaction_repayment | Ask a cardholder to repay a transaction (reviewer action) |
ramp_mark_transaction_missing_receipt | Flag a transaction as having no receipt |
ramp_provide_no_receipt_reason | Provide a reason why a transaction has no receipt |
ramp_upload_receipt_file | Upload a receipt from base64 file content |
ramp_mark_ready_to_sync | Mark transactions as ready to sync to the accounting provider |
ramp_get_candidate_trips_for_transaction | Find trips that could be related to a transaction |
ramp_search_merchants | Search for merchants by name |
ramp_merchant_categories | List available spend categories |
Reimbursements
| Tool | Description |
|---|---|
ramp_get_reimbursements | Search and retrieve reimbursements |
ramp_search_reimbursements | Search reimbursements across the business |
ramp_search_user_reimbursements | Search reimbursements with text and structured filters |
ramp_get_user_recent_reimbursements | Get the current user's recent reimbursement history |
ramp_get_reimbursements_for_approval | Get reimbursements pending the current user's approval |
ramp_approve_or_reject_reimbursement | Approve or reject an employee reimbursement |
ramp_create_reimbursement_from_receipt | Create a draft reimbursement from an uploaded receipt |
ramp_edit_reimbursement | Edit fields on a draft/existing reimbursement |
ramp_duplicate_reimbursement | Duplicate an existing reimbursement as a new draft |
ramp_submit_reimbursement | Submit a draft reimbursement for approval |
ramp_resubmit_reimbursement | Revert a rejected reimbursement to draft |
ramp_cancel_reimbursement_payment | Cancel a pending reimbursement payout |
ramp_get_reimbursement_receipts | Retrieve receipts attached to a reimbursement |
ramp_get_outstanding_reimbursements_by_currency | List reimbursements affected by a currency change |
ramp_estimate_mileage_reimbursement | Estimate a mileage reimbursement amount |
ramp_estimate_per_diem_amount | Estimate a per diem reimbursement amount |
Bills & invoices
| Tool | Description |
|---|---|
ramp_list_bills | List and filter bills |
ramp_search_bills | Search for bills by vendor, amount, or invoice number |
ramp_get_bill_details | Get comprehensive details on a submitted bill |
ramp_get_draft_bill_details | Get details on a draft (not yet submitted) bill |
ramp_get_bill_status | Get the payment/approval status of a bill |
ramp_get_bill_history | Get a bill's full modification/approval history |
ramp_get_bill_comments | Retrieve a bill's comment thread |
ramp_get_bill_invoices | Retrieve invoice file attachments for a bill |
ramp_get_bill_amount_summary | Get aggregate dollar amounts for bills matching filters |
ramp_get_bill_metrics | Get the count of bills matching filters |
ramp_get_bills_for_approval | Get bills pending the current user's approval |
ramp_get_recurring_bill | Get details on a recurring bill template |
ramp_post_comment | Post a comment on a bill (or other Ramp object) |
Purchase orders & procurement
| Tool | Description |
|---|---|
ramp_search_purchase_orders | Search purchase orders with structured filters |
ramp_get_purchase_order_details | Get comprehensive details on a purchase order |
ramp_ramp_bulk_close_purchase_orders | Close one or more purchase orders |
ramp_ramp_bulk_reopen_purchase_orders | Reopen one or more closed purchase orders |
ramp_procurement_requests_draft | Create or update a procurement request draft |
ramp_procurement_requests_get | Refresh a procurement draft's current form state |
ramp_procurement_requests_delete | Delete an abandoned procurement draft |
ramp_procurement_submit | Submit a procurement draft for approval |
ramp_procurement_spend_intents | List procurement spend programs available to draft against |
ramp_search_unified_requests | Search purchase orders, fund requests, and approval requests |
ramp_get_unified_request_details | Get detailed information on a unified request |
ramp_get_requests_to_review | Get requests pending the current user's review |
ramp_approve_or_reject_request | Approve or reject a unified request (fund/PO/procurement) |
Funds, treasury & accounts
| Tool | Description |
|---|---|
ramp_get_funds | Retrieve funds (cards/budgets) for the user or others |
ramp_issue_one_off_funds | Issue new funds directly, bypassing approval flows |
ramp_request_funds | Request funds for a banking account |
ramp_lock_or_unlock_spend_allocation | Lock or unlock a fund at the fund level |
ramp_lock_or_unlock_spend_allocation_member | Lock or unlock one member's access to a fund |
ramp_update_category_restrictions | Update a fund's category whitelist/blacklist |
ramp_update_merchant_restrictions | Update a fund's merchant whitelist/blacklist |
ramp_answer_policy_question | Answer a question about expense policy or fund restrictions |
ramp_list_business_accounts | List Ramp Checking Accounts for the business |
ramp_list_treasury_accounts | List all Treasury accounts (checking, investment, portfolios) |
ramp_get_ramp_business_account_balance | Get Ramp Checking Account balances |
ramp_get_investment_account_balance | Get investment account balances |
ramp_get_managed_portfolio_account_balance | Get managed portfolio account balances |
ramp_get_account_balance_history | Get daily balance history for a checking account |
ramp_get_treasury_balance_history | Get daily balance history across all treasury accounts |
ramp_list_wallet_transfers | List deposits, withdrawals, and other wallet transfers |
ramp_accounts | List connected bank accounts |
ramp_create | Create a manually connected bank account |
ramp_account_numbers | List agent account numbers |
Vendors, contracts & tracking
| Tool | Description |
|---|---|
ramp_search_vendors | Search for vendors (payees) by name |
ramp_create_pending_payee | Create a pending vendor/payee record |
ramp_get_vendor_agreement | Get details on a specific vendor agreement/contract |
ramp_list_vendor_agreements | List and filter vendor agreements/contracts |
ramp_get_vendor_document_bulk_status | Get bulk vendor document upload/review status |
ramp_get_tracking_categories | List active accounting tracking categories |
ramp_get_tracking_category_options | List options for a tracking category |
ramp_departments | List company departments |
ramp_get_org_chart | Get a user's org chart (manager, reports) |
ramp_list_users | Search users across the business |
ramp_get_simplified_user_detail | Get the current user's own details |
ramp_search_user | Match a name to a Ramp user for adding as an attendee |
Travel
| Tool | Description |
|---|---|
ramp_get_bookings | Retrieve flight, hotel, and car rental bookings |
ramp_get_booking_details | Get detailed status for one booking |
ramp_create_trip | Create a new trip |
ramp_get_user_trips | Fetch trips for the acting user |
ramp_get_flight_booking_locations | Resolve airports/cities available for flight booking |
ramp_search_flights | Search flights and return policy-tagged offers |
ramp_submit_flight_booking | Preview and confirm a flight booking |
ramp_search_hotel | Search hotels via the canonical Ramp inventory |
ramp_get_hotel_rates | Get room-rate options for a selected hotel |
ramp_submit_hotel_booking | Preview and confirm a hotel booking |
ramp_get_traveler_profile | Retrieve traveler identity/contact profile details |
ramp_update_traveler_profile | Update traveler identity/contact profile details |
ramp_list_traveler_loyalty_programs | List saved traveler loyalty programs |
ramp_set_traveler_loyalty_program | Set a loyalty program on the traveler profile |
ramp_update_traveler_loyalty_program | Update a saved loyalty program by ID |
ramp_add_traveler_loyalty_program | Add a traveler loyalty program (compatibility route) |
ramp_remove_traveler_loyalty_program | Remove a saved loyalty program |
Analytics & AI spend
| Tool | Description |
|---|---|
ramp_execute_analyst_query | Run read-only SQL for aggregate business analysis |
ramp_get_analyst_catalog | Discover available analyst tables and starter SQL |
ramp_get_analyst_metric_metadata | Discover supported analyst metrics |
ramp_get_analyst_table_domain_docs | Read domain docs for an analyst table |
ramp_get_analyst_spend_facts_domain_docs | Read domain docs for the spend_facts table |
ramp_get_attention_feed | Get the homepage attention feed (approvals, missing items) |
ramp_get_ai_token_spend_aggregates | Aggregate AI token usage/cost across dimensions |
ramp_get_my_ai_token_spend_aggregates | Aggregate the acting user's own AI token spend |
ramp_get_ai_token_spend_current_spend | Report actual Ramp spend on AI vendors (trailing 30 days) |
ramp_get_ai_token_spend_connections | Summarize which AI providers are connected |
ramp_get_ai_token_spend_filter_options | List filter/group-by dimensions for AI-spend aggregates |
Admin & misc
| Tool | Description |
|---|---|
ramp_get_more_tools | Report a missing capability to Ramp |
ramp_token_info | Get auth level, granted scopes, and unavailable tools |
ramp_search_help_center_snippets | Semantic search over Ramp's help center docs |
submit_feedback | Submit feedback about the Ramp MCP server itself |
Required scopes
Nothing needs configuring on the gateway side. Ramp publishes a granular scope list (cards:read, transactions:write, reimbursements:write, and around forty more), but the connector pre-declares none of them: Ramp resolves the level at authorization time and then enforces the authenticated user's own role-based permissions.
A user who wants to see what their connection actually got can ask their agent to call ramp_token_info, which reports the auth level, the granted scopes, and any tools that are unavailable as a result.
Policy examples
Read-only spend visibility — allow lookups, deny everything that reads or moves money forward:
Allow - MCP: ramp - Tools: ramp_get_*, ramp_list_*, ramp_search_* - Effect: Allow
Deny - MCP: ramp - Tools: * - Effect: DenyApprovals without money movement — let an approver work the queue without being able to issue funds, move money, or touch cards:
Allow - MCP: ramp - Tools: ramp_approve_or_reject_reimbursement, ramp_approve_or_reject_request, ramp_approve_or_reject_transaction - Effect: Allow
Deny - MCP: ramp - Tools: ramp_issue_one_off_funds, ramp_request_funds, ramp_pay_with_x402, ramp_activate_card, ramp_lock_or_unlock_card, ramp_lock_or_unlock_spend_allocation, ramp_lock_or_unlock_spend_allocation_member - Effect: Deny