VOOZH about

URL: https://glama.ai/mcp/servers/roboticforce/remembrallmcp?locale=ko-KR

โ‡ฑ remembrallmcp by roboticforce | Glama


RemembrallMCP

๐Ÿ‘ License: MIT
๐Ÿ‘ Crates.io
๐Ÿ‘ CI
๐Ÿ‘ Docker

AI ์—์ด์ „ํŠธ๋ฅผ ์œ„ํ•œ ์ง€์†์ ์ธ ์ง€์‹ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ์ฝ”๋“œ ์ธํ…”๋ฆฌ์ „์Šค์ž…๋‹ˆ๋‹ค. Rust ์ฝ”์–ด, Postgres + pgvector, MCP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ์ : AI ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๋Š” ์ƒํƒœ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์„ธ์…˜์€ 0์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๊ณผ๊ฑฐ ๊ฒฐ์ •์— ๋Œ€ํ•œ ๊ธฐ์–ต์ด ์—†๊ณ , ์ฝ”๋“œ๋ฒ ์ด์Šค๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋ฉฐ, ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ณ€๊ฒฝํ–ˆ์„ ๋•Œ ๋ฌด์—‡์ด ๊นจ์ง€๋Š”์ง€ ์•Œ ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ์ฑ…: RemembrallMCP๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๋ฉ”๋ชจ๋ฆฌ ๋„๊ตฌ๊ฐ€ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š” ๋‘ ๊ฐ€์ง€๋ฅผ ์—์ด์ „ํŠธ์—๊ฒŒ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

1. ์ง€์†์  ๋ฉ”๋ชจ๋ฆฌ - ์„ธ์…˜ ๊ฐ„์— ์œ ์ง€๋˜๋Š” ๊ฒฐ์ •, ํŒจํ„ด ๋ฐ ์กฐ์ง์  ์ง€์‹์ž…๋‹ˆ๋‹ค. ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์˜๋ฏธ๋ก ์  + ์ „์ฒด ํ…์ŠคํŠธ ๊ฒ€์ƒ‰์œผ๋กœ ๊ด€๋ จ ์ปจํ…์ŠคํŠธ๋ฅผ ์ฆ‰์‹œ ์ฐพ์Šต๋‹ˆ๋‹ค.

2. ์ฝ”๋“œ ์˜์กด์„ฑ ๊ทธ๋ž˜ํ”„ - tree-sitter๋กœ ๊ตฌ์ถ•๋œ ์ฝ”๋“œ๋ฒ ์ด์Šค์˜ ์‹ค์‹œ๊ฐ„ ์ง€๋„์ž…๋‹ˆ๋‹ค. 8๊ฐœ ์–ธ์–ด์— ๊ฑธ์นœ ํ•จ์ˆ˜, ํด๋ž˜์Šค, ์ž„ํฌํŠธ ๋ฐ ํ˜ธ์ถœ ๊ด€๊ณ„๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. "์ด๊ฒƒ์„ ๋ณ€๊ฒฝํ•˜๋ฉด ๋ฌด์—‡์ด ๊นจ์งˆ๊นŒ?"๋ผ๊ณ  ๋ฌผ์œผ๋ฉด ์—์ด์ „ํŠธ๊ฐ€ ๊ฑด๋“œ๋ฆฌ๊ธฐ ์ „์— ๋ฐ€๋ฆฌ์ดˆ ๋‹จ์œ„๋กœ ๋‹ต๋ณ€์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์ฝ”๋“œ ๊ทธ๋ž˜ํ”„๊ฐ€ ์ค‘์š”ํ•œ ์ด์œ 

RemembrallMCP๊ฐ€ ์—†์œผ๋ฉด ์—์ด์ „ํŠธ๋Š” ๋งค ์„ธ์…˜๋งˆ๋‹ค ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. Claude Code๋Š” Explore ์—์ด์ „ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , Codex๋Š” ์ˆ˜์‹ญ ๊ฐœ์˜ ํŒŒ์ผ์„ ์ฝ์œผ๋ฉฐ, Cursor๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ grepํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ๊ณผ์ •์€ ๋ฌด์—‡์ด ๋ฌด์—‡์„ ํ˜ธ์ถœํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ํ† ํฐ๊ณผ ์‹œ๊ฐ„์„ ๋‚ญ๋น„ํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. "์ด ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ชจ๋“  ๊ณณ ์ฐพ๊ธฐ" ์ž‘์—… ํ•˜๋‚˜๋งŒ์œผ๋กœ๋„ ์—ฌ๋Ÿฌ ๋„๊ตฌ ํ˜ธ์ถœ์— ๊ฑธ์ณ ์ˆ˜์ฒœ ๊ฐœ์˜ ํ† ํฐ์ด ์†Œ๋ชจ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

