Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Hosted shared memory for AI apps: project decisions, to-dos and learnings. Beta.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://hosted.flowstatemcp.com/mcpRun this in your terminal
claude mcp add --transport http flowstate-hosted https://hosted.flowstatemcp.com/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"flowstate-hosted": {
"url": "https://hosted.flowstatemcp.com/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"flowstate-hosted": {
"type": "http",
"url": "https://hosted.flowstatemcp.com/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://hosted.flowstatemcp.com/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
The server asks you to sign in before it lists its tools.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account dialectforge, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 343 ms (HTTP 401)
Declares OAuth sign-in, so your AI app can take you to log in
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.0.1) reached the registry today.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
A shared project memory for your AI apps. Free, open source, and stored on your own machine.
Don't want to run a server? Try FlowState Hosted.
The same shared memory, hosted for you at flowstatemcp.com/hosted.
Add one URL (
https://hosted.flowstatemcp.com/mcp) to Claude, ChatGPT, Cursor or VS Code and sign in.
No install, no Python, no tunnel. Your data is encrypted at rest and backed up, and you can export or erase it any time.
Beta: 6 months free, then $6/mo for beta members ($12/mo regular). No card needed to start. 10 beta spots.
Prefer to keep everything on your own machine? Keep reading: local FlowState is free and MIT forever.
FlowState is a local MCP server. It gives every AI app you use the same memory of your projects: todos, changes, decisions, problems and lessons learned. Your AI reads a short brief when it starts work on a project and writes down what happens as it goes. The next chat (or the next app) picks up where the last one stopped.
Everything lives in one SQLite file on your computer. Your memory is not sent anywhere unless you turn on an optional feature that does so (an off-site backup to your own private GitHub repo, remote access through your own Cloudflare Tunnel, or the optional relay). FlowState itself makes one network call: once a day it asks GitHub whether a newer release is out. It sends nothing about you or your projects, and flowstate update check off turns it off (see "Upgrading").
If FlowState saves you some re-explaining, a star on GitHub helps others find it.
Claude, ChatGPT, Cursor and Grok can all use FlowState at once, on your computer, across your network, or from your phone (through the optional relay or your own tunnel). When one AI logs a decision or a change, the others see it the next time they check. Hard rules and handoff notes reach every AI, and every change records which AI made it, so you always know who did what. Work across projects is linked too, so a change to something shared shows up in every project that uses it.
When two agents start on the same project at the same time, both can see the same "next" todo and quietly do the same work. So an agent claims a todo before it starts (manage_todos(action="claim", todo_id=4), 15 minutes by default, up to 120) and releases it, or hands it off with a note, when it stops. Other agents see the claim in their brief (#4 Fix login (claimed by cursor on mac-mini, expires in 9m)), next skips it and lists it at the end, and a second claim is refused with the holder's name. Nothing is hidden or locked: a claim simply runs out if the agent goes away, and it is released when that app's session ends (quit, ended or idle; the same app reconnecting may take its claim back). Anyone (you included) can still update or finish a claimed todo; they just get a warning, and manage_history(action="who") shows it.
A decision that reads like a current one (and doesn't say it replaces it) is still saved, but flagged as a *possible* conflict (D31 vs D12 in the brief) for the agent and then you to settle in the review queue; FlowState matches words (and meaning, if the local model is installed), it doesn't judge. While such a pair is open, the brief's "Recent decisions" keeps the newer one, tagged (unsettled: may conflict with #12), and leaves the older one's text out, so an AI skimming the list doesn't follow it as settled. In its place (or on the newer line, if the older one is too old for the list) is a short pointer, #12 in dispute with #31, text left out: search(query="D12"), which shows the full text in one step. Once you keep both, dismiss it, or one replaces the other, the brief looks as before. When two entries clearly disagree, FlowState also queues a disagreement card: claim A and claim B, who wrote each, and up to two short evidence snippets. You keep the older, the newer, or both, or dismiss the card. The one you don't keep is marked superseded, not deleted. An agent flags a pair with log_work (conflicts_with, topic, evidence) or manage_links(action="flag_conflict"). The review page shows the card (side by side on a wide screen), and the tool reply includes the same card as plain text plus the review link. Chat apps that support MCP Apps can show the card in the chat (apps on your card list: Claude Desktop to start with; claude.ai or another app that signs in through your tunnel or the relay once you add its sign-in's name with flowstate approvals cards add --sign-in); each button press carries a one-use code only the card gets, so the AI can't press them itself. Everything else that waits for your OK (session summaries, suggestions, imports, clean-up ideas) gets its own in-chat review card in those apps too (see "Where to see what's waiting for you").
Each window of an app gets its own session, and the brief opens with one line about what the others did meanwhile (Since your last visit (Oct 19): Claude Desktop and Grok saved 3 decisions, 5 changes, 2 todos.), and nothing when nothing changed.
FlowState doesn't decide which of two decisions is right. It notices when they might clash, shows it to every AI, and leaves the choice to you.
How a clash gets flagged:
D31 vs D12. This is matching, not judgement, so some flags turn out to be harmless.log_work with conflicts_with, or manage_links(action="flag_conflict")). That makes a disagreement card: claim A and claim B side by side, who wrote each, and the evidence.Where it shows:
log_work answer says "Possible conflict with D12 ...", so the AI you are working with can mention it right away. A flagged disagreement comes back with the card as plain text and the review link.Possible conflicts: D31 vs D12. While a pair is open, the newer decision is tagged as unsettled and the older one's text is left out of "Recent decisions", so no AI follows either one as settled.flowstate review in your terminal, and in an AI's manage_review list.Who settles it:
flowstate relay chat-approvals on). The quoting rule is checked by wording, not by cryptography (see "Honest limits").log_work(..., replaces=12) or a "supersedes" link). That closes the flag, and the brief and the edit history show it. If that is later undone or the link is removed, FlowState asks you whether to reopen the conflicts it had closed.Every change FlowState saves (records, edits, review decisions, links, handoffs, hard rules, todo claims) keeps who made it. You see it in "Who did what" on the review page, on the disagreement card, and through manage_history(action="who").
Grok Bot (via work-key). The app chooses the first name; it can't choose the second. A desktop app that starts FlowState itself, or one on the shared LAN token, has no sign-in of its own, so its name is only what it says.model argument, the X-FlowState-Model header, or FLOWSTATE_MODEL for a desktop app). FlowState never guesses, so this is often blank.FLOWSTATE_WORKSPACE or the computer's name (or what the app sends); a per-app key can carry its own workspace; over the network it reads like lan (signed in as ...), relay (signed in as ...) or tunnel (signed in as ...).This is there so you can find a change and undo it. Most of it is what the app says about itself; only the sign-in's name is something the app can't pick.
Worked on my PC with Grok Build, then asked Claude and Grok on my iPhone. Both knew what I did last. (Click for the full-quality video.)
I built FlowState v1 in January 2026 as a gift to the vibe coder community, back when context was a serious bottleneck and every new AI chat started from scratch. This week I updated it, because the bottleneck moved. Now most of us work across several AI platforms at once, and keeping context between them is the new problem. FlowState stays free and local.
*John Martin, DialectForge*
Paste this into an AI app that can run commands on your computer (Claude Code, Cursor, Windsurf, Codex CLI, Grok Build, ...):
Set up FlowState for me from https://github.com/dialectforge/FlowState by following its AGENTS.md.
The AI reads AGENTS.md, asks you which apps to connect and whether you want nightly backups and the FlowState skill, shows you a dry run, then runs setup_flowstate.py. When it's done, fully quit and reopen the apps it connected.
Claude Desktop's chat can't run commands by itself. Set it up from one of the apps above ("...and connect it to Claude Desktop"), or run the script yourself (below).
setup_flowstate.py doesIt uses the Python standard library only, and it's safe to run again (it reports unchanged for anything already set up). In order, it:
.venv in the repo folder and runs pip install -e mcp-server into it (skip with --skip-install);Only the beginning is shown; read the rest in the repo