MCP Directory

Ramp MCP Server

Retrieve and analyze Ramp finance data (transactions, bills, reimbursements) via an in-memory SQLite ETL pipeline.

Unverified
stdio (local)
API key
Stale
Python

Add to your client

Copy the config for your MCP client and paste it into its config file.

Install / run
git clone git@github.com:ramp/ramp-mcp.git

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "ramp-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/<ABSOLUTE-PATH-TO>/ramp-mcp",
        "run",
        "ramp-mcp",
        "-s",
        "transactions:read,reimbursements:read"
      ],
      "env": {
        "RAMP_CLIENT_ID": "<CLIENT_ID>",
        "RAMP_CLIENT_SECRET": "<CLIENT_SECRET>",
        "RAMP_ENV": "<demo|qa|prd>"
      }
    }
  }
}

Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf

Before you start

  • A Ramp account with Developer API access (create a client under Profile > Developer > Create app)
  • A Ramp client ID and secret with client credentials enabled and the desired scopes granted
  • uv (Astral) installed
  • The repository cloned locally (run via uv --directory)

About Ramp MCP Server

An official Ramp MCP server that lets an LLM retrieve and analyze Ramp finance data through the Ramp Developer API. It runs a lightweight ETL pipeline into an ephemeral in-memory SQLite database so that large datasets can be loaded and then queried with SQL, working around token and input-size limits. Tools are split into database management, direct reference-data fetches, and per-resource load tools that each require a corresponding Ramp OAuth scope.

Tools & capabilities (17)

process_data

Set up and process data into the ephemeral in-memory SQLite database for analysis.

execute_query

Run a SQL query against the ephemeral in-memory database.

clear_table

Delete/clear a table from the ephemeral in-memory database.

get_ramp_categories

Fetch Ramp expense categories directly.

get_currencies

Fetch supported currencies directly.

load_transactions

Load transactions into the database (requires transactions:read scope).

load_reimbursements

Load reimbursements into the database (requires reimbursements:read scope).

load_bills

Load bills into the database (requires bills:read scope).

load_locations

Load locations into the database (requires locations:read scope).

load_departments

Load departments into the database (requires departments:read scope).

load_bank_accounts

Load bank accounts into the database (requires bank_accounts:read scope).

load_vendors

Load vendors into the database (requires vendors:read scope).

load_vendor_bank_accounts

Load vendor bank accounts into the database (requires vendors:read scope).

load_entities

Load entities into the database (requires entities:read scope).

load_spend_limits

Load spend limits into the database (requires limits:read scope).

load_spend_programs

Load spend programs into the database (requires spend_programs:read scope).

load_users

Load users into the database (requires users:read scope).

What this server can do

Ramp MCP Server provides tools for these capabilities — tap one to see every MCP server that does the same:

When to use it

  • Analyze Ramp transactions and spend with natural-language questions answered via SQL over an in-memory database
  • Audit reimbursements, bills, and vendor data without manually exporting reports
  • Break down spend by department, location, or entity for finance reporting
  • Review spend limits and spend programs across the organization

Security notes

Uses Ramp Developer API client-credentials auth: set RAMP_CLIENT_ID and RAMP_CLIENT_SECRET in the config env. Grant only the OAuth scopes you need on the Ramp client and pass the matching comma-separated scopes via the -s flag. Defaults to the demo environment (RAMP_ENV=demo); set RAMP_ENV=prd to operate on real production financial data.

Ramp MCP Server FAQ

Does it hit my real Ramp data by default?

No. All requests go to the demo environment by default. Set RAMP_ENV=prd to use production data.

How does it handle large datasets?

It uses an ETL pipeline into an ephemeral in-memory SQLite database so the LLM can query with SQL instead of loading everything into context. Very large datasets may still be unprocessable due to API/client limits; prompt the model to avoid the REPL and keep responses concise to avoid timeouts.

Why do some load tools fail?

Each load tool requires a specific Ramp OAuth scope (e.g. transactions:read). Enable the scope on your Ramp client and include it in the comma-separated -s CLI argument when starting the server.

Is this an official Ramp project?

Yes. It is published under the ramp-public GitHub organization and copyrighted by Ramp Business Corporation under the MIT License.

Alternatives to Ramp MCP Server

Compare all alternatives →

Official Stripe server for payments, customers, subscriptions, invoices, and billing via natural language.

Featured
Verified
stdio (local)
API key
TypeScript
12 tools
Updated 1 month agoRepo

Coinbase's AgentKit MCP extension for onchain actions: transfers, swaps, and contract calls.

Verified
stdio (local)
API key
TypeScript
9 tools
Updated 1 month agoRepo

Alpaca's official trading server for stocks, ETFs, options, and crypto in plain English.

Verified
stdio (local)
API key
Python
12 tools
Updated 1 month agoRepo