RemembrallMCP๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋™์ผํ•œ ์ฟผ๋ฆฌ๊ฐ€ 1ms ๋ฏธ๋งŒ์— ๋ฐ˜ํ™˜๋˜๋Š” ๋‹จ์ผ remembrall_impact ํ˜ธ์ถœ๋กœ ํ•ด๊ฒฐ๋˜๋ฉฐ ํƒ์ƒ‰ ํ† ํฐ์€ 0์ž…๋‹ˆ๋‹ค. ์˜์กด์„ฑ ๊ทธ๋ž˜ํ”„๋Š” ์ด๋ฏธ ๊ตฌ์ถ•๋˜์–ด ๋Œ€๊ธฐ ์ค‘์ž…๋‹ˆ๋‹ค.

RemembrallMCP ์—†์Œ

RemembrallMCP ์žˆ์Œ

"UserService๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ณณ์€?"

์—์ด์ „ํŠธ๊ฐ€ grepํ•˜๊ณ , 8-15๊ฐœ ํŒŒ์ผ์„ ์ฝ๊ณ , ํ•˜์œ„ ์—์ด์ „ํŠธ ์ƒ์„ฑ

remembrall_impact - 1ํšŒ ํ˜ธ์ถœ, 1ms ๋ฏธ๋งŒ

"์ธ์ฆ ๋ฏธ๋“ค์›จ์–ด๋Š” ์–ด๋””์— ์ •์˜๋˜์–ด ์žˆ๋‚˜?"

์—์ด์ „ํŠธ๊ฐ€ globํ•˜๊ณ , ์ผ์น˜ ํ•ญ๋ชฉ์„ ์ฝ๊ณ , ํ•„ํ„ฐ๋ง

remembrall_lookup_symbol - 1ํšŒ ํ˜ธ์ถœ, 1ms ๋ฏธ๋งŒ

"์บ์‹ฑ์— ๋Œ€ํ•ด ๋ฌด์—‡์„ ๊ฒฐ์ •ํ–ˆ์—ˆ์ง€?"

์—์ด์ „ํŠธ๊ฐ€ ์ปจํ…์ŠคํŠธ๊ฐ€ ์—†์–ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์งˆ๋ฌธ

remembrall_recall - 1ํšŒ ํ˜ธ์ถœ, ์•ฝ 25ms

์ผ๋ฐ˜์ ์ธ ํƒ์ƒ‰ ๋น„์šฉ

์งˆ๋ฌธ๋‹น 5,000-20,000 ํ† ํฐ

์•ฝ 200 ํ† ํฐ (๋„๊ตฌ ํ˜ธ์ถœ + ์‘๋‹ต)

์ ˆ๊ฐ ํšจ๊ณผ๋Š” ์ฝ”๋“œ๋ฒ ์ด์Šค ํฌ๊ธฐ์— ๋”ฐ๋ผ ์ปค์ง‘๋‹ˆ๋‹ค. ์ž‘์€ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์—์ด์ „ํŠธ๊ฐ€ grepํ•˜๊ณ  ์ฝ์œผ๋ฉด์„œ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, 500๊ฐœ ํŒŒ์ผ ๊ทœ๋ชจ์˜ ๋ชจ๋…ธ๋ ˆํฌ์—์„œ๋Š” ๊ทธ๋Ÿฌํ•œ ํƒ์ƒ‰์ด ๋ณ‘๋ชฉ ํ˜„์ƒ์ด ๋ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๊ฐ€ ์ปจํ…์ŠคํŠธ ์ œํ•œ์— ๋„๋‹ฌํ•˜๊ฑฐ๋‚˜, ์—ฌ๋Ÿฌ ํ•˜์œ„ ์—์ด์ „ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜, ๋ชจ๋“ˆ ๊ฐ„ ์˜์กด์„ฑ์„ ์™„์ „ํžˆ ๋†“์น˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. RemembrallMCP์˜ ๊ทธ๋ž˜ํ”„ ์ฟผ๋ฆฌ๋Š” ๊ตฌ์กฐ๊ฐ€ ๋Ÿฐํƒ€์ž„์— ๋ฐœ๊ฒฌ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ Postgres์— ๋ฏธ๋ฆฌ ์ธ๋ฑ์‹ฑ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ํ”„๋กœ์ ํŠธ ํฌ๊ธฐ์— ๊ด€๊ณ„์—†์ด 10ms ๋ฏธ๋งŒ์œผ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋งค๋ฒˆ ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” ์—์ด์ „ํŠธ์™€ ์ด๋ฏธ ์ดํ•ดํ•˜๊ณ  ์žˆ๋Š” ์—์ด์ „ํŠธ์˜ ์ฐจ์ด์ž…๋‹ˆ๋‹ค.

