Skip to main content
Glama
StaryMoon

CodeGraph Memory MCP Lite

by StaryMoon
README.md
# CodeGraph Memory MCP Lite

> Local-first MCP-style code memory for research repositories: file search, Python symbols, import graph, and repo context packs.

[![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
[![Python](https://img.shields.io/badge/python-3.10%2B-blue)](pyproject.toml)
[![SQLite FTS](https://img.shields.io/badge/search-SQLite%20FTS5-purple)](#features)

<p align="center">
  <img src="assets/screenshots/mcp-reference.png" alt="Open-source developer tooling public page screenshot" width="880">
</p>

<sub>Image source: public Model Context Protocol homepage screenshot, [https://modelcontextprotocol.io/](https://modelcontextprotocol.io/). Used as a visual reference for local code-indexing and agent-tool workflows.</sub>

Research codebases are often small enough that a heavyweight code intelligence stack is overkill, but large enough that agents lose track of modules, configs, training scripts, and README claims. This project provides a tiny local codegraph memory layer for AI agents. It indexes a repository, extracts Python classes/functions/imports with the standard `ast` module, stores file text in SQLite FTS, and exposes MCP-style tools over stdio.

If this helps your agent understand a research repo faster, a star helps other builders discover it.

## Features

- Local-only SQLite database.
- File full-text search over code, Markdown, configs, and scripts.
- Python symbol extraction: classes, functions, async functions, and imports.
- Lightweight import graph and symbol lookup.
- MCP-style tools:
  - `index_codebase`
  - `search_code_memory`
  - `find_symbol`
  - `get_dependency_graph`
  - `summarize_repo_context`

## Quick Start

```bash
git clone https://github.com/StaryMoon/codegraph-memory-mcp-lite.git
cd codegraph-memory-mcp-lite
python3 -m venv .venv
source .venv/bin/activate
pip install -e .

codegraph-memory index examples/sample_repo
codegraph-memory symbol Trainer
codegraph-memory graph --limit 20
codegraph-memory context
```

## MCP Config

```json
{
  "mcpServers": {
    "codegraph-memory-lite": {
      "command": "python3",
      "args": ["-m", "codegraph_memory_mcp_lite.server", "serve"],
      "env": {
        "CODEGRAPH_MEMORY_DB": "/absolute/path/to/codegraph-memory.sqlite"
      }
    }
  }
}
```

## Why This Exists

Most code assistants can read files, but they often lack a persistent local map of:

- where classes and functions are defined;
- which modules import which modules;
- what README claims the repo makes;
- what training/evaluation scripts exist;
- which files are relevant to a user query.

This project gives an agent a small memory substrate before it starts editing.

## Related Projects

- [ai-researcher-skills](https://github.com/StaryMoon/ai-researcher-skills)
- [paper-memory-mcp-lite](https://github.com/StaryMoon/paper-memory-mcp-lite)
- [obsidian-research-brief-kit](https://github.com/StaryMoon/obsidian-research-brief-kit)

## License

MIT.