LinkLore is an MCP server for project memory, designed for AI agents rather than humans. The problem it solves is this: every new session, AI agents start from scratch, decisions are re-argued, pitfalls are rediscovered, and "why it was done this way" can only be answered by guessing. Markdown notes cannot solve this problem because they are written for humans, drift out of sync with the code, and no agent will reliably read them.
Purpose and main capabilities LinkLore provides structured memory that agents themselves read and write through MCP tools. It contains two record types: lore (decisions, pitfalls, logs) and doc (specs, plans), which are bidirectionally linked to each other and linked to code files. Memory is local-first, with everything stored in a .linklore/ SQLite store within the project, and no account is needed to get started. Records are linked to source files; git-diff-based staleness detection flags memories that have been overtaken by the code. Retrieval is low-cost and can be queried by semantics, tags, files, status, or time period; brief() at the start of a session returns unfinished items and hotspots in a few hundred tokens.
How to use LinkLore can be run directly from PyPI with no installation or cloning, using the command uvx llre. For other MCP clients (Cursor, Codex, Windsurf, etc.), add it to the project's MCP configuration (for example .mcp.json): {"mcpServers": {"llre": {"command": "uvx", "args": ["llre"]}}}. Then run initialization once in the project root: uvx llre init. You can also let the agent complete the entire setup, because this is a server designed for AI agent setup rather than manual entry. You can use the following as the first message to Claude Code, Cursor, Codex, or another MCP-capable agent: "Set up LinkLore (an MCP server for project memory) in this repo. It's the PyPI package llre, run via uvx llre — no install or clone needed. Register it as an MCP server for whichever client you are (Claude Code: claude mcp add llre -- uvx llre ; otherwise add {"mcpServers": {"llre": {"command": "uvx", "args": ["llre"]}}} to this project's .mcp.json), then run uvx llre init here. Ask me first before running uvx llre login — it opens a browser for Google login and is only needed for personal backup or team sharing."
Available tools There are 23 tools in total. Use help=True when calling any tool to get full usage. The complete guide is provided with the product in the form of lore; LinkLore documents itself using itself. After running init(), the project carries it as a read-only source; it updates with the package, and after upgrading llre, brief() will report what changed.
Repository structure and license The repository's mcp/ is the readable portion of the MCP server source code (PyPI package name llre), and plugin/ is the Claude Code plugin wrapper. The repository publishes the MCP server's source code under the Elastic License 2.0: entry points, internationalization directories, basic tools, and getting-started guide. The core modules (search, ranking, contradiction detection, tool logic) are provided in the published wheel as compiled extensions rather than plain-text source code, so "read line by line and fork" does not fully hold, but most of it is readable, and it can be run within an organization, self-hosted, and used commercially. The repository tree cannot be built on its own (the compiled modules are not here); the published package should be installed: uvx llre.
Case study and citation LinkLore is a case study for the paper "When the Agent Is the User: Agent-Driven Evolution of AI-Native Tools," which defines the AI-Native Tools category, in which AI agents are the primary operators. DOI: 10.5281/zenodo.21216858, citation file: CITATION.cff.
License and restrictions Licensed under the Elastic License 2.0. You may install and use it free of charge; you may not provide this software as a competing hosted service, bypass license key functionality, or remove license notices. Team sync, cross-project sharing, and cloud backup are provided by the backend service of linklore.io (not included in this repository). Specific information such as fees and pricing is not yet provided.