๋ฒค์น˜๋งˆํฌ

RemembrallMCP๋Š” ํ˜„์žฌ ๋‘ ๊ฐ€์ง€ ์ธก๋ฉด์—์„œ ๋ฒค์น˜๋งˆํฌ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค:

  • ์ฝ”๋“œ ์ž‘์—…์— ๋Œ€ํ•œ ์—์ด์ „ํŠธ ์ƒ์‚ฐ์„ฑ - pallets/click v8.1.7(594๊ฐœ ์‹ฌ๋ณผ, 1,589๊ฐœ ๊ด€๊ณ„)์—์„œ ํ…Œ์ŠคํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 5๊ฐœ์˜ ๋™์ผํ•œ ์ฝ”๋”ฉ ์ž‘์—…์„ RemembrallMCP ์‚ฌ์šฉ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ „์ฒด ๋ณด๊ณ ์„œ.

  • ๋ฉ”๋ชจ๋ฆฌ ํšŒ์ƒ ํ’ˆ์งˆ - ๊ฒ€์ƒ‰ ํ’ˆ์งˆ, ํ•„ํ„ฐ๋ง, ์—ฃ์ง€ ์ผ€์ด์Šค, ์ˆœ์œ„ ์ง€์ • ๋ฐ ์ง€์—ฐ ์‹œ๊ฐ„์„ ๋‹ค๋ฃจ๋Š” 31๊ฐœ์˜ ์ •๋‹ต ์ฟผ๋ฆฌ์— ๋Œ€ํ•ด ๋กœ์ปฌ ํšŒ์ƒ ํ•˜๋„ค์Šค๋ฅผ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ง€ํ‘œ

RemembrallMCP ์—†์Œ

RemembrallMCP ์žˆ์Œ

์ฐจ์ด

์ด ๋„๊ตฌ ํ˜ธ์ถœ (5๊ฐœ ์ž‘์—…)

112

5

-95.5%

์˜ˆ์ƒ ํ† ํฐ

์•ฝ 56,000

์•ฝ 1,000

-98.2%

์งˆ๋ฌธ๋‹น ํ‰๊ท  ๋„๊ตฌ ํ˜ธ์ถœ

22.4

1.0

-95.5%

์ ˆ๊ฐ ํšจ๊ณผ๋Š” ๋” ํฐ ์ฝ”๋“œ๋ฒ ์ด์Šค์—์„œ ๋ณตํ•ฉ์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. Click์€ ์•ฝ 90๊ฐœ ํŒŒ์ผ ๊ทœ๋ชจ์ด๋ฉฐ, 500๊ฐœ ์ด์ƒ์˜ ํŒŒ์ผ์ด ์žˆ๋Š” ๋ชจ๋…ธ๋ ˆํฌ์—์„œ๋Š” RemembrallMCP๊ฐ€ ์—†๋Š” ์—์ด์ „ํŠธ๊ฐ€ ๋น„๋ก€์ ์œผ๋กœ ๋” ๋งŽ์€ ํƒ์ƒ‰ ํ˜ธ์ถœ์„ ํ•„์š”๋กœ ํ•˜๋Š” ๋ฐ˜๋ฉด, ๊ทธ๋ž˜ํ”„ ์ฟผ๋ฆฌ๋Š” ํฌ๊ธฐ์— ๊ด€๊ณ„์—†์ด 10ms ๋ฏธ๋งŒ์œผ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ํšŒ์ƒ ์ง€ํ‘œ

