codex-memory-intelligence

codex-memory-intelligence

A local-first MCP server that gives AI coding agents durable project memory, dependency graphs, and impact analysis to answer team knowledge and cross-file change questions before editing.

Category
Visit Server

README

Codex Memory + Project Intelligence

CI CodeQL npm version License: MIT Node.js 22+

A local-first memory, dependency-intelligence, and impact-analysis layer for Codex and other AI coding agents.

CMI helps an agent answer four questions before changing a project:

  1. What has the team already learned or decided?
  2. Which files, symbols, and workspaces are connected to this change?
  3. Is the stored knowledge still current?
  4. Which repository content should be ignored or treated as generated noise?

Everything stays in a human-reviewable .codex-memory/ directory. There is no cloud service, API key, database, or telemetry.

Codex Memory Intelligence is an independent open-source project and is not affiliated with or endorsed by OpenAI.

Current status

v0.5 is a real-world public beta, published on npm as codex-memory-intelligence. It adds incremental scanning, .cmiignore, monorepo awareness, workspace-scoped retrieval, broader parser resolution, MCP resources/prompts, reproducible benchmarks, and release-metadata validation.

Static parsing remains best effort rather than compiler-grade analysis. See Architecture, Benchmarks, and Roadmap.

Install

Install the public npm package globally:

npm install -g codex-memory-intelligence
cmi --version

Or install it in one project and run it through npx:

npm install --save-dev codex-memory-intelligence
npx cmi --version

Requires Node.js 22 or newer.

Quick start

cmi doctor
cmi init
cmi scan
cmi remember fact "Production runs on Cloudflare Pages"
cmi remember decision "Schema changes must use D1 migrations" --source wrangler.toml
cmi context "change the leaderboard migration"
cmi impact migrate
cmi stale
cmi snapshot before-refactor
cmi status

A second unchanged cmi scan reuses previously parsed source nodes. Use cmi scan --full after parser/configuration experiments or when you deliberately want a complete rebuild.

Monorepos and workspaces

CMI detects npm/pnpm workspaces, Cargo workspace members, and Go workspaces/modules.

cmi workspaces
cmi context "authentication flow" --workspace packages/web
cmi search "shared API" --workspace @company/core

Graph nodes carry workspace IDs, impact analysis reports affected workspaces, and cross-workspace edges are counted separately.

Ignore semantics

Create a root .cmiignore file using gitignore-style patterns:

# Generated code
generated/
*.snapshot.json

# Re-include one file
!important.snapshot.json

Explain any decision:

cmi explain-ignore generated --directory
cmi explain-ignore important.snapshot.json --json

Built-in dependency/generated paths and symbolic links cannot be re-included. Hidden paths such as .env are excluded by default, while root .github/ and .cmiignore remain visible for repository intelligence. See Ignore semantics.

Commands

cmi init [path]
cmi scan [path] [--full] [--json]
cmi graph [path] [--json]
cmi workspaces [path] [--json]
cmi explain-ignore <path> [--directory] [--json]
cmi search <query> [--limit N] [--workspace name-or-path] [--json]
cmi context <query> [--limit N] [--workspace name-or-path] [--json]
cmi impact <file-or-symbol> [--depth N] [--json]
cmi remember <fact|decision|mistake> <text> [--source path ...]
cmi stale [path] [--fail-on stale|review|any] [--json]
cmi refresh-memory <id|all> [--reviewed-by name] [--reason text]
cmi snapshot [label]
cmi status [path] [--json]
cmi doctor [path] [--json]
cmi mcp-config [--write] [--bulk-refresh]
cmi --version

MCP integration

Generate the safe default configuration, with durable-memory mutations disabled:

cmi mcp-config

Enable durable-memory creation and reviewed refresh explicitly:

cmi mcp-config --write

Bulk refresh requires a second opt-in:

cmi mcp-config --write --bulk-refresh

The server exposes tools, resources, and prompt templates. It supports stable MCP protocol versions from 2024-11-05 through 2025-11-25, negotiates the client version when supported, and uses newline-delimited JSON-RPC over stdio. Scanning may refresh generated cache files; durable Markdown memory remains protected by explicit write opt-in.

See MCP integration.

Security model

  • Project scanning never follows symbolic links.
  • Source-linked memory accepts regular files only and verifies real paths remain inside the project.
  • Built-in dependency and generated paths cannot be negated through .cmiignore.
  • Hidden paths are excluded by default except root .github/ and .cmiignore.
  • MCP durable-memory tools are disabled by default.
  • Bulk memory refresh requires a separate opt-in.
  • Obvious credentials and private keys are rejected, but CMI is not a complete secret scanner.
  • Repository content and memory text remain untrusted input for connected agents.

Review .codex-memory/ before publishing it. Generated project-index.json, project-graph.json, and snapshots/ are ignored by default; durable Markdown knowledge and configuration remain reviewable and commit-friendly.

Parser scope

CMI uses bounded, dependency-free static parsing for common JavaScript/TypeScript, Python, Go, Rust, and related files. v0.5 adds TypeScript paths aliases, Python absolute-package heuristics, Go module imports, and Rust mod/crate::/self::/super:: resolution.

Aliases inherited through complex extends chains, generated code, runtime imports, macros, reflection, build-system rewrites, and dependency injection may not resolve completely. Go package imports are represented by a deterministic source-file node rather than a compiler package graph.

Development

npm run verify
npm run benchmark:smoke
npm run package:smoke

CI runs on Ubuntu, macOS, and Windows with Node.js 22 and 24. A separate benchmark smoke job checks incremental reuse and release metadata. CodeQL scans JavaScript and GitHub Actions workflows.

Community documents: Contributing, Code of Conduct, Governance, Support, Security, Maintainers, and Releasing.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured