MuninnDB: 사용에 따라 강화되고, 비사용 시 사라지며, 필요할 때 떠오르는 메모리
요약
MuninnDB는 사용 빈도와 연결성에 따라 정보가 강화되고, 비사용 시 자연스럽게 소멸하는 인지적 메모리 데이터베이스입니다. MCP, REST, gRPC 등 다양한 방식으로 접근 가능하며, 사전 요구 사항 없이 단일 바이너리로 작동합니다. Claude Desktop, Cursor 등 주요 AI 도구들과 쉽게 연동하여 영속적인 기억 기능을 제공합니다.
핵심 포인트
- 사용에 따라 강화되고 비사용 시 사라지는 인지적 메모리 구현
- MCP, REST, gRPC를 통해 접근 가능한 데이터베이스 구조
- 단일 바이너리로 의존성 없이 즉시 사용 가능
- Claude Desktop 등 주요 AI 도구와 자동 연동 지원
MuninnDB
사용에 따라 강화되고, 비사용 시 사라지며, 필요할 때 떠오르는 메모리 — MCP, REST, gRPC 또는 SDK를 통해 접근 가능.
핵심 인지 원시 요소(엔진 네이티브 Ebbinghaus decay, Hebbian learning, Bayesian confidence, semantic triggers)에 대해 2026년 2월 26일 임시 특허 출원. 이는 프로젝트가 모두에게 개방적이고 혁신적으로 유지될 수 있도록 보호하는 데 도움이 됩니다.
사전 요구 사항: 없음. 단일 바이너리, 의존성 제로, 설정 필요 없음.
제거 방법:rm $(which muninn)실행 후~/.muninn삭제.
사용해 보기 — 30초
macOS / Linux:
# 1. 설치
curl -sSL https://muninndb.com/install.sh | sh
...
Windows (PowerShell):
# 1. 설치
irm https://muninndb.com/install.ps1 | iex
...
# 3. 메모리 저장
curl -sX POST http://127.0.0.1:8475/api/engrams \
-H 'Content-Type: application/json' \
...
그 Q3 사건이 떠오른다. 당신은 그것을 언급한 적이 없었다. MuninnDB가 개념들을 연결했다.
웹 UI: http://127.0.0.1:8476 · 관리자 (Admin): root / password (첫 로그인 후 변경)
AI 도구 연결하기
MuninnDB는 Claude Desktop, Cursor, OpenClaw, Windsurf, OpenCode, VS Code 등 다른 도구를 자동으로 감지하고 구성합니다:
uninn init
프롬프트에 따라 진행하면 됩니다. 끝입니다. 이제 당신의 AI 도구들은 영속적이고 인지적인 메모리를 갖게 되었습니다.
수동 MCP 설정 — 수동으로 구성하는 것을 선호한다면:
<details> <summary>Claude Desktop</summary>~/Library/Application Support/Claude/claude_desktop_config.json (macOS) 또는 %APPDATA%\Claude\claude_desktop_config.json (Windows)에 추가:
{
⚠️ **참고:** "type"은 의도적으로 생략되었습니다. Claude Desktop v1.1.4010 이상 버전에서는 `mcpServers` 항목 중 어느 곳에든 "type": "http"가 포함되어 있으면 시작 시 충돌이 발생합니다. — 전송 방식(transport)은 URL에서 추론됩니다.
</details>
<details>
<summary>Claude Code / CLI</summary>
`~/.claude.json`에 추가:
```json
{
"mcpServers": {
"muninn": {
...
~/.cursor/mcp.json에 추가:
{
"mcpServers": {
"muninn": {
...
~/.openclaw/openclaw.json에 추가:
{
"mcpServers": {
"muninn": {
...
OpenClaw는 stdio 전송 방식을 사용합니다. muninn mcp 프록시(바이너리에 포함됨)가 베어러 토큰 인증을 자동으로 처리하므로, 설정 파일에 자격 증명(credential)이 필요하지 않습니다.
~/.codeium/windsurf/mcp_config.json에 추가:
{
"mcpServers": {
"muninn": {
...
작업 공간의 .vscode/mcp.json에 추가:
{
"servers": {
"muninn": {
...
macOS/Linux에서는 ~/.config/opencode/opencode.json에, Windows에서는 %APPDATA%\opencode\opencode.json에 추가:
{
"mcp": {
"muninn": {
...
토큰 인증 없이 MuninnDB를 실행하는 경우 headers 블록은 생략합니다.
</details> <details> <summary>GitHub Copilot</summary>참고: OpenCode 도구는
muninn_muninn_remember,muninn_muninn_recall등으로 노출됩니다 (서버 키 + 도구 이름 접두사). 더 짧은 이름을 선호하는 사용자는 대신 서버를memory라는 키로 등록할 수 있으며, 이 경우memory_muninn_remember,memory_muninn_recall등이 생성됩니다.
작업 공간의 .vscode/mcp.json에 추가:
{
"servers": {
"muninn": {
...
YOUR_ADMIN_TOKEN을 muninn.env 파일의 토큰으로 교체하세요. 토큰 인증 없이 실행하는 경우 headers 블록은 생략합니다. Copilot에서 OAuth 오류가 표시되면, headers 블록이 누락된 것이므로 이를 추가하면 해결됩니다. Copilot 전체 설정 가이드 →
Codebuff MCP 설정에 추가하세요:
{
"mcpServers": {
"muninn": {
...
요청받지 않은 상황에서도 유용한 발견을 저장하는 선제적 메모리 동작을 위해, AGENT.md에 메모리 지침을 추가하세요. Codebuff 전체 설정 가이드 →
MuninnDB는 35개의 MCP 도구를 노출합니다 — 저장, 활성화, 검색, 배치 삽입, 사용 안내 받기, 볼트 관리 등입니다. 처음 연결할 때 muninn_guide를 호출하여 볼트 인식 지침을 확인하세요. 기본 볼트에 대해서는 토큰이 필요하지 않습니다. MCP 전체 참고 자료 →
방금 무슨 일이 일어났는지
대부분의 데이터베이스는 데이터를 저장하고 기다립니다. MuninnDB는 **엔그램(engrams)**이라고 불리는 메모리 흔적을 저장하며, 백그라운드에서 지속적으로 이를 처리합니다. activate를 호출했을 때, 이는 6단계 파이프라인을 실행했습니다: 병렬 전체 텍스트 + 벡터 검색, 결과를 융합하고, 과거 쿼리로부터의 Hebbian 공동 활성화 부스트(Hebbian co-activation boosts)를 적용했으며, 순차적 패턴으로부터 예측 후보들을 주입하고, 연관성 그래프(association graph)를 탐색했으며, ACT-R 시간 가중치로 모든 것을 점수화했습니다 — 이 모든 것이 20ms도 채 걸리지 않았습니다. (현재 그래프 탐색은 실제 코퍼스에서는 비활성화 상태이며 재고되고 있습니다 — 연관성 그래프는 홉(hops)을 통해서가 아니라 Hebbian 부스트를 통해 결과에 도달합니다. docs/internals/decision-record.md의 #801을 참조하세요.)
Q3 사건은 MuninnDB가 *
왜 MuninnDB인가
-
시간적 우선순위(Temporal priority) — 데이터베이스는 사용자가 각 메모리에 얼마나 최근에, 그리고 얼마나 자주 접근했는지에 기반하여 중요도를 지속적으로 재계산합니다. 사용하는 메모리는 선명하게 유지되고, 무시하는 메모리는 자연스럽게 희미해집니다. 데이터베이스는 당신이 잠든 사이에도 움직입니다.
-
헤브 학습(Hebbian learning) — 함께 활성화된 메모리들은 자동으로 연관성을 형성합니다. 연결고리가 공동 활성화될수록 강화되며, 패턴이 멈추면 희미해집니다. 관계에 대한 스키마를 정의할 필요가 없습니다.
-
예측적 활성화(Predictive activation) — 데이터베이스는 활성화 전반에 걸친 순차적 패턴을 추적하고, 사용자가 요청하기 전에 다음 메모리를 표출하도록 학습합니다. 워크플로우 기반 사용 사례에서 Recall@10이 21% 향상됩니다.
-
베이즈 신뢰도(Bayesian confidence) — 모든 엔그램은 MuninnDB가 얼마나 확신하는지를 추적합니다. 강화되는 메모리는 신뢰도를 높이고, 모순되는 정보는 이를 낮춥니다. 부여된 라벨이 아닌 증거에 기반합니다.
-
플러그 앤 플레이 AI 온보딩(Plug-and-play AI onboarding) —
muninn_guide를 호출하면 데이터베이스가 볼트의 구성에 맞춰 메모리를 사용하는 방법을 AI에게 정확하게 알려줍니다. 수동 프롬프트 엔지니어링이 필요 없습니다. -
회고적 풍부화(Retroactive enrichment) — 임베드 또는 풍부화 플러그인을 추가하면 기존의 모든 메모리가 백그라운드에서 자동으로 업그레이드됩니다. 마이그레이션이나 코드 변경이 필요 없습니다. 데이터베이스는 이미 가지고 있는 것을 개선합니다.
-
대량 삽입(Bulk insert) — 모든 프로토콜(REST, gRPC, MCP)을 통해 최대 50개의 메모리를 단일 호출로 배치 처리할 수 있습니다. 데이터 시딩, 마이그레이션 및 고처리량 에이전트에 효율적입니다.
-
네 가지 프로토콜 — MBP (바이너리, <10ms ACK), REST (JSON), gRPC (protobuf), MCP (AI 에이전트). 필요한 스택을 선택하세요. 모두 동일한 인지 엔진에 연결됩니다.
-
단일 바이너리 — Redis, Kafka, Postgres 의존성이 없습니다. 하나의 프로세스. 하나의 설치 명령으로 작동합니다. MacBook이나 3노드 클러스터에서 실행 가능합니다.
예시
REST — 전체 주기:
# 쓰기
curl -sX POST http://127.0.0.1:8475/api/engrams \
-H 'Content-Type: application/json' \
...
Python SDK:
from muninn import MuninnClient
async with MuninnClient(
pip install muninn-python
**LangChain 통합:**
```python
from muninn.langchain import MuninnDBMemory
from langchain.chains import ConversationChain
...
Go SDK:
import "github.com/scrypster/muninndb/sdk/go/muninn"
client := muninn.NewClient("http://127.0.0.1:8475", "your-api-key")
...
go get github.com/scrypster/muninndb/sdk/go/muninn
Node.js / TypeScript SDK:
import { MuninnClient } from '@muninndb/client';
const client = new MuninnClient({ token: 'your-api-key' });
...
npm install @muninndb/client
PHP SDK:
use MuninnDB\MuninnClient;
$client = new MuninnClient(token: 'your-api-key');
...
composer require muninndb/client
라이선스
MuninnDB는 Business Source License 1.1 (BSL 1.1)을 사용합니다.
- 개인, 취미 사용자, 연구원 및 오픈 소스 프로젝트에서는 무료입니다.
- 소규모 조직(<50명 직원 및 <$5M 매출)에서는 무료입니다.
- 모든 내부 사용에 대해 무료입니다.
- 상업용 호스팅/SaaS/DBaaS/관리형 서비스는 저자로부터 라이선스를 필요로 합니다.
- 2030년 2월 26일부로 Apache 2.0으로 자동 전환됩니다.
- 핵심 인지 엔진에 대한 임시 특허 출원일: 2026년 2월 26일.
전체 약관: LICENSE. 기여자(contributors)의 경우 CLA도 참조하십시오.
설정 (Configuration)
MuninnDB는 별도의 설정 없이 바로 작동합니다. 번들된 로컬 임베더가 포함되어 있어 오프라인 환경에서도 API 키나 설정 없이 사용할 수 있습니다.
사용자 지정할 준비가 되면:
| 항목 | 방법 |
|---|---|
| 임베더: 번들됨 (기본값) | 기본적으로 작동합니다 — MUNINN_LOCAL_EMBED=0을 설정하여 비활성화할 수 있습니다. |
| ... | |
| Docker: |
docker run -d \
--name muninndb \
-p 8474:8474 -p 8475:8475 -p 8476:8476 -p 8750:8750 \
...
문서 (Documentation)
의도(intent)별 읽기 가이드는 docs/index.md를 참조하십시오.
| Quickstart | 상세 설치, Docker, 임베더 설정, 첫 번째 볼트(vault) |
| ... |
기여하기 (Contributing)
Pull Request(PR)를 환영합니다. 대규모 변경 사항의 경우, 먼저 이슈(issue)를 개설해 주세요.
Pull request를 제출함으로써, Contributor License Agreement에 동의하는 것입니다.
포트 요약: 8474 MBP · 8475 REST · 8476 Web UI · 8477 gRPC · 8750 MCP
문제 해결 (Troubleshooting)
<details> <summary>MCP 연결 실패 시 스키마 유효성 검사 오류 발생</summary>MuninnDB는 http와 sse 모두의 MCP 전송(transport)을 지원하며, 서버가 둘 중 하나를 처리합니다. 설정 파일의 "type" 필드는 클라이언트가 예상하는 값과 일치해야 합니다:
- Claude Desktop v1.1.4010 이상:
"type"을 완전히 생략하세요 — 전송은 URL에서 추론됩니다."type": "http"를 추가하면 Claude Desktop이 시작 시 충돌합니다. - 대부분의 다른 도구 (Cursor, Windsurf, VS Code 등):
"type": "http"가 올바릅니다. - 오래된 클라이언트 (v2.1.53 이전의 Claude Code):
"type": "sse"를 사용하세요.
사용하는 도구가 스키마 유효성 검사 또는 설정 구문 분석 오류(config parsing error)를 보고하면, "type"을 제거하거나 "http"와 "sse" 사이를 전환해 보세요.
서버가 실행 중인지 확인하세요: muninn status. 서버는 실행 중이지만 도구가 멈춘 경우, 오류를 위해 muninn logs를 확인하세요. 가장 흔한 원인은 잘못된 포트를 가리키는 오래된 MCP 설정입니다 — 설정 파일의 URL이 http://127.0.0.1:8750/mcp와 일치하는지 확인하세요.
바이너리 파일은 PATH에 있어야 합니다. macOS/Linux의 기본 설치 위치는 ~/.local/bin/muninn입니다 — echo $PATH를 실행하여 여기에 ~/.local/bin이 포함되어 있는지 확인하세요. 그렇지 않다면, export PATH="$HOME/.local/bin:$PATH"를 ~/.zshrc 또는 ~/.bashrc에 추가하고 셸을 재시작하세요. Windows의 기본 경로는 %LOCALAPPDATA%\muninn입니다 — PowerShell에서 $env:PATH를 실행하여 확인하세요.
번들로 제공되는 로컬 임베더는 ONNX Runtime을 사용하며, 이는 Windows에서 Visual C++ Redistributable을 필요로 합니다. 대부분의 컴퓨터에는 이미 설치되어 있습니다. 만약 onnxruntime.dll 또는 "ORT environment init"에 대한 오류가 발생하면, Visual C++ 2019+ Redistributable (x64)을 설치하고 muninn을 다시 시작하십시오.
오딘(Odin)의 두 까마귀 중 하나인 무닌(Muninn)에서 이름을 따왔으며, '무닌'은 고대 노르드어로 '기억'을 의미합니다. 무닌은 아홉 세계를 날아다니며 잊힌 것을 되돌려 가져옵니다.
MJ Bonanno 제작 · muninndb.com · BSL 1.1
MuninnDB는 특허 출원 중이며(U.S. Provisional Patent Application No. 63/991,402), BSL 1.1에 따라 라이선스가 부여됩니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기