๊ฒฐ๊ณผ

ํ†ต๊ณผํ•œ ์ฟผ๋ฆฌ

31 / 31

Recall@5

0.917

Precision@5

0.619

MRR

0.908

p95 ์ง€์—ฐ ์‹œ๊ฐ„

14ms

์ง์ ‘ ๋ฒค์น˜๋งˆํฌ๋ฅผ ์‹คํ–‰ํ•ด ๋ณด์„ธ์š”: ํ•˜๋„ค์Šค ๋ฐ ์ž‘์—… ์ •์˜๋Š” benchmarks/๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ฉ”๋ชจ๋ฆฌ ๊ฒ€์ƒ‰, ์žฅ๊ธฐ ๊ธฐ์–ต, ์ฝ”๋“œ ๊ทธ๋ž˜ํ”„ ์ •ํ™•์„ฑ ๋ฐ ์—์ด์ „ํŠธ ์ƒ์‚ฐ์„ฑ์— ๊ฑธ์นœ ๋” ๊ด‘๋ฒ”์œ„ํ•œ ๋ฒค์น˜๋งˆํฌ ์ „๋žต์€ docs/benchmark-roadmap.md๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์š”๊ตฌ ์‚ฌํ•ญ

  • Docker (๊ฐ€์žฅ ์‰ฌ์šด ์„ค์ •) ๋˜๋Š” pgvector๊ฐ€ ํฌํ•จ๋œ PostgreSQL 16

  • GitHub ์ˆ˜์ง‘์šฉ: GitHub CLI (gh) ์„ค์น˜ ๋ฐ ์ธ์ฆ ์™„๋ฃŒ

Related MCP server: smriti

๋น ๋ฅธ ์‹œ์ž‘

์˜ต์…˜ 1: Docker Compose (๊ฐ€์žฅ ์‰ฌ์›€)

git clone https://github.com/cdnsteve/remembrallmcp.git
cd remembrallmcp

# Start Postgres + initialize schema + download embedding model
docker compose up -d

# Verify it's running
docker compose exec remembrall remembrall status

์ด๊ฒƒ์œผ๋กœ ๋์ž…๋‹ˆ๋‹ค. pgvector๊ฐ€ ํฌํ•จ๋œ Postgres, ์Šคํ‚ค๋งˆ ๋ฐ ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ์ด ์ž๋™์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋ชจ๋ธ ์บ์‹œ๋Š” ์žฌ์‹œ์ž‘ ํ›„์—๋„ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

MCP ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋ฉด:

docker compose run --rm remembrall

์˜ต์…˜ 2: ์‚ฌ์ „ ๋นŒ๋“œ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋‹ค์šด๋กœ๋“œ

# macOS (Apple Silicon)
curl -fsSL https://github.com/cdnsteve/remembrallmcp/releases/latest/download/remembrall-aarch64-apple-darwin.tar.gz | tar xz
sudo mv remembrall /usr/local/bin/

# Linux (x86_64)
curl -fsSL https://github.com/cdnsteve/remembrallmcp/releases/latest/download/remembrall-x86_64-unknown-linux-gnu.tar.gz | tar xz
sudo mv remembrall /usr/local/bin/

# Initialize (sets up Postgres via Docker, creates schema, downloads model)
remembrall init

์˜ต์…˜ 3: ์†Œ์Šค์—์„œ ๋นŒ๋“œ (Rust 1.94+ ํ•„์š”)

cargo build -p remembrall-server --release
# Binary is at target/release/remembrall

remembrall init

MCP ํด๋ผ์ด์–ธํŠธ์— ์—ฐ๊ฒฐ

Codex

Codex๋Š” ๋™์ผํ•œ MCP ์„œ๋ฒ„ ์ •์˜ ํ˜•์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๋ฅผ remembrall๋กœ ๋“ฑ๋กํ•˜๊ณ  ์„ค์น˜๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ๋‚˜ ๋กœ์ปฌ ๋ฆด๋ฆฌ์Šค ๋นŒ๋“œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

remembrall์ด PATH์— ์„ค์น˜๋œ ๊ฒฝ์šฐ:

