Connect Your AI Assistant to ExpenseBot
The first Gmail-native expense MCP server. Use Claude Desktop, Cursor, or any MCP-compatible AI assistant to search receipts, submit photos, scan Gmail, and analyze spending using your actual ExpenseBot account — with your Google Sheet as the source of truth.
60-day free trial · No credit card · Token issued in 10 seconds
What is the ExpenseBot MCP server?
MCP — the Model Context Protocol — is an open standard that lets AI assistants plug into outside tools and data using one consistent interface. Instead of every product building a one-off Claude plugin or ChatGPT plugin, the product publishes an MCP server and any MCP-compatible client speaks to it. Anthropic introduced the protocol in late 2024; it now ships natively in Claude Desktop, Cursor, Continue, and a growing list of clients.
ExpenseBot publishes two MCP servers on npm. The first, @expensebot/mcp-server, is read-only and unauthenticated — it exposes the public knowledge base and feature documentation so an AI assistant can answer "what is ExpenseBot?" or "does it work with Sage 50 Canada?" without any login. Useful for evaluation and for AI agents that want to cite our capabilities. The second, @expensebot/mcp-server-auth, is the full account-scoped version: 21 tools across search, capture, Gmail scan, reports, and analytics, all gated behind a personal access token you generate in Settings. This is the one most users want — it talks to your actual receipts, your actual Google Sheet, and your actual spending history. Both are listed on the official MCP Registry and ship under the verified publisher namespace.
What can my AI assistant do?
Once connected, you can ask in plain English. Some example prompts that all work today:
- "Find every Uber receipt I expensed last quarter."
- "Submit this photo as a $42 client lunch yesterday." (drag a photo into Claude)
- "Scan my Gmail for new receipts from the last 30 days."
- "What were my top 5 software vendors in Q1?"
- "Generate a Schedule C report for 2025 and share it with my accountant."
- "I paid $80 cash for parking at the airport — log it."
- "Run a deep analytics report and surface anything unusual."
Behind the scenes, those prompts route to one of 21 tools exposed by the authenticated server, grouped into six categories:
submit_receipt, add_cash_expense, add_mileage_entry, add_income, parse_expenseprocess_gmail_receipts, scan_gmailsearch_expenses, list_categories, list_tags, search_knowledgecreate_report, list_reports, get_report_details, share_reportget_spending_summary, get_deep_analytics, check_compliance, fix_compliance, check_tax_deductibilityget_signup_linkYou don't call these tools by name — Claude picks the right one based on what you ask. The list is here so you know what's possible. Power users link the MCP from their freelancer workflow so their AI assistant becomes the front-end for bookkeeping.
How to connect it (3 minutes)
- Generate a token. In ExpenseBot, go to Settings → AI Assistant Tokens → Generate. Copy the token — it's shown once. Tokens are scoped to your account and can be revoked any time.
- Add to Claude Desktop config. Open the config file in any text editor:
- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Paste this block (replace the token):
{ "mcpServers": { "expensebot": { "command": "npx", "args": ["-y", "@expensebot/mcp-server-auth"], "env": { "EXPENSEBOT_TOKEN": "your-personal-access-token-here" } } } }Just want the read-only docs server? No token needed:
{ "mcpServers": { "expensebot-docs": { "command": "npx", "args": ["-y", "@expensebot/mcp-server"] } } } - Mac:
- Restart Claude Desktop and test. Fully quit and reopen Claude. Try "show me my top 5 software vendors last quarter". Claude will ask permission to run the
get_spending_summarytool — approve once, and the integration is live.
Why use AI Assistant access?
- Faster than the dashboard for ad-hoc questions. "What did I spend at Costco last month?" is one sentence in Claude versus four clicks in the UI.
- No app switching. If you live in Claude or Cursor for writing and code, your expense answers come to you.
- Conversational receipt submission. Drag a photo into chat, say what it was for, and it lands as a row in your sheet — categorized, with vendor and total extracted.
- Complex analytics in natural language.
get_deep_analyticssurfaces top vendors, anomalies, month-over-month deltas and unusual spend without you writing a single SQL query or pivot table. - Cash entry by description. "$80 cash for airport parking yesterday" becomes a properly tagged cash expense with date, amount, category, and notes.
Security & token model
Personal access tokens (PATs) are the one credential the MCP server cares about. Each token is scoped to your account only — it can't read another user's data, even if leaked. Tokens have a configurable expiry you choose at issue time, and you can revoke any token from Settings → AI Assistant Tokens with immediate effect (the next request fails 401). Token issuance, use, and revocation are audit-logged in Firestore against your account so you can review what was used when. Tokens themselves are stored hashed (SHA-256) — even ExpenseBot staff can't read the original string out of the database.
Your underlying expense data never moves. Receipts stay in your Google Drive, your sheet stays in your Drive, and each MCP tool call reads or writes those files using your existing OAuth grants. The only data that flows through your AI provider is the specific tool result your assistant asked for — same trust model as any LLM tool-use call. If you're inviting an accountant later, the share happens through Google Drive sharing, not through the MCP token.
Compatible AI assistants
MCP support is growing quickly. Today the ExpenseBot MCP works out of the box with:
- Claude Desktop — Mac, Windows, Linux. Native MCP support since 2024.
- Cursor IDE — Mac, Windows, Linux. Add via Settings → MCP.
- Continue (VS Code / JetBrains extension) — open-source MCP client.
- ChatGPT — paid plans with native MCP support.
- Custom agents built on the Anthropic, OpenAI, or open-source MCP SDKs.
If your client follows the MCP wire format (JSON-RPC over stdio), ExpenseBot works. The official and constantly-updated client list lives at modelcontextprotocol.io/clients.
Why this matters
Most expense apps see receipts. The ExpenseBot MCP lets your AI act on them — search, submit, scan Gmail, generate a tax report, share it with your accountant — using your actual Google Sheet as the source of truth. There's no separate mirror database to drift, no proprietary ledger to escape from, no "export to CSV" step. Your AI assistant reads the same sheet you read, writes the same rows you'd write, and triggers the same Gmail scanner you'd trigger from the dashboard.
That's the Gmail-Sheets-native angle. ExpenseBot was built from day one around the data your life already runs on — receipts in Gmail, ledger in Google Sheets, files in Drive — instead of on a closed app database. The MCP server inherits that. When you ask Claude to scan Gmail for new receipts, it triggers the same scanner that runs nightly. When it submits a receipt, the row lands in the sheet you already own. We're listed on the official MCP Registry at io.github.TotesMagotes/mcp-server-auth so registry-aware clients can find us automatically.
See pricing plans for full feature breakdown. The MCP servers are public on npm; account-scoped tools require an active ExpenseBot account.
Frequently asked questions
What is MCP (Model Context Protocol)?
Model Context Protocol (MCP) is an open standard introduced by Anthropic that lets AI assistants connect to external tools and data sources through a uniform interface. Instead of every app building a one-off ChatGPT plugin or Claude integration, an app publishes one MCP server and any MCP-compatible client (Claude Desktop, Cursor, Continue, custom agents) can talk to it. Think of it as USB-C for AI — one cable, many devices. ExpenseBot publishes two MCP servers on npm so your AI assistant can search your receipts, submit new ones, and analyze your spending using the same data you see in your dashboard. Learn more at modelcontextprotocol.io.
Do I need to be a developer to use the ExpenseBot MCP?
Not really. If you can edit a JSON config file in a text editor, you can set it up — the entire flow is: (1) generate a token in ExpenseBot Settings, (2) paste a 9-line block into Claude Desktop's config file, (3) restart Claude. No npm, no terminal commands, no coding. Claude Desktop downloads the MCP server automatically the first time it runs via npx. The harder part is knowing what to ask Claude once it's connected — and we cover that with example prompts on this page. If you do hit trouble, support@expensebot.ai will walk you through it.
What's the difference between the two ExpenseBot MCP servers?
@expensebot/mcp-server is read-only and unauthenticated — it exposes the public ExpenseBot knowledge base and documentation so an AI assistant can answer questions about features, pricing, and tax-form mapping without any login. Useful for prospects evaluating the product or for AI agents that need to cite ExpenseBot capabilities. @expensebot/mcp-server-auth is the full version: 21 tools across search, capture, Gmail scan, reports, and analytics, all scoped to your personal account via a personal access token. This is what most users want — it's the one that searches your actual receipts and submits new ones.
Does the MCP server work with ChatGPT?
Native MCP support shipped in ChatGPT for paid plans in 2025, and OpenAI's Agents SDK supports MCP servers as well. You can also use the ExpenseBot MCP from any custom agent built on the Anthropic, OpenAI, or other LLM SDKs — the protocol is open. The most polished out-of-the-box experience today is Claude Desktop, where MCP shipped first and configuration is a single JSON file. Cursor IDE has built-in MCP support too. For other clients, see the up-to-date list at modelcontextprotocol.io/clients.
Is my expense data sent to Anthropic / OpenAI when I use the MCP?
Only the parts your AI assistant explicitly reads. When you ask Claude 'how much did I spend on software last quarter,' Claude calls the ExpenseBot MCP server's get_spending_summary tool, the server fetches that summary from your Google Sheet, and the result text becomes part of the conversation Claude sees — and is therefore sent to Anthropic as context like any other Claude message. ExpenseBot doesn't send data to Anthropic itself. Your full ledger never leaves your Google Drive; only the specific tool results requested in each conversation flow through the AI provider. This is the same trust model as any LLM tool-use call.
How do I revoke access if my token leaks?
Open ExpenseBot → Settings → AI Assistant Tokens, find the token row, and click Revoke. The token is invalidated immediately on the server side; the next MCP request from any client using it will fail with 401 Unauthorized. Generate a new token, paste it into your Claude Desktop config, restart Claude, and you're back. All token issuance, use, and revocation events are audit-logged in Firestore against your account. Tokens themselves are stored hashed (SHA-256) — even ExpenseBot staff can't read them out of the database.
Can I use the MCP server with my own AI agent / custom client?
Yes. Both servers follow the standard MCP wire format (JSON-RPC over stdio), so any MCP client library works — Anthropic's TypeScript / Python SDKs, the official MCP SDKs at github.com/modelcontextprotocol, or your own implementation. Run @expensebot/mcp-server-auth as a subprocess and pass EXPENSEBOT_TOKEN in the environment. The server advertises its 21 tools via the standard tools/list response so your agent can discover them at runtime. We're also listed on the official MCP Registry at io.github.TotesMagotes/mcp-server-auth so registry-aware clients can find us automatically.
Does this work on Windows or only Mac?
Both, plus Linux. The MCP servers ship as Node.js packages on npm and run anywhere Node 18+ runs. Claude Desktop has native installers for Mac and Windows; the config file lives at ~/Library/Application Support/Claude/claude_desktop_config.json on Mac and %APPDATA%\Claude\claude_desktop_config.json on Windows. Cursor IDE's MCP config works identically across all three operating systems. The only platform-specific step is finding the right config path — once it's edited, the integration behaves the same everywhere.
Ready to connect Claude to your expenses?
Sign in with Google, generate a token in Settings, paste 9 lines into Claude Desktop. You're done in 3 minutes.
Get Started Free →60-day free trial · No credit card · Cancel any time
