Muninn-内存MCP服务器
缪宁级 (Old Norse:Memory)是一个MCP(模型上下文协议)服务器,为代理AI系统提供持久内存和语义搜索功能。
Muninn以奥丁的记忆乌鸦(与思想乌鸦Hugin配对)命名,存储和回忆上下文信息,以实现智能桌面自动化和工作流学习。
特性
- 混合存储:SQLite用于结构化查询+ChromaDB用于语义搜索
- 本地优先:所有数据和嵌入都保留在您的机器上
- 注重隐私:使用本地嵌入模型(无云API调用)
- MCP兼容:适用于任何MCP客户端(Hugin、Claude Desktop等)
建筑
┌─────────────────────────────────────────┐
│ Muninn Memory Server │
├─────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌───────────────┐ │
│ │ SQLite │ │ ChromaDB │ │
│ │ (Structured)│ │ (Semantic) │ │
│ └──────────────┘ └───────────────┘ │
│ ↑ ↑ │
│ └────────┬───────────┘ │
│ │ │
│ ┌────────▼────────┐ │
│ │ Local Embedder │ │
│ │ sentence-trans. │ │
│ └─────────────────┘ │
│ │
│ Storage: ~/.local/share/muninn/ │
└─────────────────────────────────────────┘安装
cd muninn-mcp-server
python3.13 -m venv .venv
source .venv/bin/activate
pip install -e .用法
独立
muninn使用Hugin(MCP客户端)
添加到 config.toml:
[servers.muninn]
command = "python3.13"
args = ["/path/to/muninn-mcp-server/src/muninn_mcp_server/server.py"]可用工具
存储
store_event-使用自动嵌入功能存储桌面事件store_pattern-存储检测到的行为模式store_decision-记录代理决策和结果
检索(结构化)
query_events-基于SQL的结构化数据查询get_recent_events-获取最近N个事件get_events_by_type-按事件类型筛选
检索(语义)
semantic_search-按含义查找类似事件get_context-获取当前形势的相关背景
分析
detect_patterns-在存储的数据中查找重复模式get_statistics-汇总统计数据
数据存储
所有数据存储在本地:
~/.local/share/muninn/
├── muninn.db # SQLite database
└── chroma/ # Vector embeddings示例:商店桌面事件
# Via MCP client (e.g., Hugin + LLM)
await call_tool("store_event", {
"event_type": "extension_change",
"data": {
"extension": "dash-to-panel",
"action": "disabled",
"reason": "causing crashes"
},
"description": "Disabled dash-to-panel extension due to repeated GNOME Shell crashes"
})示例:语义搜索
# Find similar past issues
await call_tool("semantic_search", {
"query": "extension stability problems",
"limit": 5
})隐私
- 没有云API:本地生成的所有嵌入
- 无遥测:所有数据都保留在您的机器上
- 无外部依赖关系:SQLite和ChromaDB在本地运行
嵌入模型
用途 all-MiniLM-L6-v2 默认情况下为(80MB):
- CPU速度快
- 优质嵌入件
- 完全离线运行
许可证
麻省理工学院
