Read-only AI connection

ExpeFi MCP — Connect Your Expense Data to AI

Authorize an approved AI client to read normalized ExpeFi workspace data. The connection cannot create transactions, change budgets, start payments, refresh providers, or edit settings.

Pre-registered clientsRead-onlyOAuth 2.1 with PKCEUser-revocable

6

read-only tools

100

records per page

0

write or payment tools

Data contract

One scoped view of your ExpeFi workspace

Each tool returns structured content with an observation time, completeness state, and explicit unavailable fields. The authenticated token subject selects the workspace; client-supplied user IDs are ignored.

Workspace summary

Default currency, counts, and available balances grouped by original currency, with explicit account coverage.

Accounts

Normalized manual and connected account labels, types, currencies, freshness, and a null balance when the value is unavailable.

Transactions

Bounded expense and income records with category names, dates, pending state, and source.

Budgets and bills

Configured category limits plus recurring bill amounts, cadence, due date, and status.

Preferences

The workspace reporting currency used for ExpeFi displays.

Bounded by design

  • Clients must be pre-registered and use OAuth authorization code with PKCE.
  • Approved scopes are mcp:read, workspace:read, accounts:read, transactions:read, and budgets:read; offline_access only permits client token refresh.
  • Tools use saved ExpeFi data and never call Plaid or another provider during an MCP request.
  • Response sizes, execution time, pagination, and request rates are bounded.

Example response

Synthetic workspace-summary example. It illustrates the response shape and is not customer data.

{
  "tool": "get_workspace_summary",
  "result": {
    "asOf": "2026-08-24T09:00:00.000Z",
    "partial": true,
    "missing": ["balances unavailable for 1 of 3 accounts"],
    "data": {
      "defaultCurrency": "USD",
      "accountCount": 3,
      "budgetCount": 5,
      "balancesByCurrency": { "USD": 2450.25 },
      "balanceCoverage": {
        "availableAccounts": 2,
        "unavailableAccounts": 1,
        "totalAccounts": 3
      }
    }
  }
}

Authorize, use, revoke

An approved client starts OAuth authorization, you approve the requested read scopes, and ExpeFi binds every request to the authenticated token subject. D1 stores grant metadata and revocation state, never raw access or refresh tokens. Revoke access from Settings whenever you choose.

  1. 01Choose an approved MCP client and start its ExpeFi connection.
  2. 02Sign in through Clerk and review the requested read scopes.
  3. 03Use the granted tools within their pagination and response limits.
  4. 04Revoke the client from MCP / AI connections in ExpeFi Settings.

Frequently asked questions

Can an MCP client edit my ExpeFi data?

No. ExpeFi exposes only read-only tools and does not offer create, update, delete, refresh, payment, connector, or settings commands.

Does ExpeFi send my bank credentials to an AI client?

No. MCP results exclude provider credentials, access tokens, account and routing numbers, MFA material, raw provider IDs, and internal database IDs.

How do I revoke access?

Open MCP / AI connections in ExpeFi Settings and revoke one client or all grants. Revocation stays in force when a client refreshes its token; reconnecting requires a new explicit authorization and grant.

Does an MCP request contact my bank?

No. The server reads normalized data already saved in ExpeFi and does not call Plaid or another provider during the request.

Related MCP pages