Puter MCP
Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more
Description from the maker (original English)
Inspectable, correctable project memory in git-versioned Markdown for AI agents.
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.
Passed 2/2 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
You need a Palinode key (sign up on the maker’s site, may cost money) · 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)
Open the maker’s site, sign up and create an API key for the next step. It may cost money.
SettingsDeveloperEdit Config
{
"mcpServers": {
"palinode": {
"command": "uvx",
"args": [
"palinode",
"--from",
"palinode",
"palinode-mcp"
],
"env": {
"PALINODE_DIR": "your-value",
"PALINODE_API_HOST": "your-value",
"PALINODE_API_PORT": "your-value",
"PALINODE_API_TOKEN": "your-value",
"PALINODE_API_TOKEN_FILE": "your-value"
}
}
}
}Paste the key only into the app’s field, never into a chat or to anyone
Use Palinode and tell me what you can do for me, then show me one thing✓ If Claude says it is using Palinode or shows a Palinode 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 Palinode yet
Palinode runs on your computer, but ChatGPT can only connect servers that run on the web
A · Use an app that can connect Palinode
Works with Claude Code, with some setup first
You need a Palinode key (sign up on the maker’s site, may cost money) · Install Python (uv) on your computer first (one time)
One time only; it works for every server that needs Python (uv)
Open the maker’s site, sign up and create an API key for the next step. It may cost money.
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add palinode --env PALINODE_DIR=your-value --env PALINODE_API_HOST=your-value --env PALINODE_API_PORT=your-value --env PALINODE_API_TOKEN=your-value --env PALINODE_API_TOKEN_FILE=your-value -- uvx palinode --from palinode palinode-mcpReplace “your-value” with your key before pressing Enter
Paste the key only into the app’s field, never into a chat or to anyone
You should see Palinode listed as connected
Use Palinode and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using Palinode or shows a Palinode 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
You need a Palinode key (sign up on the maker’s site, may cost money) · Install Python (uv) on your computer first (one time)
One time only; it works for every server that needs Python (uv)
Open the maker’s site, sign up and create an API key for the next step. It may cost money.
In the Palinode settings, PALINODE_DIR, PALINODE_API_HOST, PALINODE_API_PORT, PALINODE_API_TOKEN, PALINODE_API_TOKEN_FILE is empty; add your key and save
Paste the key only into the app’s field, never into a chat or to anyone
Use Palinode and tell me what you can do for me, then show me one thing✓ If Cursor says it is using Palinode or shows a Palinode 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
You need a Palinode key (sign up on the maker’s site, may cost money) · Install Python (uv) on your computer first (one time)
One time only; it works for every server that needs Python (uv)
Open the maker’s site, sign up and create an API key for the next step. It may cost money.
In the Palinode settings, PALINODE_DIR, PALINODE_API_HOST, PALINODE_API_PORT, PALINODE_API_TOKEN, PALINODE_API_TOKEN_FILE is empty; add your key and save
Paste the key only into the app’s field, never into a chat or to anyone
Use Palinode and tell me what you can do for me, then show me one thing✓ If VS Code says it is using Palinode or shows a Palinode 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
Claude Code
claude mcp add palinode --env PALINODE_DIR=your-value --env PALINODE_API_HOST=your-value --env PALINODE_API_PORT=your-value --env PALINODE_API_TOKEN=your-value --env PALINODE_API_TOKEN_FILE=your-value -- uvx palinode --from palinode palinode-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"palinode": {
"command": "uvx",
"args": [
"palinode",
"--from",
"palinode",
"palinode-mcp"
],
"env": {
"PALINODE_DIR": "your-value",
"PALINODE_API_HOST": "your-value",
"PALINODE_API_PORT": "your-value",
"PALINODE_API_TOKEN": "your-value",
"PALINODE_API_TOKEN_FILE": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"palinode": {
"command": "uvx",
"args": [
"palinode",
"--from",
"palinode",
"palinode-mcp"
],
"env": {
"PALINODE_DIR": "your-value",
"PALINODE_API_HOST": "your-value",
"PALINODE_API_PORT": "your-value",
"PALINODE_API_TOKEN": "your-value",
"PALINODE_API_TOKEN_FILE": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"palinode": {
"type": "stdio",
"command": "uvx",
"args": [
"palinode",
"--from",
"palinode",
"palinode-mcp"
],
"env": {
"PALINODE_DIR": "your-value",
"PALINODE_API_HOST": "your-value",
"PALINODE_API_PORT": "your-value",
"PALINODE_API_TOKEN": "your-value",
"PALINODE_API_TOKEN_FILE": "your-value"
}
}
}
}PALINODE_DIR required envPALINODE_API_HOST envPALINODE_API_PORT envPALINODE_API_TOKEN secret envPALINODE_API_TOKEN_FILE secret envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
pypi: palinodepypi: palinodeBased 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 11, 2026
The registry name was verified with the GitHub account phasespace-labs, which owns the repo
Code last changed yesterday
We have not read this repo from GitHub yet
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 2 of 2 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.
You need to fill in: PALINODE_DIR, PALINODE_API_TOKEN, PALINODE_API_TOKEN_FILE
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 yesterday, and the latest version (0.24.0) reached the registry yesterday.
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.
┌─ palinode ─┐
│ ░░░░░░░░░░ │ │ ▓▓▓▓▓▓▓▓▓▓ │ │ ██████████ │ └────────────┘
Inspectable, correctable project memory for repeated work across sessions, agents, and worktrees.
Last week, your team chose SQLite for a cache because it avoided operating a database. This week, a changed requirement makes PostgreSQL the better choice. Without the decision and its reason, a fresh agent can repeat the old approach. With Palinode, you can save the replacement, inspect the original and its history, and correct the record for the next session.
Palinode keeps project memory in Markdown files and Git history under your local control. An agent can use its tools to save, search, and inspect that memory. Some supported client integrations can also perform configured capture or recall; their automatic behavior, scope, and controls vary by client and configuration. Nothing is silently promoted from an unmarked note to a fact.
*A palinode is a poem that retracts what was said before and says it better. That's what memory compaction does.*
Built by Paul Kyle at phasespace-labs. See AUTHORS.
Follow the canonical Quickstart for one complete journey: install → start → connect an MCP client → save a decision → open a fresh session → inspect its markdown/provenance → correct it. It keeps the private memory store separate from the code checkout and distinguishes the current release from source-checkout capabilities.
The screenshot shows the archived initial SQLite decision after the separate PostgreSQL replacement was saved and the original was retired. See the local provenance UI guide for the full read-only inspector and the correction lifecycle; the guide explains that the image is taken after retirement, not before the save steps.
| Platform | Session Skill Path | MCP Config |
|---|---|---|
| Claude Code CLI | ~/.claude/skills/ | ~/.claude.json |
| Claude Desktop | ~/.claude/skills/ | claude_desktop_config.json |
| Cursor | .cursor/skills/ | .cursor/mcp.json |
| VS Code + Claude (Continue / Cline) | ~/.claude/skills/ | see MCP-INSTALL-RECIPES.md |
| JetBrains + Claude | ~/.claude/skills/ | ~/.claude.json |
| Antigravity IDE | .agent/skills/ | native 3-dot MCP menu |
| Codex CLI | N/A (no skills) | ~/.codex/config.toml |
| Pi | N/A (native extension) | plugins/pi/ — per-turn recall via lifecycle hooks |
| Cline CLI / SDK | N/A (native plugin) | plugins/cline/ — per-turn recall via AgentPlugin hooks |
All platforms share the same MCP server — install once on your server, connect from any IDE. [docs/HARNESSES.md](docs/HARNESSES.md) is the cross-harness map: what each harness gets (native hooks vs. plugin vs. MCP), how the tiers stack, and where to start. Per-client config snippets: docs/MCP-SETUP.md and docs/MCP-INSTALL-RECIPES.md.
Palinode treats plain files as the source of truth and builds its index and interfaces from those files.
Files (markdown + YAML frontmatter)
↓ watched Index (SQLite-vec vectors + FTS5 keywords, single .db file) ↓ queried by Interfaces (MCP server, REST API, CLI, OpenClaw plugin) ↓ compacted by Consolidation (structured operations → validation and application → git commits)
That's the whole architecture. One directory of .md files, one SQLite database, one API server. No Postgres, no Redis, no cloud dependency.
Palinode doesn't care how you talk to it. The full toolkit — save, search, doctor, dedup-suggest, orphan-repair, diff, blame, rollback, and more — works through every interface:
| Interface | Transport | Best For |
|---|---|---|
| MCP Server | Streamable HTTP or stdio | Claude Code, Claude Desktop, Cursor, Windsurf, Zed, VS Code (Continue/Cline) |
| REST API | HTTP on :6340 | Scripts, webhooks, custom integrations |
| CLI | Wraps REST API | Cron jobs, SSH, shell scripts |
| Plugin | OpenClaw lifecycle hooks | Agent frameworks with inject/extract patterns |
Set up once on a server. Connect from any machine, any IDE, any agent framework. The MCP server is a pure HTTP client — it holds no state, no database connection, no embedder. Point it at the API and go.
{
"mcpServers": { "palinode": { "type": "http", "url": "http://your-server:6341/mcp/" } } }
That's the entire client config. Works with Claude Code, Claude Desktop, Cursor, Windsurf, Zed, and VS Code (Continue/Cline). palinode-mcp-http serves streamable-HTTP at /mcp/ — use "type": "http", not "type": "sse". Always include the trailing slash in the URL. See docs/MCP-SETUP.md for editor-specific install recipes.
Store — Typed markdown files (people, projects, decisions, insights) with YAML frontmatter. Git-versioned. Human-readable. Editable in Obsidian, VS Code, vim, or anything.
Index — A file watcher indexes with FTS5 as you save. Content-hash dedup skips re-embedding unchanged files. The index is a local SQLite file; embeddings can use a local BGE-M3 endpoint or a configured remote provider.
Search — Hybrid BM25 + vector search merged with Reciprocal Rank Fusion. The two arms have different jobs: on full-sentence questions the vector arm can retrieve semantic matches while BM25 catches exact terms and identifiers. See benchmarks for the evaluation context and limitations. Optional associative entity graph and prospective triggers.
Compact — Weekly consolidation where an LLM returns structured operations and Palinode validates and applies them. Every compaction is a git commit you can review, blame, or revert.
Dream — If you've met "dreaming" as the name for this, palinode dream is an alias for palinode consolidate. Use --dry-run to inspect the proposed operations; each completed pass lands as a git commit, so a bad consolidation is a diff to review and a commit to revert.
Audit — git blame any fact. git diff any change. rollback any mistake. These aren't just git-compatible files — palinode_diff, palinode_blame, and palinode_rollback are first-class tools your agent can call.
bge-m3 (ollama pull bge-m3, ≈1.2 GB), or another supported embedding endpoint — for hybrid indexing and search. Since v0.21 you can instead choose explicit lexical mode; it is keyword/FTS retrieval, not a fallback when hybrid's endpoint fails. Saves persist without an embedder, but hybrid search returns HTTP 503 until it is reachable (palinode resolve degrades to keyword-only and says so). See the Homebrew setup guide for installation and verification.Optional extras: a chat model for weekly consolidation (any 7B+ that outputs JSON), OpenClaw for agent plugin hooks.
Before your first capture: Palinode stores readable Markdown and Git history. private/restricted control discovery by scope; a caller with API access can still read a hidden memory by its known path and use full-store maintenance tools. These labels provide no encryption or per-user/per-agent authentication. Protect the store, backups and API credentials; use separate instances or filesystem permissions for stronger separation. See the privacy contract.
The Quickstart is the authoritative first-use sequence. It covers the separate private store, second-terminal environment, supported lexical preview and hybrid model paths, editor connection, fresh-session check, inspector, and correction workflow. Do not combine a code checkout and a memory store. For a released Homebrew installation, begin with docs/HOMEBREW.md; for an autonomous agent bootstrap, see llms-install.md.
Three long-running processes (API, watcher, embedder) shouldn't live in terminal tabs. Pick one:
| Platform | How | Details |
|---|---|---|
| Anywhere with Docker | docker compose up -d from the repo root — API + watcher + Ollama, with the bge-m3 pull handled for you (≈1.2 GB on first run) | docker-compose.yml header comments |
| Linux | systemd units via deploy/systemd/install.sh --enable | deploy/systemd/README.md |
| macOS | launchd LaunchAgents from templates | deploy/launchd/README.md |
| Windows | use Docker Compose (set PALINODE_DATA_DIR to a Windows path) | docker-compose.yml header comments |
With compose, your memory stays on the host at ~/.palinode (override with PALINODE_DATA_DIR) — the containers mount it; files remain the source of truth. Already running Ollama on the host? OLLAMA_URL=http://host.docker.internal:11434 docker compose up -d palinode-api palinode-watcher skips the bundled one. Verify any of the three the same way: palinode doctor (or curl http://127.0.0.1:6340/status).
Palinode speaks MCP. Follow the connection step in the Quickstart: palinode mcp-config generates a native fragment for the selected client, and the recipes keep the supported manual configuration. It is read-only; it never edits a client configuration file.
Connecting to a server on another machine over HTTP? Pass your project: palinode mcp-config --http --project adds an X-Palinode-Project header. Since v0.22 a remote server no longer scopes recall to its own working directory, so a client without the header gets unscoped results, reported as Scope: none. See the v0.22.0 compatibility notes. Full per-harness detail: docs/MCP-INSTALL-RECIPES.md.
Merge the Palinode entry into existing settings; redirecting generated output onto an existing configuration file would overwrite it.
Already installed with palinode-api running? Scaffold any project in one command:
cd your-project
palinode init
That scaffolds .claude/CLAUDE.md (memory instructions, appended if one exists), .claude/settings.json (SessionStart + SessionEnd + UserPromptSubmit hook registration), all three hook scripts, and .mcp.json (points Claude Code at the palinode MCP server). Sessions then start smart, recall as they go, and end captured: the SessionStart hook injects your core: true memories into every fresh session (startup and /clear) so standing context is there before the first prompt; the UserPromptSubmit hook recalls relevant memory before each prompt — prospective triggers plus a strict-threshold search, injected as compact snippets, silent when nothing matches; and the SessionEnd hook auto-captures on /clear, logout, and exit. Re-run with --dry-run to preview, --force to overwrite, or --no-mcp / --no-hook to scope it. See examples/hooks/ for tuning knobs.
Projects that use other harnesses get the same memory instructions automatically: when AGENTS.md (or a .agent/ directory) exists, init appends a harness-neutral memory block to AGENTS.md (read by Codex, Antigravity, and other AGENTS.md-aware agents), and when a .cursor/ directory exists it writes `.curs