RemembrallMCP – persistent memory and code graph for AI agents

hackernews | | 📦 오픈소스
#mcp 프로토콜 #remembrallmcp #지속적 메모리 #코드 그래프 #ai 모델 #ai 에이전트 #claude #mcp #pgvector #rust #코드 의존성
원문 출처: hackernews · Genesis Park에서 요약 및 분석

요약

RemembrallMCP는 AI 코딩 에이전트의 상태 비저장(Stateless) 한계를 극복하기 위해 세션 간에 유지되는 지속적 메모리와 코드 의존성 그래프를 제공하는 도구입니다. 핵심 기능으로는 하이브리드 검색을 통한 의사결정 기록의 즉각적인 조회, 그리고 8개 프로그래밍 언어를 지원하는 tree-sitter 기반의 실시간 코드 분석이 있습니다. 특히 'remembrall_impact' 도구를 사용하면 코드 변경 시 영향을 받는 파일을 밀리초 단위로 분석하여 불필요한 토큰 소모와 시간을 크게 줄일 수 있습니다. Rust 코어 기반에 Postgres와 pgvector를 결합하여 25ms 이내의 매우 빠른 하이브리드 검색 및 분석 속도를 자랑합니다.

본문

Persistent knowledge memory and code intelligence for AI agents. Rust core, Postgres + pgvector, MCP protocol. The problem: AI coding agents are stateless. Every session starts from zero - no memory of past decisions, no understanding of how the codebase fits together, no way to know what breaks when you change something. The solution: RemembrallMCP gives agents two things most memory tools don't: 1. Persistent Memory - Decisions, patterns, and organizational knowledge that survive between sessions. Hybrid semantic + full-text search finds relevant context instantly. 2. Code Dependency Graph - A live map of your codebase built with tree-sitter. Functions, classes, imports, and call relationships across 8 languages. Ask "what breaks if I change this?" and get an answer in milliseconds - before the agent touches anything. remembrall_recall("authentication middleware patterns") -> 3 relevant memories from past sessions remembrall_index("/path/to/project", "myapp") -> Builds dependency graph: 847 symbols, 1,203 relationships remembrall_impact("AuthMiddleware", direction="upstream") -> 12 files depend on AuthMiddleware (with confidence scores) remembrall_store("Switched from JWT to session tokens because...") -> Decision stored for future sessions Without RemembrallMCP, agents explore your codebase from scratch every session. Claude Code spawns Explore agents, Codex reads dozens of files, Cursor greps through directories - all burning tokens and time just to understand what calls what. A single "find all callers of this function" task can cost thousands of tokens across multiple tool calls. With RemembrallMCP, that same query is a single remembrall_impact call that returns in "Store a memory: We chose Postgres over MongoDB because our query patterns are relational. Type: decision, tags: database, architecture" > "Recall what we know about database decisions" > "Index this project and show me the impact of changing UserService" | Tool | Description | |---|---| remembrall_recall | Search memories - hybrid semantic + full-text with RRF fusion | remembrall_store | Store decisions, patterns, knowledge with vector embeddings | remembrall_update | Update an existing memory (content, summary, tags, or importance) | remembrall_delete | Remove a memory by UUID | remembrall_ingest_github | Bulk-import merged PR descriptions from a GitHub repo | remembrall_ingest_docs | Scan a directory for markdown files and ingest them as memories | | Tool | Description | |---|---| remembrall_index | Parse a project directory into a dependency graph (8 languages) | remembrall_impact | Blast radius analysis - "what breaks if I change this?" | remembrall_lookup_symbol | Find where a function or class is defined across the project | | Language | Extensions | Quality Score | |---|---|---| | Python | .py | A (94.1) | | Java | .java | A (92.6) | | JavaScript | .js, .jsx | A (92.0) | | Rust | .rs | A (91.0) | | Go | .go | A (90.7) | | Ruby | .rb | B (87.9) | | TypeScript | .ts, .tsx | B (84.3) | | Kotlin | .kt, .kts | B (82.9) | Scores measured against real open-source projects (Click, Gson, Axios, bat, Cobra, Sidekiq, Hono, Exposed) using automated ground truth tests. A new RemembrallMCP instance has no knowledge. Use the ingestion tools to bootstrap from existing project history. From GitHub PR history: > remembrall_ingest_github repo="myorg/myrepo" limit=100 Fetches merged PRs via gh , digests titles and bodies into memories, and tags them by project. PRs with less than 50 characters of body are skipped. Deduplication by content fingerprint prevents re-ingestion on repeat runs. From markdown docs: > remembrall_ingest_docs path="/path/to/project" Walks the directory tree, finds all .md files, splits them by H2 section headers, and stores each section as a searchable memory. Skips node_modules , .git , target , and similar directories. Good for README, ARCHITECTURE, ADRs, and any written docs. Run both once per project. After ingestion, remembrall_recall has immediate context. Source Code Organizational Knowledge | | v v Tree-sitter Parsers Ingestion Pipeline (8 languages) (GitHub PRs, Markdown docs) | | v v +--------------------------------------------------+ | Postgres + pgvector | | | | memories (text + embeddings + metadata) | | symbols (functions, classes, methods) | | relationships (calls, imports, inherits) | +--------------------------------------------------+ | MCP Server (stdio) | Any MCP-compatible AI agent - Parsing: tree-sitter (Rust bindings, no Python in the pipeline) - Embeddings: fastembed (all-MiniLM-L6-v2, 384-dim, in-process ONNX Runtime) - Search: Hybrid RRF (semantic cosine similarity + full-text tsvector) - Graph queries: Recursive CTEs with cycle detection and confidence decay - Transport: stdio via rmcp | Command | Description | |---|---| remembrall init | Set up database, schema, and embedding model | remembrall serve | Run the MCP server (default when no subcommand given) | remembrall start | Start the Docker database container | remembrall stop | Stop the Docker database container | remembrall status | Show memory count, symbol count, connection status | remembrall doctor | Check for common problems (Docker, pgvector, schema, model) | remembrall reset --force | Drop and recreate the schema (deletes all data) | remembrall version | Print version and config path | Config file: ~/.remembrall/config.toml (created by remembrall init ) Environment variables override config file values: | Variable | Description | |---|---| REMEMBRALL_DATABASE_URL or DATABASE_URL | PostgreSQL connection string | REMEMBRALL_SCHEMA | Database schema name (default: remembrall ) | crates/ remembrall-core/ # Library - parsers, memory store, graph store, embedder remembrall-server/ # MCP server + CLI binary remembrall-test-harness/ # Parser quality testing against ground truth remembrall-recall-test/ # Search quality testing docs/ # Architecture and test plan docs test-fixtures/ # Ground truth TOML files for 8 languages tests/ # Recall test fixtures | Operation | Time | |---|---| | Memory store | 7ms | | Semantic search (HNSW) | <1ms | | Full-text search | <1ms | | Hybrid recall (end-to-end) | ~25ms | | Impact analysis | 4-9ms | | Symbol lookup | <1ms | | Index 89 Python files | 2.3s | MIT

Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.

공유

관련 저널 읽기

전체 보기 →