Home / Servers

cairntir

by pnmcguire480

<!-- Cairntir — host-neutral memory-first reasoning layer for AI coding agents. Keywords: Claude Code memory, Claude Code plugin, MCP server, AI memory, cross-session memory, persistent context, Claude memory, Anthropic MCP, kill AI amnesia, Claude Code extension, Python MCP server, sqlite-vec memory, Claude Code MCP, Anthropic Claude memory, Model Context Protocol. -->

Cairntir

One evolving memory for Codex, Cursor, Claude Code, and every MCP agent.

Cairntir is a local-first, open-source memory system for Codex, Cursor, Claude Code, and every other Model Context Protocol client. It kills cross-chat and cross-agent AI amnesia: a lesson written through one host is available to the next. Evidence stays verbatim, while an append-only Discovery Ledger exposes what Cairntir is learning instead of hiding it in an opaque optimization loop.

A stack of stones that sees across time.

Cairntir = cairn (stacked waypoint stones marking a path) + palantír (seeing-stone across time and distance). Pronounced CAIRN-teer.

PyPI version PyPI downloads Python 3.11+ License: MIT mypy: strict ruff Tests: 372 MCP compatible


The one-minute pitch

Every time you open a new Claude Code chat, Claude forgets everything from the last one. You explain the same architectural decision again. You re-litigate yesterday's trade-off. You hallucinate a reason for a choice you can't remember making. It's the single biggest productivity tax on working with LLMs day-to-day, and it's fixed by a file.

Cairntir is that file. It's a SQLite database on your hard drive that stores every decision, fact, and hard-won lesson Claude writes down — verbatim, forever, no summarization — and gives it back the next time you open a chat. Every session, in every project, on day 30, walks into a lit room.

It ships as an MCP server, so it works with Claude Code, Claude Desktop, Cursor, Windsurf, and every other MCP-compatible client without modification.


Install

pip install cairntir           # live on PyPI
cairntir setup                 # initialize the store + Claude Code
cairntir init --host all --user # connect Codex, Cursor, and Claude Code

Restart the configured hosts. Cursor's global MCP entry is installed automatically, but its global User Rule must be pasted into Cursor Settings → Rules → User Rules because Cursor does not publish a file-backed global-rule surface. Project-local Cursor setup is fully automatic: cairntir init --host cursor.

Once installed, Cairntir stays on. Every cairntir CLI invocation silently re-verifies the user-scope MCP registration and re-registers the stable cairntir-mcp launcher if Claude Code can't find it. Moving venvs, upgrading Python, or reinstalling no longer breaks the wiring — pip install cairntir is TRUE, pip uninstall cairntir is FALSE, nothing in between. When a newer release lands on PyPI, the next CLI run and the next MCP tool response prepend a one-line update banner; nothing is interrupted.

Both side effects are opt-out for CI / air-gapped use:

  • CAIRNTIR_DISABLE_AUTOREGISTER=1 — skip the silent self-heal MCP registration.
  • CAIRNTIR_DISABLE_UPDATE_CHECK=1 — skip

Related servers

n8n

by n8n-io

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

NOASSERTION198,904

@modelcontextprotocol/server-everything

Official

by modelcontextprotocol

MCP server that exercises all the features of the MCP protocol

89,105

@modelcontextprotocol/server-filesystem

Official

by modelcontextprotocol

MCP server for filesystem access

SEE LICENSE IN LICENSE89,105

mcp-server-fetch

Official

by modelcontextprotocol

A Model Context Protocol server providing tools to fetch and convert web content for usage by LLMs

89,105