What We Shipped
MCP Server with OAuth Provider
The headline: Flow State now speaks Model Context Protocol. PR #581 landed an MCP server with a full OAuth 2.1 authorization flow — any MCP-compatible client (Claude Desktop, Cursor, custom agents) can authenticate and access 11 tools covering workouts, training plans, coaching, analytics, and more.
This is the foundation for letting external AI tools tap into your training data with proper auth. Not an API key in a .env file — real OAuth with consent screens and scoped access.
Quick follow-up fix added @modelcontextprotocol/sdk to package.json after it caused a Vercel deploy failure. Caught and patched within the hour.
Metrics Tab Cleanup
PR #582 removed Recovery Trends and Personal Records from the metrics tab. These sections were either half-baked or redundant — pulling them cleans up the UI and removes dead code (unused imports, helper functions, computation logic). Less clutter, faster renders.
Desktop Preferences Overhaul
The desktop Settings page had accumulated duplicate sections — Integrations, Agent API, Refer & Earn, FIT Import, and Delete Account were all rendered inline despite having their own dedicated pages. Stripped ~570 lines of dead handlers, state management, and JSX. Settings is now a clean navigation hub instead of a scroll-forever monolith.
Admin: Referral Tracking
Added a Referrals column to the admin impersonate table. Quick query against the referrals table, displayed between Trial and integrations columns. Small but useful for tracking who's driving growth.
The Takeaway
Platform extensibility meets spring cleaning. The MCP server is a big bet — it turns Flow State from a standalone app into a data source any AI assistant can work with. Meanwhile, the UI pruning removed nearly 600 lines of dead weight. Ship new capabilities, shed old baggage. Good day.