Git-versioned markdown memory across AI agents — search, save, compact, lint, audit.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"palinode": {
"url": "http://your-server:6341/mcp/",
"type": "http"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
The memory substrate for AI agents and developer tools. Git-versioned, file-native, MCP-first.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in ai-ml / cloud
Dynamic problem-solving through sequential thought chains
Persistent memory using a knowledge graph
An autonomous agent that conducts deep research on any data using any LLM providers
🌊 The leading agent orchestration platform for Claude. Deploy intelligent multi-agent swarms, coordinate autonomous workflows, and build conversational AI systems. Features enterprise-grade architecture, distributed swarm intelligence, RAG integration, and native Claude Code / Codex Integration
MCP Security Weekly
Get CVE alerts and security updates for io.github.phasespace-labs/palinode and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
┌─ palinode ─┐
│ ░░░░░░░░░░ │
│ ▓▓▓▓▓▓▓▓▓▓ │
│ ██████████ │
└────────────┘
Audit-grade memory for AI coding agents. Git-versioned and file-native — every fact your agent recalls, you can blame, diff, and rollback. MCP-first, so one memory works in every editor.
Agent memory is becoming a commodity. Auditable agent memory is not: Palinode is the memory layer where every remembered fact is a line in a git-versioned markdown file — readable, diffable, attributable to the commit that recorded it, and revertible when it's wrong. No black-box vector store you have to trust.
Your agent's memory is a folder of markdown files. Palinode indexes them with hybrid search, compacts them with an LLM, and serves them through MCP — so the same memory works in Claude Code, Cursor, Windsurf, Zed, VS Code (Continue/Cline), and any other MCP-compatible editor. Bring your own Obsidian vault, or use Palinode as one: palinode init --obsidian /path/to/vault scaffolds a full vault with graph defaults, daily-notes wiring, and an LLM-maintained wiki contract. Enterprises can govern AI memory the same way they govern code. If every service crashes, cat still works.
A palinode is a poem that retracts what was said before and says it better. That's what memory compaction does.
| 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 |
All platforms share the same MCP server — install once on your server, connect from any IDE. See docs/MCP-SETUP.md and docs/MCP-INSTALL-RECIPES.md for per-client config snippets.
Most agent memory is a black box. You can't read it, you can't diff it, you can't grep it when the vector DB is down. Palinode bets on plain files as the source of truth and builds everything else as a derived index.
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
LLM (proposes ops → deterministic executor applies them → 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 (8x fewer tokens than MCP) |
| 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)