Palinode runs on your own machine — the client starts it, so there is no endpoint to ping. 1 002 installs a week from pypi. Last commit 17 Sep 2026.
Git-versioned markdown memory for AI agents: save, search, compact, lint, and audit.
We read the source, 21 h ago · rules 3dff92dd89df
What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.
proc = subprocess.run( # nosec B603,B607 - argv form, no shell
raw = glob.glob(os.path.join(memory_dir, include), recursive=True)
Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.
We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.
This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.
claude mcp add palinode -- uvx palinode
{
"mcpServers": {
"palinode": {
"args": [
"palinode"
],
"command": "uvx"
}
}
}
[mcp_servers.palinode]
command = "uvx"
args = ["palinode"]
{
"mcpServers": {
"palinode": {
"args": [
"palinode"
],
"command": "uvx"
}
}
}
{
"mcpServers": {
"palinode": {
"args": [
"palinode"
],
"command": "uvx"
}
}
}
This one needs environment variables set before it will start:
PALINODE_DIR (Path to the markdown-memory directory), PALINODE_MCP_HTTP_HOST (Bind host for the MCP HTTP server. Defaults to loopback; set to 0.0.0.0 only with intentional network exposure (paired with PALINODE_API_BIND_INTENT=public on the back-end).), PALINODE_MCP_HTTP_PORT (Port for the MCP HTTP server), PALINODE_API_HOST (Host where the back-end palinode-api is reachable), PALINODE_API_PORT (Port for palinode-api), PALINODE_API_TOKEN (Bearer token enforced by palinode-api. Required when binding non-loopback. Generate with: python -c 'import secrets; print(secrets.token_urlsafe(32))'.), PALINODE_API_TOKEN_FILE (Path to a file containing the bearer token (alternative to PALINODE_API_TOKEN)).
The author declared them in the registry entry; get the values from the project itself.
Efficient context management: code search, evidence packs, and memory for coding agents.
Markdown TOC, lint, format, stats for AI agents
Persistent memory for AI coding agents. Hybrid search, auto-session capture, context routing.
Persistent memory for Claude Code. Search, recall, and re-inject context from any session.
Persistent memory for Claude Code. Search, recall, and re-inject context from any session.
AI assistant with RAG, web search, filesystem and memory. MCP sub-agent for Claude Code.
Persistent knowledge memory for AI agents. Hybrid search, code graph, pgvector.
Persistent memory MCP server for Claude Code, Cursor, and GitHub Copilot.
Answers built from our own checks of this server.