whisper-money/app/Http/Controllers
Víctor Falcón 14ab73dcfb feat(mcp): add read-only MCP server for Pro accounts
Expose a remote (streamable HTTP) MCP server so users can connect Whisper
Money to their own AI assistant (Claude web/desktop, Claude Code, ChatGPT)
to analyse their finances.

- Auth via Sanctum personal access tokens with MCP-only abilities
  (mcp:read / mcp:write); tokens are created, rotated and revoked from a new
  Settings -> MCP access page, with per-client connection instructions and a
  one-time secret reveal.
- Read tools: search_transactions, spending_by_category, get_cashflow,
  get_net_worth, list_accounts, list_categories, list_spaces. Transaction and
  listing tools are space-scoped (optional space arg, defaults to personal);
  the analytics tools reuse the existing user-scoped services/controllers.
- Pro-plan gating is enforced per request inside the tools, so a lapsed
  subscription stops working without the user revoking the token. Free users
  can still create tokens (marked PRO in the UI).

Write tools are intentionally out of scope for this PR (follow-up).
2026-07-17 15:17:40 +02:00
..
Ai fix(security): scope job-status endpoints to owner + feature-area fixes (#627) 2026-07-03 14:49:32 +02:00
Api fix(accounts): show credit cards as positive and exclude them from net worth (#673) 2026-07-13 07:27:52 +00:00
Auth fix: verify email via signed link without requiring login (#490) 2026-06-05 10:01:32 +02:00
OpenBanking refactor(open-banking): extract shared connect-controller flow into a base class (#639) 2026-07-04 20:24:54 +02:00
Settings feat(mcp): add read-only MCP server for Pro accounts 2026-07-17 15:17:40 +02:00
Sync refactor(api): standardize serialization via model $hidden (#492) 2026-06-05 13:57:34 +02:00
AccountBalanceController.php feat: investment benefits — show gains/losses on investment accounts (#140) 2026-02-23 13:59:10 +01:00
AccountController.php perf(accounts): defer the account ledger prop on show (#632) 2026-07-03 17:40:08 +02:00
BudgetController.php feat: add catch-all budgets (#527) 2026-06-15 16:07:19 +00:00
CashflowController.php refactor(api): standardize serialization via model $hidden (#492) 2026-06-05 13:57:34 +02:00
Controller.php Set up a fresh Laravel app 2025-11-07 12:01:36 +00:00
DashboardController.php refactor: consolidate duplicated financial calculations (#643) 2026-07-04 22:26:44 +02:00
EncryptionController.php refactor(encryption): strip client-side transaction encryption (#514) 2026-06-20 16:13:26 +00:00
IntegrationRequestController.php feat(integration-requests): add done status and fix review command crash on orphaned author (#601) 2026-06-27 14:42:09 +00:00
LoanDetailController.php feat(loans): backfill historical balances on loan creation (#322) 2026-04-24 13:09:34 +01:00
OnboardingController.php feat(ai): defer per-transaction categorization until onboarding completes (#536) 2026-06-15 17:33:26 +02:00
ReEvaluateTransactionRulesController.php fix(security): scope job-status endpoints to owner + feature-area fixes (#627) 2026-07-03 14:49:32 +02:00
RealEstateDetailController.php feat(accounts): add real estate asset tracking (#241) 2026-03-24 10:21:32 +00:00
RobotsController.php User Onboarding Flow (#23) 2025-12-12 13:06:08 +01:00
SitemapController.php SEO landing page 2025-11-25 11:33:11 +01:00
SubscriptionController.php feat(subscriptions): trial/pricing A/B/C experiment (#600) 2026-06-27 18:00:15 +02:00
TransactionController.php feat(transactions): allow editing all fields of manual transactions (#683) 2026-07-16 08:59:10 +02:00
UserLeadController.php feat: verify waitlist leads (#285) 2026-04-14 11:26:01 +01:00