{
  "version": "2",
  "generatedAt": "2026-11-03T22:49:39.280Z",
  "listing": {
    "slug": "expensify",
    "name": "Expensify",
    "tagline": "Expense reports and SmartScan receipts with an official read-only MCP Search tool.",
    "shortTagline": "Expense reports and receipts",
    "description": "Expensify is hosted expense management: receipt SmartScan, reports, approvals, reimbursements, invoices, and accounting exports. A free Submit plan exists for individuals; company workspaces are on paid Collect and Control plans. The Builder's MCP server exposes one Search tool over expenses, reports, receipts, invoices, approvals, and trends, and is explicitly read-only.",
    "capabilities": [
      "operable"
    ],
    "vertical": "support-bookkeeping",
    "alternativeTo": [
      "SAP Concur"
    ],
    "shape": "product",
    "formFactor": "api",
    "executionModel": "deterministic",
    "provenance": "human-written",
    "codeStack": null,
    "modelStack": null,
    "repos": [],
    "interface": {
      "kind": "mcp",
      "url": "https://www.expensify.com/mcp",
      "official": true,
      "hosted": "remote"
    },
    "operability": "official",
    "recommendedWrapper": null,
    "reach": [
      {
        "job": "Search expenses, receipts, and merchants",
        "reachable": true,
        "evidence": "help.expensify.com MCP article: Search tool over expenses, merchants, categories, receipts"
      },
      {
        "job": "Search reports, approvals, and reimbursements",
        "reachable": true,
        "evidence": "same article: reports, reimbursements, approvals"
      },
      {
        "job": "Summarize spend trends",
        "reachable": true,
        "evidence": "same article: spend trends, trend analysis, natural-language questions"
      },
      {
        "job": "Read invoices",
        "reachable": true,
        "evidence": "same article: invoices in the searchable data"
      },
      {
        "job": "Scan a receipt into an expense",
        "reachable": false,
        "evidence": "SmartScan runs in the app or by email; the MCP is read-only"
      },
      {
        "job": "Approve reports",
        "reachable": false,
        "evidence": "same article: cannot approve reports"
      },
      {
        "job": "Edit expenses",
        "reachable": false,
        "evidence": "same article: cannot edit expenses"
      },
      {
        "job": "Reimburse payments",
        "reachable": false,
        "evidence": "same article: cannot reimburse payments"
      },
      {
        "job": "Manage workspace settings and accounting export",
        "reachable": false,
        "evidence": "same article: cannot manage Workspace settings"
      }
    ],
    "editions": [
      {
        "name": "Submit (free, individuals)",
        "price": null,
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://www.expensify.com/pricing"
          }
        ]
      },
      {
        "name": "Collect",
        "price": null,
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://www.expensify.com/pricing"
          }
        ]
      },
      {
        "name": "Control",
        "price": null,
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://www.expensify.com/pricing"
          }
        ]
      }
    ],
    "skills": {
      "kind": "none",
      "paths": [],
      "install": null,
      "note": "No SKILL.md, Claude Code plugin, or skills install target in the repo."
    },
    "customization": null,
    "useWhen": [
      "we already file expenses in Expensify and want the agent to answer what was spent, by whom, and what is still unapproved without giving it write access",
      "we want month-end spend summaries pulled into a board note from the receipts and reports we already have"
    ],
    "accounts": [
      "Expensify"
    ],
    "active": true,
    "lastActivity": null,
    "gotchas": [
      "Read-only: no approvals, edits, or reimbursements through the official MCP; BilalAtique/expensify-mcp adds writes as a third-party wrapper",
      "Company workspaces are paid; free Submit plan is per individual",
      "Two endpoint hosts appear in vendor material (www.expensify.com/mcp in the help article, mcp.expensify.com in sourcing); confirm which is current",
      "Pricing page could not be read during analysis; Collect and Control prices unconfirmed"
    ],
    "fit": {
      "adaptable": 0,
      "operable": 2
    },
    "evidence": {
      "formFactor": "hosted service with a remote MCP over OAuth 2.1 PKCE, scope mcp:tools",
      "executionModel": "MCP is a search interface; no model in the interface",
      "operability": "help.expensify.com article Use the Expensify MCP Server With AI Assistants: single Search tool, read-only access",
      "editions": "help.expensify.com plan-types article: free Submit plan for individual employees; Collect and Control paid",
      "active": "help article and MCP page live in 2026"
    },
    "confidence": {
      "formFactor": 0.9,
      "executionModel": 0.9,
      "operability": 0.9,
      "reach": 0.9,
      "editions": 0.5
    },
    "openQuestions": [
      "Collect and Control per-member prices",
      "Whether the MCP is available on the free Submit plan",
      "Canonical MCP endpoint host"
    ],
    "sources": [
      {
        "url": "https://www.expensify.com/mcp",
        "foundBy": "sourcing:support-bookkeeping:registries"
      },
      {
        "url": "https://help.expensify.com/articles/new-expensify/connections/connect-ai-assistants/Use-the-Expensify-MCP-Server-With-AI-Assistants",
        "foundBy": "sourcing:support-bookkeeping:vendor"
      },
      {
        "url": "https://help.expensify.com/articles/new-expensify/billing-and-subscriptions/Plan-types-and-pricing",
        "foundBy": "analysis"
      }
    ],
    "research": {
      "stage": "verified",
      "verdict": "unverified",
      "reason": "Official MCP, partial Reach by design (read-only); free edition is individual-only, so the SMB case is paid.",
      "disputed": []
    },
    "url": "apps/expensify.html",
    "coverage": "partial",
    "paid": false,
    "source": "research/verified/expensify.json"
  }
}