{
 "mcpServers": {
 "remembrall": {
 "command": "remembrall"
 }
 }
}

๋กœ์ปฌ ์†Œ์Šค ์ฒดํฌ์•„์›ƒ์—์„œ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ:

{
 "mcpServers": {
 "remembrall": {
 "command": "/path/to/remembrallmcp/target/release/remembrall",
 "env": {
 "DATABASE_URL": "postgres://postgres:postgres@localhost:5450/remembrall"
 }
 }
 }
}

Codex์—์„œ Docker Compose๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ:

{
 "mcpServers": {
 "remembrall": {
 "command": "docker",
 "args": ["compose", "-f", "/path/to/remembrallmcp/docker-compose.yml", "run", "--rm", "-T", "remembrall"]
 }
 }
}

์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•œ ํ›„ Codex๋ฅผ ์žฌ์‹œ์ž‘ํ•˜์—ฌ ๋‹ค์‹œ ์—ฐ๊ฒฐํ•˜๊ณ  ๋„๊ตฌ๋ฅผ ๋กœ๋“œํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

Claude Code, Cursor ๋ฐ ๊ธฐํƒ€ MCP ํด๋ผ์ด์–ธํŠธ

ํ”„๋กœ์ ํŠธ์˜ .mcp.json์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค (Claude Code, Cursor ๋ฐ ๋ชจ๋“  MCP ํ˜ธํ™˜ ํด๋ผ์ด์–ธํŠธ์—์„œ ์ž‘๋™).

์‚ฌ์ „ ๋นŒ๋“œ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ๋‚˜ ์†Œ์Šค์—์„œ ๋นŒ๋“œํ•œ ๊ฒฝ์šฐ:

{
 "mcpServers": {
 "remembrall": {
 "command": "remembrall"
 }
 }
}

Docker Compose๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ:

{
 "mcpServers": {
 "remembrall": {
 "command": "docker",
 "args": ["compose", "-f", "/path/to/remembrallmcp/docker-compose.yml", "run", "--rm", "-T", "remembrall"]
 }
 }
}

์†Œ์Šค์—์„œ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ (PATH์— ์„ค์น˜๋˜์ง€ ์•Š์Œ):

{
 "mcpServers": {
 "remembrall": {
 "command": "/path/to/remembrallmcp/target/release/remembrall",
 "env": {
 "DATABASE_URL": "postgres://postgres:postgres@localhost:5450/remembrall"
 }
 }
 }
}

MCP ํด๋ผ์ด์–ธํŠธ๋ฅผ ์žฌ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. 9๊ฐœ์˜ ๋„๊ตฌ๊ฐ€ ๋ชจ๋‘ ์ž๋™์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค.

์‚ฌ์šฉํ•ด ๋ณด๊ธฐ

> "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"

MCP ๋„๊ตฌ

๋ฉ”๋ชจ๋ฆฌ

๋„๊ตฌ

์„ค๋ช…

remembrall_recall

๋ฉ”๋ชจ๋ฆฌ ๊ฒ€์ƒ‰ - RRF ์œตํ•ฉ์„ ์‚ฌ์šฉํ•œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์˜๋ฏธ๋ก ์  + ์ „์ฒด ํ…์ŠคํŠธ ๊ฒ€์ƒ‰

remembrall_store

๋ฒกํ„ฐ ์ž„๋ฒ ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฐ์ •, ํŒจํ„ด, ์ง€์‹ ์ €์žฅ

remembrall_update

๊ธฐ์กด ๋ฉ”๋ชจ๋ฆฌ ์—…๋ฐ์ดํŠธ (๋‚ด์šฉ, ์š”์•ฝ, ํƒœ๊ทธ ๋˜๋Š” ์ค‘์š”๋„)

remembrall_delete

UUID๋กœ ๋ฉ”๋ชจ๋ฆฌ ์‚ญ์ œ

remembrall_ingest_github

GitHub ์ €์žฅ์†Œ์—์„œ ๋ณ‘ํ•ฉ๋œ PR ์„ค๋ช…์„ ๋Œ€๋Ÿ‰์œผ๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ

remembrall_ingest_docs

