Ramp's API returns far more than a conversation can hold, so this loads the rows into a local database and lets you ask for the answer in SQL. The scopes you grant the client are exactly the data you can load, and the database goes away with the session.
An ETL step in front of the Ramp Developer API: load transactions, bills, reimbursements and the reference tables around them into an ephemeral in-memory SQLite database, then run queries against that.
- Transactions, reimbursements and bills loaded into local tables
- Reference data alongside them — vendors and their bank accounts, users, departments, locations, entities, spend limits and spend programs
- SQL over whatever you loaded, so aggregation happens locally rather than through the API
- Ramp's own category list and supported currencies fetched directly
- Table setup, processing and teardown under your control
Uv, and a Ramp developer client with client credentials enabled — its id and secret go on the launch command; each load tool needs its own scope granted on the client and named at startup. Requests go to the demo environment unless you switch it to prd for live data.
One command plus a key — uvx ramp-mcp, then supply credentials
