关于 AegnticMCP
Obsidian Elite RAG MCP Server 将 Obsidian 知识库转为可搜索内容,面向 Claude Code 用户及其他 RAG 工作流。它结合语义、图谱、链接、时间和领域检索,并提供摄取和查询笔记的工具。
主要功能
- 01摄取 Obsidian Markdown 文件
- 02多层 RAG 检索
- 03搜索 Graphiti 知识图谱
- 04获取实体背景和关系
- 05检查系统及数据库状态
适用场景
- 01查询 Obsidian 知识库中的笔记
- 02查找笔记中的实体及相关概念
- 03为 Claude Code 工作流摄取知识库
MCP 相关
MCP 服务提供摄取知识库文件、查询 RAG、搜索知识图谱、获取实体背景与相关实体以及检查系统状态的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Obsidian Elite RAG MCP 服务
一个精英级检索增强生成(RAG)系统,可将 Obsidian 知识库转变为与 AI 配对的认知工作流引擎,并集成先进的 Graphiti 知识图谱。
🌟 功能
🧠 多层 RAG 架构
- L1:语义上下文(权重 30%)——使用 OpenAI 嵌入进行向量相似度搜索
- L2:知识图谱(权重 25%)——由 Graphiti 驱动的实体与关系检索
- L3:图遍历(权重 15%)——基于 NetworkX 的链接遍历
- L4:时间上下文(权重 15%)——基于时间的相关性与新鲜度
- L5:领域专精(权重 15%)——上下文感知检索
- L6:元知识(剩余权重)——关于知识的知识
🔗 高级知识图谱
- 27+ 种实体类型:概念、人物、组织、技术、方法论、框架、算法等。
- 40+ 种关系类型:实现、使用、依赖于、扩展、基于、类似于、集成到等。
- 双图架构:Neo4j(结构化)+ NetworkX(非结构化备份)
- 自动实体提取:基于模式匹配和 NLP 的实体识别
- 关系检测:置信度评分与验证
🚀 MCP 服务集成
- 兼容 Claude Code:完整实现 Model Context Protocol 服务端
- 基于工具的 API:摄取、查询、搜索知识图谱、获取实体上下文
- 实时状态:系统健康监控与数据库连接检查
- 异步处理:高性能并发操作
📋 要求
- Python 3.9+
- Docker & Docker Compose
- OpenAI API 密钥
- Obsidian 知识库(可选,但建议使用)
- Neo4j 数据库(由设置脚本处理)
- Qdrant 向量数据库(由设置脚本处理)
🛠️ 安装
选项 1:从 PyPI 安装(推荐)
pip install obsidian-elite-rag-mcp
选项 2:从源代码安装
git clone https://github.com/aegntic/aegntic-MCP.git
cd aegntic-MCP/obsidian-elite-rag
pip install -e .
🚀 快速开始
1. 系统设置
# Initialize the system
obsidian-elite-rag-cli setup
# Start both databases (Qdrant + Neo4j)
obsidian-elite-rag-cli start-databases
# Or start manually with Docker
docker run -d --name qdrant -p 6333:6333 -v $(pwd)/data/qdrant:/qdrant/storage qdrant/qdrant:latest
docker run -d --name neo4j -p 7474:7474 -p 7687:7687 -v $(pwd)/data/neo4j:/data \
--env NEO4J_AUTH=neo4j/password --env NEO4J_PLUGINS='["apoc","graph-data-science"]' \
neo4j:5.14
2. 摄取 Obsidian 知识库
# Ingest all markdown files
obsidian-elite-rag-cli ingest /path/to/your/obsidian/vault
# Check system status
obsidian-elite-rag-cli status /path/to/your/obsidian/vault
3. 启动 MCP 服务
# Start the MCP server for Claude Code integration
obsidian-elite-rag-cli server
4. 配置 Claude Code
将以下内容添加到 Claude Code 配置文件(~/.config/claude-code/config.json):
{
"mcpServers": {
"obsidian-elite-rag": {
"command": "obsidian-elite-rag-cli",
"args": ["server"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key"
}
}
}
}
📖 使用示例
CLI 用法
# Query the RAG system
obsidian-elite-rag-cli query "How does the RAG system work?" /path/to/vault
# Search knowledge graph for entities
obsidian-elite-rag-cli graph /path/to/vault --entity-query "machine learning"
# Technical queries
obsidian-elite-rag-cli query "JWT authentication patterns" /path/to/vault --query-type technical
# Research queries
obsidian-elite-rag-cli query "latest developments in LLMs" /path/to/vault --query-type research
MCP 服务工具(Claude Code)
连接到 Claude Code 后,你将可以使用以下工具:
ingest_vault- 摄取 Obsidian 知识库中的 Markdown 文件query_rag- 使用多层检索查询精英级 RAG 系统search_knowledge_graph- 在 Graphiti 知识图谱中搜索实体get_entity_context- 获取特定实体的丰富上下文get_related_entities- 获取通过关系关联的实体get_system_status- 获取系统状态与数据库连接情况
Claude Code 中的示例:
@obsidian-elite-rag please ingest my vault at /Users/me/Documents/Obsidian
@obsidian-elite-rag query "what are the key concepts in machine learning?" with vault path /Users/me/Documents/Obsidian
@obsidian-elite-rag search_knowledge_graph for "neural networks" in vault /Users/me/Documents/Obsidian
🏗️ 架构
系统组件
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Obsidian │ │ Claude Code │ │ MCP Protocol │
│ Vault │◄──►│ Integration │◄──►│ Server │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ Elite RAG System │
├─────────────────┬─────────────────┬─────────────────────────────┤
│ Semantic │ Knowledge │ Temporal & Domain │
│ Search │ Graph │ Specialization │
│ (Qdrant) │ (Neo4j) │ │
└─────────────────┴─────────────────┴─────────────────────────────┘
知识图谱实体类型
- 核心:概念、人物、组织、事件、地点
- 技术:技术、算法、框架、系统、应用
- 流程:方法论、工作流、流程、模式
- 实现:工具、库、数据库、API、协议
- 文档:标准、规范、原则、理论、模型
- 架构:设计、实现、项目、研究
知识图谱关系类型
- 结构关系:组成部分、实现、扩展、基于、依赖于
- 语义关系:类似于、对比于、关联于、示例
- 功能关系:使用、启用、需要、支持、改进
- 认知关系:定义、描述、解释、演示、教授
- 开发关系:基于……构建、应用于、引用、援引、测试
- 运维关系:管理、监控、部署、配置、维护
📊 性能特点
- 检索速度:上下文丰富的查询耗时 <100ms
- 知识覆盖率:针对特定领域查询的召回率达 95%+
- 实体识别:概念、人物和组织的识别准确率达 90%+
- 关系提取:语义关系的提取准确率达 85%+
- 图遍历:深度不超过 4 的实体关系查询耗时 <50ms
- 自动化覆盖率:80%+ 的常规知识任务实现自动化
🔧 配置
环境变量
# Required
OPENAI_API_KEY=your-openai-api-key
# Optional (auto-configured by setup scripts)
NEO4J_URI=bolt://localhost:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=password
QDRANT_HOST=localhost
QDRANT_PORT=6333
配置文件
系统使用 config/automation-config.yaml 进行详细配置:
knowledge_graph:
enabled: true
provider: graphiti
graphiti:
neo4j_uri: bolt://localhost:7687
neo4j_user: neo4j
neo4j_password: "password"
rag_system:
layers:
semantic:
weight: 0.3
similarity_threshold: 0.7
knowledge_graph:
weight: 0.25
max_depth: 4
# ... other layers
📁 Vault 结构
使用以下 Obsidian vault 结构时,系统效果最佳:
00-Core/ # 🧠 Foundational knowledge
01-Projects/ # 🚀 Active work
02-Research/ # 🔬 Learning areas
03-Workflows/ # ⚙️ Reusable processes
04-AI-Paired/ # 🤖 Claude interactions
05-Resources/ # 📚 External references
06-Meta/ # 📊 System knowledge
07-Archive/ # 📦 Historical data
08-Templates/ # 📋 Note structures
09-Links/ # 🔗 External connections
🤝 贡献
欢迎贡献!详情请参阅贡献指南。
开发环境设置
# Clone the repository
git clone https://github.com/aegntic/aegntic-MCP.git
cd aegntic-MCP/obsidian-elite-rag
# Install in development mode
pip install -e ".[dev]"
# Run tests
pytest
# Run with coverage
pytest --cov=obsidian_elite_rag
# Code formatting
black src/
mypy src/
📄 许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。
🙏 致谢
创建者: Mattae Cooper 邮箱: [email protected] 组织: Aegntic AI(https://aegntic.ai)
本项目代表了 AI 驱动的知识管理和检索增强生成系统领域的前沿研究。Graphiti 知识图谱与多层 RAG 架构的集成,显著提升了 AI 系统与个人知识库交互和推理的能力。
📞 支持
- 文档:项目 Wiki
- 问题反馈:GitHub Issues
- 讨论:GitHub Discussions
- 邮箱:[email protected]
🔗 相关项目
- Graphiti - 面向 LLM 的知识图谱构建
- Qdrant - 向量相似度搜索引擎
- Neo4j - 图数据库
- LangChain - LLM 应用框架
- Model Context Protocol - AI 工具集成标准
由 Aegntic AI 倾心打造 ❤️ 推动 AI 驱动的知识管理迈向未来
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。