๋””๋ ‰ํ† ๋ฆฌ์—์„œ ๋งˆํฌ๋‹ค์šด ํŒŒ์ผ์„ ์Šค์บ”ํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ

์ฝ”๋“œ ์ธํ…”๋ฆฌ์ „์Šค

๋„๊ตฌ

์„ค๋ช…

remembrall_index

ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์˜์กด์„ฑ ๊ทธ๋ž˜ํ”„๋กœ ํŒŒ์‹ฑ (8๊ฐœ ์–ธ์–ด)

remembrall_impact

ํญ๋ฐœ ๋ฐ˜๊ฒฝ ๋ถ„์„ - "์ด๊ฒƒ์„ ๋ณ€๊ฒฝํ•˜๋ฉด ๋ฌด์—‡์ด ๊นจ์งˆ๊นŒ?"

remembrall_lookup_symbol

ํ”„๋กœ์ ํŠธ ์ „์ฒด์—์„œ ํ•จ์ˆ˜๋‚˜ ํด๋ž˜์Šค๊ฐ€ ์ •์˜๋œ ์œ„์น˜ ์ฐพ๊ธฐ

์ง€์›๋˜๋Š” ์–ธ์–ด

์–ธ์–ด

ํ™•์žฅ์ž

ํ’ˆ์งˆ ์ ์ˆ˜

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)

์ ์ˆ˜๋Š” ์ž๋™ํ™”๋œ ์ •๋‹ต ํ…Œ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹ค์ œ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ(Click, Gson, Axios, bat, Cobra, Sidekiq, Hono, Exposed)๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์ธก์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ฝœ๋“œ ์Šคํƒ€ํŠธ

์ƒˆ๋กœ์šด RemembrallMCP ์ธ์Šคํ„ด์Šค์—๋Š” ์ง€์‹์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ํ”„๋กœ์ ํŠธ ๊ธฐ๋ก์—์„œ ๋ถ€ํŠธ์ŠคํŠธ๋žฉํ•˜๋ ค๋ฉด ์ˆ˜์ง‘ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

GitHub PR ๊ธฐ๋ก์—์„œ:

> remembrall_ingest_github repo="myorg/myrepo" limit=100

gh๋ฅผ ํ†ตํ•ด ๋ณ‘ํ•ฉ๋œ PR์„ ๊ฐ€์ ธ์˜ค๊ณ , ์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ์„ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์š”์•ฝํ•˜๋ฉฐ, ํ”„๋กœ์ ํŠธ๋ณ„๋กœ ํƒœ๊ทธ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ณธ๋ฌธ์ด 50์ž ๋ฏธ๋งŒ์ธ PR์€ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค. ์ฝ˜ํ…์ธ  ์ง€๋ฌธ์œผ๋กœ ์ค‘๋ณต ์ œ๊ฑฐ๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋ฐ˜๋ณต ์‹คํ–‰ ์‹œ ์žฌ์ˆ˜์ง‘์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๋งˆํฌ๋‹ค์šด ๋ฌธ์„œ์—์„œ:

> remembrall_ingest_docs path="/path/to/project"

๋””๋ ‰ํ† ๋ฆฌ ํŠธ๋ฆฌ๋ฅผ ํƒ์ƒ‰ํ•˜์—ฌ ๋ชจ๋“  .md ํŒŒ์ผ์„ ์ฐพ๊ณ , H2 ์„น์…˜ ํ—ค๋”๋ณ„๋กœ ๋ถ„ํ• ํ•œ ๋‹ค์Œ ๊ฐ ์„น์…˜์„ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. node_modules, .git, target ๋ฐ ์œ ์‚ฌํ•œ ๋””๋ ‰ํ† ๋ฆฌ๋Š” ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค. README, ARCHITECTURE, ADR ๋ฐ ๋ชจ๋“  ์ž‘์„ฑ๋œ ๋ฌธ์„œ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ๋‹น ํ•œ ๋ฒˆ์”ฉ ๋‘˜ ๋‹ค ์‹คํ–‰ํ•˜์„ธ์š”. ์ˆ˜์ง‘ ํ›„ remembrall_recall์€ ์ฆ‰๊ฐ์ ์ธ ์ปจํ…์ŠคํŠธ๋ฅผ ๊ฐ–๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์•„ํ‚คํ…์ฒ˜

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
  • ํŒŒ์‹ฑ: tree-sitter (Rust ๋ฐ”์ธ๋”ฉ, ํŒŒ์ดํ”„๋ผ์ธ์— Python ์—†์Œ)

  • ์ž„๋ฒ ๋”ฉ: fastembed (all-MiniLM-L6-v2, 384์ฐจ์›, ์ธํ”„๋กœ์„ธ์Šค ONNX Runtime)

  • ๊ฒ€์ƒ‰: ํ•˜์ด๋ธŒ๋ฆฌ๋“œ RRF (์˜๋ฏธ๋ก ์  ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„ + ์ „์ฒด ํ…์ŠคํŠธ tsvector)

  • ๊ทธ๋ž˜ํ”„ ์ฟผ๋ฆฌ: ์ˆœํ™˜ ๊ฐ์ง€ ๋ฐ ์‹ ๋ขฐ๋„ ๊ฐ์‡ ๊ฐ€ ํฌํ•จ๋œ ์žฌ๊ท€์  CTE

  • ์ „์†ก: rmcp๋ฅผ ํ†ตํ•œ stdio

