ExpenseBot

How do I set up Claude Desktop MCP with ExpenseBot (or another desktop or custom AI agent)?

Use the connection method your AI client supports. The full public chooser is at expensebot.ai/mcp#choose-connection.

Use the connection method your AI client supports. The full public chooser is at expensebot.ai/mcp#choose-connection.

ChatGPT or Claude.ai

Install ExpenseBot from the assistant's directory, click Connect, then complete ExpenseBot sign-in and consent. These hosted connectors use OAuth. Do not generate or paste a personal token.

Gemini Spark

Eligible Gemini Spark users can open Settings & help → Connected Apps → Custom apps for Spark, add https://mcp.expensebot.ai/mcp, and complete ExpenseBot's browser sign-in. No personal token or client secret is needed. Google currently limits this custom-app path by account type, age, activity setting, region, and language; see the complete Gemini Spark setup and eligibility guide.

Viktor or another remote/custom agent

If the agent supports remote HTTP MCP with OAuth, add this server URL:

https://mcp.expensebot.ai/mcp

In Viktor, open Integrations → Add custom MCP and paste the URL. Prefer ExpenseBot's browser sign-in and consent flow. Leave manual OAuth client-ID and client-secret fields blank when the client supports Dynamic Client Registration.

If Viktor requests a static credential instead, open AI Assistant Tokens, create a revocable token named Viktor, and place it only in Viktor's secure credential field. Never paste it into a conversation or send it by email.

Approve only the scopes the agent needs, then verify with: "Show my top five expense categories this month. Do not change anything." For the live ExpenseBot → Viktor → Zoho Books example and a review-first prompt, see How do I use ExpenseBot with Viktor and Zoho Books?.

If the agent does not support remote OAuth MCP, use the local/stdio setup below.

Claude Desktop, Cursor, or another local/stdio agent

Claude Desktop supports local stdio MCP, not remote OAuth MCP. That means it launches the @expensebot/mcp-server-auth package as a subprocess and authenticates with a revocable personal token instead of a browser sign-in. The package is published on the official MCP Registry as io.github.TotesMagotes/mcp-server-auth.

Claude Desktop, step by step

  1. Sign in to ExpenseBot and open AI Assistant Tokens.

  2. Choose Generate and name the token for that agent or device — for example Claude Desktop. The token is shown once and can be revoked at any time.

  3. Open Claude Desktop's configuration file in any text editor:

    • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    If the file does not exist yet, create it with the block below as its entire contents.

  4. Add the expensebot server, putting the token only in the EXPENSEBOT_TOKEN environment secret — never in args, never pasted into a conversation:

    {
      "mcpServers": {
        "expensebot": {
          "command": "npx",
          "args": ["-y", "@expensebot/mcp-server-auth"],
          "env": {
            "EXPENSEBOT_TOKEN": "your-personal-access-token-here"
          }
        }
      }
    }
    
  5. Fully quit and reopen Claude Desktop — a window close is not enough, the config is read at startup.

  6. Confirm tool discovery: ExpenseBot should now appear in Claude Desktop's tool/connector list.

  7. Verify with one read-only request before anything else: "Show my top five expense categories this month. Do not change anything." Claude will ask permission to run the tool — approve it once and the connection is live.

Node 18 or newer must be installed, since npx runs the package locally.

Cursor and other stdio clients

The same configuration works in Cursor (~/.cursor/mcp.json), Continue, Cline, Windsurf, and any other stdio MCP client — only the config file location changes. In Claude Code (CLI), one command replaces the JSON editing:

claude mcp add expensebot -- npx -y @expensebot/mcp-server-auth

Store EXPENSEBOT_TOKEN in Claude Code's environment or secret settings first.

If your client supports remote HTTP MCP with OAuth instead, prefer the remote setup above — no token is copied at all.

Prompt an AI can use to help configure itself

Paste this prompt only into an AI that can inspect or guide its own MCP configuration. It must still leave sign-in, consent, and secret entry to you:

Help me connect this AI client to ExpenseBot through MCP.

1. First determine whether this client supports remote HTTP MCP with OAuth, or only local stdio MCP.
2. For remote OAuth MCP, add https://mcp.expensebot.ai/mcp and let me complete ExpenseBot sign-in and consent in the browser. Do not ask for a client secret.
3. For local stdio MCP, use: npx -y @expensebot/mcp-server-auth. Tell me where this client's MCP configuration lives, then have me store a newly generated ExpenseBot token as the EXPENSEBOT_TOKEN environment secret.
4. Never ask me to paste the token into chat. Never print, log, or save it in command arguments.
5. Verify the connection by listing tools and running one read-only request: "Show my top five expense categories this month."
6. Do not run any write action unless I explicitly approve it.

An AI without access to its own client settings cannot install the connection by itself; it can only guide you. Never send a token by email or chat.

Revoke or rotate access

Open AI Assistant Tokens, revoke the old token, generate a new one, update the client's EXPENSEBOT_TOKEN, and restart the client. Remote OAuth connections are managed from the assistant's connector settings and ExpenseBot's authorization screen.

For practical questions to try after setup, use the ExpenseBot AI prompt guide.

Share:

Try ExpenseBot Free

AI extracts every receipt into a Google Sheet you own. Gmail scan, mileage, tax reports, profit-by-client. No credit card needed.

No credit card required · Setup in 30 seconds