Stores and queries concept relationships in a graph database, supporting fuzzy search, relationship discovery, and concept statistics for the Unreal Engine knowledge graph.
Provides knowledge graph search tools for exploring Unreal Engine documentation concepts and their relationships, enabling discovery of learning paths and dependencies between features like Blueprint System, Material Editor, and Nanite.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Unreal Engine Knowledge Graph MCP Servershow me concepts related to Blueprint System"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
虚幻引擎知识图谱 MCP 服务器
English | 中文
这个项目提供虚幻引擎官方文档的 MCP(Model Context Protocol)服务器,支持基于Neo4j图数据库的概念关系搜索,帮助开发者发现概念间的学习路径和依赖关系。
项目背景
在学习虚幻引擎开发过程中,开发者经常需要理解各种概念之间的关系,比如:
蓝图系统与C++代码的关系
材质编辑器与节点图编程的关系
Nanite虚拟几何体与高多边形模型的关系
传统的文档搜索只能找到单个概念的信息,无法揭示概念间的学习路径和依赖关系。本项目通过构建知识图谱,让AI能够理解概念间的关联,提供更智能的学习指导。
解决方案
本项目提供了一个基于Neo4j图数据库的MCP服务器,专门用于虚幻引擎概念关系的智能搜索和发现。通过DeepSeek v3模型提取文档中的概念关系,构建完整的知识图谱。
功能特性
🔗 概念关系搜索: 发现任意概念的相关概念和学习路径
🧠 智能概念发现: 基于图数据库的深度关系挖掘
🔍 概念名称搜索: 模糊搜索概念名称,支持中英文双语查询
📊 关系统计信息: 获取概念的关系数量统计,按重要性排序
在 MCP Host 中使用
Cursor 配置
在项目根目录创建或编辑 .cursor/mcp.json 配置文件:
VSCode 配置
在项目根目录创建或编辑 .vscode/mcp.json 配置文件:
环境变量说明
环境变量 | 含义 | 默认值 |
| Neo4j数据库连接地址 |
|
| Neo4j用户名 |
|
| Neo4j密码 |
|
| DeepSeek API密钥 | 无 |
MCP工具功能
search_concept_relations
搜索指定概念的相关概念和关系,支持中英文双语查询。
使用场景:
🎯 概念学习扩展: "我想学习蓝图系统,相关的概念还有哪些?"
🔍 技术关联探索: "虚幻引擎包含哪些核心功能模块?"
🧭 学习路径规划: "从材质编辑器出发,我还需要了解什么?"
提示词示例:
参数:
concept(必需): 要查询的概念名称(中英文双语)cn(必需): 中文概念名称en(必需): 英文概念名称
limit(可选): 返回的最大关系数量,默认20
返回数据格式:
search_concepts
模糊搜索概念名称,支持中英文双语查询。
使用场景:
🔍 快速查找概念: "我记得有个关于'粒子'的功能,叫什么名字来着?"
📝 概念名称确认: "虚幻引擎中2D相关的功能都有哪些?"
🎯 关键词探索: "搜索包含'编辑器'的所有概念"
提示词示例:
参数:
searchTerm(必需): 搜索关键词(中英文双语)cn(必需): 中文搜索关键词en(必需): 英文搜索关键词
limit(可选): 返回的最大概念数量,默认10
返回数据格式:
get_all_concepts
获取所有可用概念列表及其关系统计信息(按关系数量排序,优先显示核心概念)。
使用场景:
📋 核心概念优先浏览: "虚幻引擎知识图谱中最重要的概念有哪些?"
🎯 学习计划制定: "我想按重要性顺序学习,哪些是核心概念?"
📊 概念关系分析: "这些概念分别有多少关联,哪些最核心?"
提示词示例:
参数:
limit(可选): 返回的最大概念数量,默认100
返回数据格式:
系统架构
核心组件
文档处理: 读取Markdown文档,使用DeepSeek v3提取概念关系
知识图谱: 基于Neo4j存储概念和关系数据
MCP服务: 提供标准化的概念关系查询接口
数据流程
开发测试
环境要求
Node.js >= 18.0.0
Docker (用于运行Neo4j)
DeepSeek API密钥
安装步骤
克隆项目
安装依赖
配置环境变量
启动Neo4j数据库
构建项目
提取概念关系(测试模式)
导入数据到Neo4j
知识三元组数据结构
系统使用标准的知识图谱三元组结构存储概念关系:
字段说明:
subject: 主体概念名称(知识三元组的主语)predicate: 关系谓词(如:包含、支持、依赖、关联等)object: 客体概念名称(知识三元组的宾语)context: 关系的上下文说明,帮助理解关系的具体含义direction: 关系方向性"unidirectional": 单向关系(主体→客体,但客体不一定→主体)"bidirectional": 双向关系(主体↔客体,相互关联)
confidence: 置信度(0.0-1.0),表示关系提取的准确性和可靠性0.9-1.0: 明确的技术关系,文档中有直接、清晰的说明0.7-0.9: 较为明确的关系,基于上下文推断但证据充分0.5-0.7: 中等置信度,关系存在但需要一定推理0.3-0.5: 较弱的关系,主要基于语义相似性0.1-0.3: 非常弱的关系,仅基于概念共现
开发指南
项目结构
可用脚本
添加新文档
将Markdown文档放入
sources/docs/目录运行概念关系提取:
npm run extract-triplets导入到Neo4j:
npm run import-to-neo4j
自定义知识三元组
你可以手动创建知识三元组JSON文件:
将文件保存到 sources/triplets/ 目录,然后运行导入命令。
技术栈
核心技术
Node.js: 运行环境
TypeScript: 类型安全的开发语言
MCP SDK: Model Context Protocol 实现
Neo4j: 图数据库
Docker: 容器化部署
AI集成
DeepSeek v3: 概念关系提取
OpenAI SDK: API调用接口
开发工具
Vitest: 单元测试框架
tsx: TypeScript执行器
Zod: 参数验证
故障排除
Neo4j连接问题
测试连接
查看Neo4j浏览器界面
用户名: neo4j
密码: password123
许可证
MIT License
贡献
欢迎提交Issue和Pull Request!