CLI ๋ช…๋ น์–ด

๋ช…๋ น์–ด

์„ค๋ช…

remembrall init

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ์Šคํ‚ค๋งˆ ๋ฐ ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ ์„ค์ •

remembrall serve

MCP ์„œ๋ฒ„ ์‹คํ–‰ (ํ•˜์œ„ ๋ช…๋ น์ด ์—†์„ ๋•Œ ๊ธฐ๋ณธ๊ฐ’)

remembrall start

Docker ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ปจํ…Œ์ด๋„ˆ ์‹œ์ž‘

remembrall stop

Docker ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ปจํ…Œ์ด๋„ˆ ์ค‘์ง€

remembrall status

๋ฉ”๋ชจ๋ฆฌ ์ˆ˜, ์‹ฌ๋ณผ ์ˆ˜, ์—ฐ๊ฒฐ ์ƒํƒœ ํ‘œ์‹œ

remembrall doctor

์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ ํ™•์ธ (Docker, pgvector, ์Šคํ‚ค๋งˆ, ๋ชจ๋ธ)

remembrall reset --force

์Šคํ‚ค๋งˆ ์‚ญ์ œ ๋ฐ ์žฌ์ƒ์„ฑ (๋ชจ๋“  ๋ฐ์ดํ„ฐ ์‚ญ์ œ)

remembrall version

๋ฒ„์ „ ๋ฐ ๊ตฌ์„ฑ ๊ฒฝ๋กœ ์ถœ๋ ฅ

๊ตฌ์„ฑ

๊ตฌ์„ฑ ํŒŒ์ผ: ~/.remembrall/config.toml (remembrall init์— ์˜ํ•ด ์ƒ์„ฑ๋จ)

ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋Š” ๊ตฌ์„ฑ ํŒŒ์ผ ๊ฐ’์„ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค:

๋ณ€์ˆ˜

์„ค๋ช…

REMEMBRALL_DATABASE_URL ๋˜๋Š” DATABASE_URL

PostgreSQL ์—ฐ๊ฒฐ ๋ฌธ์ž์—ด

REMEMBRALL_SCHEMA

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ์ด๋ฆ„ (๊ธฐ๋ณธ๊ฐ’: 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

์„ฑ๋Šฅ

์ž‘์—…

์‹œ๊ฐ„

๋ฉ”๋ชจ๋ฆฌ ์ €์žฅ

7ms

์˜๋ฏธ๋ก ์  ๊ฒ€์ƒ‰ (HNSW)

1ms ๋ฏธ๋งŒ

์ „์ฒด ํ…์ŠคํŠธ ๊ฒ€์ƒ‰

1ms ๋ฏธ๋งŒ

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ํšŒ์ƒ (์ข…๋‹จ๊ฐ„)

์•ฝ 25ms

์˜ํ–ฅ ๋ถ„์„

4-9ms

์‹ฌ๋ณผ ์กฐํšŒ

1ms ๋ฏธ๋งŒ

89๊ฐœ Python ํŒŒ์ผ ์ธ๋ฑ์‹ฑ

2.3s

๋ผ์ด์„ ์Šค

MIT

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
6dRelease cycle
6Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/roboticforce/remembrallmcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server