Skip to main content
MCP server CX Codex

Palinode — Claude Code MCP server: what it does, how to install

Keeps project memory in Git-tracked Markdown files for AI agents. It prevents agents from repeating discarded technical choices across coding sessions.

Install into Claude Code · Platform CLI All methods and platforms ↓
claude mcp add --env PALINODE_DIR=<PALINODE_DIR> --env PALINODE_API_HOST=<PALINODE_API_HOST> --env PALINODE_API_PORT=<PALINODE_API_PORT> --env PALINODE_API_TOKEN=<PALINODE_API_TOKEN> --env PALINODE_API_TOKEN_FILE=<PALINODE_API_TOKEN_FILE> --transport stdio palinode -- uvx palinode
Open on GitHub

What Palinode does

Palinode uses plain Markdown files with YAML headers as the ground truth for agent context. A file watcher updates a single SQLite index that couples FTS5 keyword indexing with vector search. The hybrid engine merges both streams with Reciprocal Rank Fusion. This pairs exact identifier matches with semantic queries.

Periodic compaction consolidates records into clean summaries. Every compaction becomes a Git commit. Your agent can run palinode_diff, check lines with palinode_blame, or undo bad edits with palinode_rollback. Hybrid indexing will fail without Python 3.11+, Git, and Ollama serving the bge-m3 model or a configured remote endpoint.

What it helps with

  • retain technical decisions across separate agent sessions
  • query past project context with hybrid keyword and vector retrieval
  • inspect note history with git blame and diff tools
  • revert mistaken memory updates via rollback tools

Example prompts for the agent

  • Search project memory for why we migrated from SQLite to PostgreSQL.
  • Save our architectural decision to adopt Redis for job queues.
  • Inspect the blame and diff for the latest database caching note.

How to install Palinode

Platform CLI

claude mcp add --env PALINODE_DIR=<PALINODE_DIR> --env PALINODE_API_HOST=<PALINODE_API_HOST> --env PALINODE_API_PORT=<PALINODE_API_PORT> --env PALINODE_API_TOKEN=<PALINODE_API_TOKEN> --env PALINODE_API_TOKEN_FILE=<PALINODE_API_TOKEN_FILE> --transport stdio palinode -- uvx palinode

Replace <…> with your own values. 2 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from palinode <command>

Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more

Questions about Palinode

How to install Palinode in Claude Code?

Run `claude mcp add palinode -e PALINODE_DIR=<PALINODE_DIR> -e PALINODE_API_TOKEN=<PALINODE_API_TOKEN> -e PALINODE_API_TOKEN_FILE=<PALINODE_API_TOKEN_FILE> -- uvx palinode`. Replace the placeholders with your actual directory path and token credentials.

What does Palinode do?

It provides inspectable project memory stored in versioned Markdown files. It queries those files through SQLite with FTS5 and vector search, letting agents recall, update, and revert decisions.

What dependencies are required for Palinode to run?

The server requires Python 3.11+, Git, and an active Ollama instance with bge-m3 or another supported embedding provider.

Similar MCP servers

All MCP servers for Agent setup: memory, context, orchestration →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor