Invoicing & freelance CRM
Dubsado
Projects, proposals, contracts and invoices for creative businesses.
14 endpoints
Expensify has no API to attach receipts, submit reports or approve them. Sign in to Expensify once in your own Cloud Browser, and your AI agent does the work there for you. The same tools work over MCP for agents and as a REST API for scripts.
Not affiliated with Expensify.
| What you need | Expensify's API | GitHub MCP server | Cotlet |
|---|---|---|---|
| Receipts, report submission, approvals | No | Partly | Yes, 14 tools |
| Acts as you, signed in 24/7 | No | No | Yes, Cloud Browser |
| Fixed for you when Expensify changes | N/A | No | Yes, tested every 6h |
| Runs with your laptop off | N/A | No | Yes, hosted |
Checked Oct 14, 2026. Sources: Expensify blog: the Expensify MCP server (24 Jun 2026) · Expensify Integration Server: getting started · Expensify Integration Server: API reference · Expensify on Zapier: triggers and actions
AI agents connect over MCP, scripts call the REST API. Both reach the same 14 tools with one API key.
Add Cotlet to your agent once. Expensify and every other app you connect show up as its tools.
claude mcp add --transport http cotlet \
https://cotlet.dev/mcp/v1 \
--header "Authorization: Bearer $COTLET_API_KEY" {
"mcpServers": {
"cotlet": {
"url": "https://cotlet.dev/mcp/v1",
"headers": {
"Authorization": "Bearer ${COTLET_API_KEY}"
}
}
}
} # ~/.codex/config.toml
[mcp_servers.cotlet]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY" Paste the snippet for your client. The same server and key serve every app you connect, so you do this once.
Every tool is an endpoint under /api/v1/expensify with its own method and path, such as POST /api/v1/expensify/expenses, with the same API key. Our open-source repo has ready scripts to start from.
14 tools on your own Expensify account. Agents call them as operations of the MCP tools expensify_read and expensify_write; scripts call each one at its own REST endpoint, with the same inputs and answers.
| Tool | What it does | Access |
|---|---|---|
| list_workspaces | Workspaces your Expensify account belongs to, with your role in each. | read |
| get_workspace | Categories, tags and approval setup of one workspace. | read |
| list_reports | Reports with status, total, submitter and approver, newest first. | read |
| get_report | One report with its expenses, receipts, holds and comments. | read |
| list_expenses | Expenses with merchant, amount, category, receipt flag and report, newest first. | read |
| get_expense | One expense with all fields, the receipt link and its report. | read |
| export_report | A report as CSV or PDF, with an expense-level or report-level template. | read |
| create_expense | Creates an expense in a workspace with merchant, date, amount, currency and category. | writeasks first |
| attach_receipt | Adds a receipt image or file to an expense, or replaces the one on it. | write |
| create_report | Creates an empty draft report in a workspace. | write |
| add_expense_to_report | Puts an existing expense of yours on a draft report. | write |
| submit_report | Submits a draft report to the workspace approval workflow. | writeasks first |
| approve_report | Approves a submitted report you are the approver for. | writeasks first |
| reject_report | Sends a submitted report back to its submitter with a comment. | writeasks first |
Scroll the table for all 14 tools.
You sign in yourself in your own Cloud Browser, we never save your password, and anything that reaches your readers waits for your OK. The browser profile is encrypted in the EU. Independent scanners grade cotlet.dev A+.
One price for both: a tool call costs the same over MCP or REST. Free 7-day trial with 2,000 credits, no card needed. Then one-time credit packs, no subscription, valid 12 months. Each call uses 10 credits, and your Cloud Browser uses 50 credits a day while Expensify is enabled for agents, so 20 calls a day come to 250 credits.
| Credits | Price, one time | Calls at 10 credits | Per 1,000 credits |
|---|---|---|---|
| 5,000 | $29 | 500 | $5.80 |
| 15,000 | $79 | 1,500 | $5.27 |
| 32,000 | $149 | 3,200 | $4.66 |
| 60,000 | $249 | 6,000 | $4.15 |
Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.
Yes, but it is narrow (checked 14 Oct 2026). Expensify's Integration Server API creates expenses, creates reports (domain and policy admins, after enablement) and exports reports, with credentials you generate yourself. It has no job that submits or approves a report, and Expensify's own MCP server at expensify.com/mcp is read-only: it exposes a Search tool only.
Sign up free, open Expensify under Integrations in the console and press Request access. Your free trial starts with your account, no card needed.
No, only the way in. Cotlet builds each integration as a REST API and puts an MCP server on top, so both have the same 14 tools, the same inputs and answers, one API key and one price. AI agents such as Claude, ChatGPT or Cursor use MCP; scripts, cron jobs and HTTP steps in n8n, Make or Zapier use the REST API.
Your own Chrome that Cotlet runs for you in the EU, around the clock. You open it from the console, sign in to Expensify yourself and press Enable for agents. Your agent's calls go through it, from its IP with its cookies, so Expensify sees the browser you signed in with. Password saving is off and the profile is stored encrypted with AES-256-GCM.
Not on anything that reaches other people: create_expense, submit_report, approve_report, reject_report wait for your OK by default. You can switch that off per tool for scheduled runs.
No for creating expenses and submitting your own reports: any member can. Approving needs you to be the assigned approver, or a Workspace Admin who bypasses the workflow, and Expensify blocks an admin from approving their own report when Prevent Self-Approval is on.
Pick one if you want the code on your own computer and do not mind the upkeep: you install it, sign it in and fix it when Expensify changes. Pick Cotlet if you want it hosted and kept working for you.
Yes. Add https://cotlet.dev/mcp/v1 in n8n's MCP Client node, or call the REST endpoints from an HTTP step in Make or Zapier.
Cotlet is run by Take Group, a Polish software company working since 2019. Take Group runs about 3,200 websites on its own systems and has its own DevOps team for infrastructure security. We built and used integrations like this inside the company for years before opening them as Cotlet.
No. Cotlet is independent and not affiliated with Expensify.
Free 7-day trial with 2,000 credits, no card needed.
May we use Google Analytics to see which pages help people? It sets cookies only if you accept. No ads, and we never sell data. Cookie policy