
Foldkit DevTools MCP Server: Setup for Claude, Cursor and Other Apps
Lets Claude or Cursor inspect and drive a running Foldkit web app: its state, history and messages.
This server comes from the Foldkit project and is only useful if you build with Foldkit. It runs on your computer and connects to your app while it is open in a browser tab. Close the tab and the app disappears from the tool.
It can read everything the app holds in memory and send messages into it. Keep secrets out of the Model.
Good for
- Developers building apps with the Foldkit framework
- Teams debugging a Foldkit bug with an AI agent
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install foldkit MCP
Claude Code
- 1
Copy this prompt.
Add the foldkit MCP server to Claude Code. Run this command: claude mcp add foldkit -- npx -y @foldkit/devtools-mcp Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Node.js, A Foldkit app in dev mode.
This only works with a Foldkit app. Pass your Message schema to Runtime.makeApplication under devTools if you want the agent to dispatch messages, then restart your dev server and your AI agent. Keep the app open in a browser tab, because the server only sees a running app. You can also run npx @foldkit/devtools-mcp init in your project root to write the .mcp.json for you. The README documents the .mcp.json setup; other clients use the same command, adapted by us.
Built from the package data we hold. Not yet tested by us.
Tools
Reads the app's current state
Returns the current Model, or just a part of it by path. Large values are summarized to fit.
Try: “Show me the cart part of the current Model.”
Read ·
foldkit_get_modelReads the app's state at a past step
Returns the Model as it was after a given history entry. Entries older than the rolling buffer are rejected.
Try: “What did the Model look like just before message 42?”
Read ·
foldkit_get_model_atShows how the app started
Returns the first Model, the Commands from init, and the Mounts that fired on first render, with their arguments.
Try: “What did the app do on startup?”
Read ·
foldkit_get_initLists the messages the app handled
Pages through history with each message body, the Commands and Mounts it triggered, and what changed in the Model. You can filter by changed paths or read the latest entries.
Try: “List the last 20 messages that changed the user part of the Model.”
Read ·
foldkit_list_messagesCounts messages by type
Counts history entries by message tag, highest first, without their payloads. A quick way to spot noisy messages.
Try: “Which messages fire most often?”
Read ·
foldkit_count_messages_by_tagCompares the state at two steps
Shows path-by-path what changed between the Models at two history indices.
Try: “What changed between step 10 and step 25?”
Read ·
foldkit_diff_modelsReads one history entry
Returns one entry by index. To see the Model around it, read the Model at the index before and after.
Try: “Show message 17 in full.”
Read ·
foldkit_get_messageLists steps you can jump back to
Returns the history indices Foldkit can replay to. Index -1 is the initial Model.
Try: “Which points can I replay to?”
Read ·
foldkit_list_keyframesRewinds the app to an earlier step
Time-travels the running app to a past state and pauses it there until you resume. It changes what the open browser tab shows.
Try: “Rewind the app to the state before the error.”
Write ·
foldkit_replay_to_keyframeResumes the app after a rewind
Lets the app run normally again after a replay.
Try: “Resume the app.”
Write ·
foldkit_resumeSends a message into the running app
Dispatches one Message as if the app produced it. The app checks it against your Schema and returns an error when it does not match.
Try: “Send the AddItem message with item id 5.”
Write ·
foldkit_dispatch_messageSends up to 100 messages in order
Dispatches a batch of 1 to 100 Messages. All are validated first, so one bad entry rejects the whole batch and nothing is sent.
Try: “Run these three messages in order and show the new state.”
Write ·
foldkit_dispatch_messagesUsed by the assistant behind the scenes
Lists open Foldkit app tabs
Shows every browser tab running a Foldkit app that is connected, with its project folder. The assistant calls it first to pick which app to inspect.
Try: “Which Foldkit apps are connected right now?”
Read ·
foldkit_list_runtimesShows history range and pause status
Reports how much history is kept, whether the app is paused or live, and whether init is recorded.
Try: “Is the app paused, and how far back can I look?”
Read ·
foldkit_get_runtime_stateShows which messages the app accepts
Describes the app's Message Schema, from a short list of variants down to the exact shape of one, so valid messages can be built without reading the code.
Try: “What messages can I send to this app?”
Read ·
foldkit_get_message_schema
Read from the source code
Permissions
medium risk · 2 things to watch
Medium risk
It can read all state of your running dev app and send messages into it. Use it on development builds only, and leave the Message schema out of the DevTools config if you want read access only.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It can read everything your app holds
An agent can read current and past Models, every message payload and Command arguments. Keep API keys, tokens and personal data out of those values. github.com
It can send messages and rewind the app
Dispatch tools make the app act as if a user did something, and replay pauses it. Leave the Message schema out of the DevTools config if you only want reading. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Turning on read-only | No read-only switch. Omitting the Message schema from the DevTools config disables dispatch only; read and replay tools stay available. |
|---|---|
| Scopes |
|
Questions
Is the Foldkit DevTools MCP server official?
Yes. It lives in the Foldkit framework's own repository and is published by that project.
Do I need an API key?
No. It needs no account or key, only a Foldkit app running in development and open in a browser tab.
How do I add it to my project?
Use the install box above, or run its init command in your project root to write a .mcp.json. Projects made with create-foldkit-app already have it set up.
Can it change my app?
Yes, at runtime. It can send messages and rewind the app. It does not edit your source code.
Can I make it read-only?
Partly. If you leave the Message schema out of the DevTools config, dispatch is disabled while reading and replay still work.
Why does it say no runtimes are connected?
The app must be running in dev mode and open in a browser tab. Restart the dev server and your agent after setup.
Information
updated Nov 2, 2026
- Publisher
- Official
- Package
@foldkit/devtools-mcp- Registry
- npm
- Transport
- stdio
- Auth
- None
- Version
- 0.26.0
- License
- MIT
- Last commit
- Oct 30, 2026
- Open issues
- 282
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 2Hide
- @foldkit/devtools-mcp README · github.com
- devtools-mcp tool registrations · github.com