🌳 Yggdrasil MCP内存服务器
配备Chroma Cloud矢量存储的生产就绪MCP内存服务器。
一种使用Chroma Cloud矢量数据库提供持久语义记忆的现代模型上下文协议(MCP)服务器。使用Python、FastAPI和以下Context7最佳实践构建。
______________________________________________________________________
目录
- 先决条件
- 获取Chroma Cloud凭据 - 配置环境 - - 配置Claude代码
______________________________________________________________________
特性
- MCP协议2025-03-26 -流式HTTP传输(无状态)
- 铬云 -CloudClient集成(Context7推荐)
- 基于路径的路由1 -使用一个Docker容器支持多项目
- 语义搜索 -基于矢量的ONNX嵌入相似性搜索2
- 标签管理 -使用自定义标签和元数据组织记忆
- 基于时间的查询 -自然语言时间表达式(“昨天”、“上周”)
- Docker就绪 -多阶段构建,非root用户,适当的健康检查
- 生产最佳实践 -Context7全程验证模式
- 28个MCP工具 -完成CRUD、搜索、导出、合并、清理操作
______________________________________________________________________
建筑
技术栈
- Python 3.13
- MCP服务器堆栈:
- FastMCP -MCP协议实施(2025-03-26) - 快速API -异步web框架 - 乌维科恩 -ASGI服务器
- 铬云 -用于嵌入的矢量数据库
- 码头工人 -集装箱化平台
项目结构
Yggdrasil/
├── docs/ # Documentation
├── [deployment files] # docker-compose.yml, Dockerfile, pyproject.toml
├── .env.example # Configuration template
│
└── src/
├── server.py # MCP server stack
├── config/ # Application settings
│ ├── settings.py
│ ├── chroma_client.py
│ └── request_context.py
├── services/ # Business logic
│ └── memory_service.py
└── utils/ # Helper functions
└── time_parser.py______________________________________________________________________
快速开始
先决条件
- 码头工人 (引擎或桌面)
- Chroma云账户 - https://www.trychroma.com
- MCP客户端 -Claude Code(推荐)或Claude Desktop(未测试)
1.获取Chroma Cloud凭据
- 创建Chroma Cloud帐户3 在 https://www.trychroma.com
- 创建新 租户 (您的组织)
- 创建一个 数据库 在你的租户
- 生成一个 API密钥
- 记下:
tenant,database,api_key
2.配置环境
# Clone this repository
git clone https://github.com/IT-Square-Plus/Yggdrasil.git
# Navigate to project directory
cd Yggdrasil
# Copy environment template
cp .env.example .env
# Edit .env with your credentials
nano .env所需变量:
CHROMA_API_KEY=your_api_key_here
CHROMA_TENANT=your_tenant_name
CHROMA_DATABASE=your_database_name
CHROMA_COLLECTION=default_memories # Used only when URL is /mcp (not /mcp-project_name)3.使用Docker运行
# Build and start
docker compose up --build -d
# Check logs (wait for ONNX model download ~79MB, ~20 seconds)
docker compose logs -f
# You'll see: "🤖 ONNX embedding model successfully downloaded!"
# Check health
curl http://localhost:8080/ready
# Or open in browser: http://localhost:8080/ready
# If you see JSON response, MCP server is running and ONNX model loaded!注: 首次启动下载ONNX型号2 (约80MB,约20秒),并将其缓存在本地。
4.配置克劳德代码
创建一个 .mcp.json 项目根目录中的文件:
{
"mcpServers": {
"Yggdrasil": {
"type": "http",
"url": "http://localhost:8080/mcp-your_project_name",
"metadata": {
"description": "Yggdrasil MCP Memory Server"
}
}
}
}重要提示:
- 替换
your_project_name使用您的实际项目名称(例如。,mcp-enigma,mcp-myapp) - 这
"type": "http"字段是 必需的 -没有它,克劳德代码就无法连接! - 每个项目都可以有自己的
.mcp.json具有用于隔离内存的唯一URL后缀
有关多项目设置的详细信息,请参阅: docs/PATH_BASED_ROUTING.md
______________________________________________________________________
全部
- Claude桌面兼容性(可能有效,尚未测试)
- \[WiP\]文档/文件解析
- Gemini CLI兼容性
______________________________________________________________________
额外内容
如果您想知道Chroma Cloud配额(组织设置->配额)及其值是什么意思?
请查看本指南: docs/CHROMA_QUOTAS.md
______________________________________________________________________
常见问题解答
Does it work on Open AI's Codex?
不确定。尚未进行测试,也无意研究Codex的兼容性。这对我来说是最低的价格了。
可能会开箱即用,也可能不会。不是Codex用户,抱歉。
Why only Chroma Cloud and not self-hosted ChromaDB?
实际上,我之前使用自托管的ChromaDB 0.6.x开发了Yggdrasil,这样你就可以在自己的服务器上运行它。
但后来ChromaDB Devs发布了用Rust重写的ChromaDB的新版本,他们还没有实现Auth机制。
我有点懒得为1.x实现任何类型的OAuth,然后我发现他们正在提供Chroma Cloud。
这太便宜了。没有月度合同,只是按需付费模式。你为你使用的东西付费,API Auth也包括在内,为什么不呢?
______________________________________________________________________
鸣谢
- 特别感谢 雅各布 · 戈斯蒂尼亚克 通过我们对独立MCP存储器的讨论来启发这个项目。
- 也感谢 马齐 瓦斯涅夫斯基 多亏了谁和我们共同的记忆,我们才能在同一个项目上工作。
作者
📚 脚注
\[1\] 基于路径的路由
使能够 一 Yggdrasil Docker容器可以同时为多个Claude Code项目提供服务,每个项目都有独立的内存集合。
有关完整的设置指南和示例,请参阅: docs/PATH_BASED_ROUTING.md
\[2\] ONNX型号
开放式神经网络交换(ONNX) 是ChromaDB的语义搜索人工智能引擎,它将文本转换为代表意义的384/768/1536/3072/4096维向量,支持按概念而不是关键字进行搜索。
详细技术说明见: docs/ONNX.md
\[3\] 铬云
有关如何设置和配置Chroma Cloud帐户的完整指南,请参阅: docs/CHROMA_CLOUD.md
