FlowState MCP
An MCP server that preserves and recalls work context, enabling users to log sessions, decisions, blockers, and ideas, and automatically generate resumes and standups.
README
π§ FlowState MCP
Never lose your work context again. AI-powered session memory that picks up exactly where you left off.
π© The Problem Every Developer Knows
You're in flow. Writing good code. Making decisions. Solving hard problems.
Then life happens.
You close your laptop for dinner. Sleep. A meeting pulls you away. You come back and...
"What was I doing? Why did I write it this way? Where was I supposed to go next?"
You spend 20β40 minutes just reconstructing context that was already in your head. That's not work β that's tax.
The average developer loses 30+ minutes of productivity every single day to context reconstruction.
FlowState eliminates that tax entirely.
β¨ How It Works
As you work, you log context naturally through your AI assistant:
You: "Log that I decided to use Redis for session caching because Postgres was too slow under load"
You: "I'm blocked β the Redis connection times out in Docker but works locally"
You: "Checkpoint β I'm stopping for dinner, I was building the session middleware"
When you come back:
You: "Resume my work"
FlowState hands you a complete brain dump β exactly where you left off, every decision you made, every blocker you hit, every idea that occurred to you. You're back in flow state in 10 seconds.
π οΈ Tools
| Tool | What you say | What happens |
|---|---|---|
checkpoint |
"Checkpoint β stopping for the day" | Saves your full work context |
resume |
"Resume my work" | Returns complete context brain dump |
log_decision |
"Log that I chose Postgres over Mongo because..." | Decision captured with reasoning |
log_blocker |
"Log blocker β Redis timeout in Docker" | Blocker tracked with workaround |
resolve_blocker |
"Mark blocker abc123 as resolved" | Clears it from future resumes |
log_idea |
"Log idea β add rate limiting to auth" | Idea saved, won't be forgotten |
daily_standup |
"Generate my standup" | Auto-writes your standup from logs |
weekly_summary |
"Give me a weekly summary" | Full week review in seconds |
search_context |
"What did I decide about Redis?" | Searches all your saved context |
session_history |
"Show my recent sessions" | Timeline of your work sessions |
π Quick Start
Install
pip install flowstate-mcp
Add to your MCP client
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"flowstate": {
"command": "uvx",
"args": ["flowstate-mcp"]
}
}
}
Cursor (.cursor/mcp.json):
{
"mcpServers": {
"flowstate": {
"command": "uvx",
"args": ["flowstate-mcp"]
}
}
}
Restart your client. Start using it. That's it β no API keys, no account, no cloud.
π¬ Real Example
Before leaving:
You: Checkpoint β I'm stopping for the night.
Project: payment-service
Doing: implementing Stripe webhook handler
Current task: handling the payment_intent.succeeded event
Next steps: finish the idempotency check in webhook_handler.py line 84,
then write tests for the refund flow
Files: webhook_handler.py, tests/test_webhooks.py
Branch: feature/stripe-webhooks
Next morning:
You: Resume payment-service
FlowState:
# π§ FlowState Resume β `payment-service`
_Checkpoint saved 9h ago_
## π― What You Were Doing
Implementing Stripe webhook handler
## π¨ Where You Left Off
Handling the payment_intent.succeeded event
## π Files You Were Touching
- `webhook_handler.py`
- `tests/test_webhooks.py`
## πΏ Branch
`feature/stripe-webhooks`
## β‘οΈ Your Next Steps
Finish the idempotency check in webhook_handler.py line 84,
then write tests for the refund flow
## βοΈ Decisions You Made
- **Use Stripe idempotency keys** β Why: prevents duplicate charges on retry
## π§ Blockers
- [π΄ Open] Webhook signature verification fails in test environment
Workaround: Temporarily disabled in test config
## π‘ Ideas
- π΄ Add webhook event logging to DB for audit trail
---
You've got this. Pick up right where you left off. π
π Daily Standup β Auto-Generated
You: Generate my standup for today
## π Daily Standup β February 23, 2025
### β
Yesterday
- [payment-service] Implementing Stripe webhook handler
- [auth-api] Refactored JWT middleware
### π¨ Today
- Finish idempotency check, write refund flow tests
### π§ Blockers
- [payment-service] Webhook signature fails in test env
β Workaround: disabled in test config
### βοΈ Key Decisions
- Use Stripe idempotency keys (prevents duplicate charges on retry)
Copy. Paste. Done. Your standup writes itself.
ποΈ Where Data Lives
All context is stored 100% locally in ~/.flowstate/. No cloud. No account. No telemetry. Your work context stays on your machine.
~/.flowstate/
βββ sessions.json # Work checkpoints
βββ decisions.json # Technical decisions + reasoning
βββ blockers.json # Issues and blockers
βββ ideas.json # Captured ideas
π Works With Any MCP Client
- β Claude Desktop
- β Cursor
- β Windsurf
- β Cline (VS Code)
- β Continue.dev
- β Zed
- β Any MCP-compatible tool
πΊοΈ Roadmap
- [ ] Git integration β auto-detect branch and changed files
- [ ] Team mode β share context across teammates (opt-in)
- [ ] VS Code extension with status bar widget
- [ ] Pomodoro integration β auto-checkpoint on timer
- [ ] Export to Notion / Obsidian
- [ ] Context handoff between AI sessions (beat the context window)
π οΈ Development
git clone https://github.com/attaelahi/flowstate-mcp
cd flowstate-mcp
uv venv && source .venv/bin/activate
uv pip install -e .
# Test
python tests/test_server.py
# Run with MCP Inspector
npx @modelcontextprotocol/inspector python -m flowstate_mcp.server
π€ Contributing
PRs and ideas welcome. If FlowState saves you time, a β star helps others find it.
π License
MIT Β© Atta Elahi
π The Philosophy
Flow state is the most valuable thing a developer has. Context loss is its biggest enemy.
FlowState doesn't change how you work β it just remembers everything so you don't have to.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.