Puter MCP
Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more
Wraps the taskswarm CLI as a single generic MCP tool for multi-agent task coordination.
Pick the AI app you use, then copy the settings.
Passed 3/3 checks · Runs on your computer
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude, with some setup first
Install Python (uv) on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
One time only; it works for every server that needs Python (uv)
SettingsDeveloperEdit Config
{
"mcpServers": {
"taskswarm": {
"command": "uvx",
"args": [
"taskswarm-cli",
"taskswarm-mcp"
]
}
}
}Use Taskswarm and tell me what you can do for me, then show me one thing✓ If Claude says it is using Taskswarm or shows a Taskswarm tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect Taskswarm yet
Taskswarm runs on your computer, but ChatGPT can only connect servers that run on the web
A · Use an app that can connect Taskswarm
Works with Claude Code, with some setup first
Install Python (uv) on your computer first (one time)
One time only; it works for every server that needs Python (uv)
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add --scope user taskswarm -- uvx taskswarm-cli taskswarm-mcpYou should see Taskswarm listed as connected
Use Taskswarm and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using Taskswarm or shows a Taskswarm tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor, with some setup first
Install Python (uv) on your computer first (one time)
One time only; it works for every server that needs Python (uv)
Use Taskswarm and tell me what you can do for me, then show me one thing✓ If Cursor says it is using Taskswarm or shows a Taskswarm tool in the answer, you are connected
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code, with some setup first
Install Python (uv) on your computer first (one time)
One time only; it works for every server that needs Python (uv)
Use Taskswarm and tell me what you can do for me, then show me one thing✓ If VS Code says it is using Taskswarm or shows a Taskswarm tool in the answer, you are connected
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.
JSON settings are under “For developers” below
Claude Code
claude mcp add --scope user taskswarm -- uvx taskswarm-cli taskswarm-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"taskswarm": {
"command": "uvx",
"args": [
"taskswarm-cli",
"taskswarm-mcp"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"taskswarm": {
"command": "uvx",
"args": [
"taskswarm-cli",
"taskswarm-mcp"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"taskswarm": {
"type": "stdio",
"command": "uvx",
"args": [
"taskswarm-cli",
"taskswarm-mcp"
]
}
}
}These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Runs on your computer; the tool list appears in your AI app after you install it.
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 12, 2026
The registry name was verified with the GitHub account RudrenduPaul, which owns the repo
Code last changed 22 days ago
Uses MIT
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
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 on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed 22 days ago, and the latest version (0.1.3) reached the registry 3 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Puter MCP, XcodeBuildMCP, XcodeBuildMCP
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
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.
Install • Quickstart • What it does • CLI reference • MCP Server • How it compares • FAQ
Self-hosted event server and CLI that fires a local OS notification and updates a live status page the instant a parallel coding-agent session blocks, needs review, fails, or finishes.
You're running three Claude Code sessions across two repos. One of them hit a permission prompt four minutes ago and has been sitting there ever since, waiting on you. You didn't know, because nothing told you. You just tabbed back to check.
TaskSwarm is a self-hosted event server that fixes that. Every agent session reports its state, and the instant one goes blocked, needs review, fails, or finishes, TaskSwarm fires a local OS notification and updates a live status page. No polling terminals. No account. No cloud dependency.
TaskSwarm ships as two independent, equally first-class distributions of the same event server -- an npm package (this codebase, TypeScript) and a PyPI package (taskswarm-cli, Python, python/). Pick whichever fits your toolchain; the server and CLI don't need to be the same distribution as whatever agent you're reporting from.
npm (JS/TS): live on npm as taskswarm-cli:
npm install -g taskswarm-cli
taskswarm start
Prefer not to install globally? npx taskswarm-cli start runs the same binary with no install step.
pip (Python): live on PyPI as taskswarm-cli (renamed from the original taskswarm package, which has stopped receiving updates and points here):
pip install taskswarm-cli
taskswarm start
See python/README.md for the Python-specific guide. Both distributions speak the same wire protocol (the same event schema, the same notification-dedup rule), so a Python-started server and an npm CLI reporting into it (or vice versa) work together without issue.
# Terminal 1: start the server
node dist/cli.js start
node dist/cli.js agent report-status --task my-fix --repo ./api --state running node dist/cli.js agent report-status --task my-fix --repo ./api --state done
Open the live status page URL printed by start. The row for my-fix updates the instant each report-status call lands, no refresh. This is the actual output from that flow, captured while writing this README:
{
"sessions": [ { "session_id": "my-fix", "latest": { "repo": "./api", "agent_type": "generic", "status": "done", "...": "..." }, "history": [ { "status": "running", "timestamp": "2026-07-15T23:46:41.376Z" }, { "status": "done", "timestamp": "2026-07-15T23:46:41.436Z" } ] } ] }
Wire it into Claude Code directly instead of calling report-status by hand:
node dist/cli.js hooks install claude-code
This writes Stop/Notification hooks into .claude/settings.json for the current project. Every turn Claude Code finishes, and every permission prompt or idle wait it surfaces, now reports into TaskSwarm automatically.
Locally track tasks independent of live session state (a lightweight to-do list, not the event feed):
node dist/cli.js task add --title "Fix flaky test" --repo ./api
node dist/cli.js task list
blocked, needs-review, failed, or done, TaskSwarm fires a native OS notification (osascript on macOS, a terminal bell fallback elsewhere). Measured dispatch latency below. None of paperclip, Vibe Kanban, or Multica (see comparison below) do this; all three are boards you have to be looking at.taskswarm hooks install claude-code writes Stop and Notification hook entries into .claude/settings.json, pointed at the exact Node binary and CLI script already on disk. It deliberately avoids npx; see the code comment in src/adapters/claude-code-adapter.ts for why floating registry resolution on every hook fire is a supply-chain risk. One caveat stated plainly: Claude Code's Stop hook fires per-turn, not per-task, so a long multi-turn session currently reports done after every turn, not just the final one.taskswarm agent report-status --task --repo --state is the same primitive the Claude Code adapter calls under the hood. Any script wrapping any CLI agent can call it directly.POST /events and the live page both require the token TaskSwarm generates on first run (~/.taskswarm/config.json, written 0600). Rotate it with taskswarm token rotate.--json flag with a stable schema, including error output, so a script calling this CLI never has to scrape human-formatted text.[!NOTE]
The native OS push notification only fires on macOS, via
osascript. On Linux and Windows, TaskSwarm falls back to a console line plus a terminal bell instead of a system notification, still local, still without ntfy.sh unless you opt in.
Captured directly from --help output on the built CLI (node dist/cli.js --help):
| Command | Description | Key options | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
taskswarm start | Start the TaskSwarm server and print the live status page URL | --json | ||||||||
taskswarm task add | Register a new task | --title (required), --repo (required), --json | ||||||||
taskswarm task list | List tracked tasks, enriched with live status when the server is reachable | --json | ||||||||
taskswarm agent report-status | Report a status transition for a task/session to the local server | --task (required), --repo (required), --state (required, one of `queued\ | running\ | blocked\ | needs-review\ | done\ | failed), --blocked-reason , --agent-type (claude-code\ | codex\ | cursor\ | generic, default generic), --json` |
taskswarm token rotate | Generate a new bearer token, invalidating the old one | --json | ||||||||
taskswarm hooks install | Install hooks for an agent integration (currently claude-code) | --scope (default project), --project-dir , --json | ||||||||
taskswarm hooks claude-code-relay | Internal: reads a hook payload from stdin and relays it. Installed automatically; not meant to be run by hand. | none |
Every subcommand also takes -h, --help. taskswarm --version prints the installed package's own version number, read live from package.json (so it always matches whatever release you actually have installed, rather than a fixed number that would go stale here).
$ node dist/cli.js agent report-status --task foo --repo /tmp/x --state bogus
error: option '--state ' argument 'bogus' is invalid. Allowed choices are queued, running, blocked, needs-review, done, failed.
$ node dist/cli.js agent report-status --task foo --repo /tmp/x --state blocked Error: could not reach TaskSwarm server at http://127.0.0.1:4173 -- is it running? (taskswarm start)
Both exit non-zero with a plain-English message and no stack trace, including under --json.
The npm package is also importable, not just runnable as a CLI: main/types point at dist/index.js/dist/index.d.ts, and src/index.ts exports a real public surface for anything that wants to embed the event store, server, or adapters directly instead of shelling out.
Schema (src/schema/events.ts)
agentEventSchema, agentEventInputSchema -- Zod schemas for the event envelope