@aiuluna/knowledge-graph-mcp
v0.0.6
Published
A Model Context Protocol (MCP) service for managing and visualizing knowledge graphs
Downloads
178
Maintainers
Readme
Knowledge Graph MCP Server
一个基于 Model Context Protocol (MCP) 的知识图谱服务,为 AI 助手提供知识图谱的创建、管理、分析和可视化能力。本服务完全遵循 MCP 标准,可以与支持 MCP 的 AI 助手(如 Claude)无缝集成。
核心特性
- 多种图谱类型: 支持拓扑结构、时间线、变更日志、需求文档、知识库、本体论等多种图谱类型
- 完整的错误处理: 为常见问题提供清晰的错误信息和处理建议
- 资源管理: 支持 SVG 和 Markdown 资源的关联和管理
- 版本状态: 支持草稿、已发布、已归档等多种状态管理
安装与配置
环境要求
- Node.js >= 16.0.0
- pnpm >= 7.0.0
配置知识图谱目录
创建一个目录用于存储知识图谱数据,例如:
mkdir ~/knowledge_graph在 Cursor 中使用
将以下配置添加到 Cursor 的配置文件中:
{
"mcpServers": {
"knowledge-graph": {
"command": "npx",
"args": [
"-y",
"@aiuluna/knowledge-graph-mcp"
],
"env": {
"KNOWLEDGE_GRAPH_DIR": "/path/to/your/knowledge_graph/dir"
}
}
}
}注意:
- 将
KNOWLEDGE_GRAPH_DIR替换为您实际的知识图谱存储目录路径 - 可以根据需要指定特定的版本号,如
@0.0.1
在 Claude Desktop 中使用
将以下配置添加到 claude_desktop_config.json 中:
{
"mcpServers": {
"knowledge-graph": {
"command": "npx",
"args": [
"-y",
"@aiuluna/knowledge-graph-mcp"
],
"env": {
"KNOWLEDGE_GRAPH_DIR": "/path/to/your/knowledge_graph/dir"
}
}
}
}Prompt 使用指南
项目结构
项目中的 prompt 文件位于 /src/rules/prompts 目录下, 请将该文件拷贝到您 cursor 中并添加为 Agent 模式下的默认 rule(具体请参考 Cursor Rules配置):
.cursor/
└── rules/
└── graph-query.mdc # 知识图谱查询的 prompt 文件Agent 模式使用
在 Cursor 中使用 Agent 模式时,可以通过以下方式触发知识图谱查询:
- 在编辑器中输入
/ck命令 - Agent 将自动调用
@graph-query.mdc中定义的 prompt - prompt 会执行以下操作:
- 分析当前上下文
- 查询相关的知识图谱节点
- 生成总结性内容
- 将查询结果整合到对话中
使用示例
查询特定主题的知识:
/ck 请查找关于微服务架构的最佳实践分析代码依赖关系:
/ck 分析当前文件的组件依赖关系获取项目时间线:
/ck 显示项目近三个月的重要里程碑查询技术栈演进:
/ck 分析项目技术栈的变更历史
其他的 rules
项目中另有生成手绘风格的 prompt 和生成 markdown 的 prompt 用来生成作为知识图谱的 resources 存储。因 cursor 不支持 prompt 的 mcp 标准,因此本项目使用 tool 的方式获取该规则,您也可以将其与上面的 rules 一样,集成到 cursor 的 rules中去自己修改成期望的风格,并在 cursor Agent 模式下使用。
工具列表
图谱管理
create_graph- 创建新的知识图谱
- 输入参数:
name(string): 图谱名称description(string, 可选): 图谱描述type(string): 图谱类型(topology/timeline/changelog/requirement/kb/ontology)
list_graphs- 列出所有知识图谱
- 输入参数:
status(string, 可选): 按状态筛选(draft/published/archived)type(string, 可选): 按类型筛选
publish_graph- 发布知识图谱
- 输入参数:
graphId(string): 图谱ID
节点管理
add_node- 向图谱添加节点
- 输入参数:
graphId(string): 图谱IDtype(string): 节点类型name(string): 节点名称description(string, 可选): 节点描述filePath(string, 可选): 关联文件路径metadata(object, 可选): 节点元数据
update_node- 更新节点信息
- 输入参数:
graphId(string): 图谱IDnodeId(string): 节点IDname(string, 可选): 新的节点名称description(string, 可选): 新的节点描述filePath(string, 可选): 新的文件路径metadata(object, 可选): 新的元数据
delete_node- 删除节点
- 输入参数:
graphId(string): 图谱IDnodeId(string): 节点IDconfirmDelete(boolean): 删除确认
get_node_details- 获取节点详细信息
- 输入参数:
graphId(string): 图谱IDnodeId(string): 节点ID
边管理
add_edge- 添加边
- 输入参数:
graphId(string): 图谱IDtype(string): 边类型sourceId(string): 源节点IDtargetId(string): 目标节点IDlabel(string, 可选): 边标签weight(number, 可选): 边权重metadata(object, 可选): 边元数据
update_edge- 更新边信息
- 输入参数:
graphId(string): 图谱IDedgeId(string): 边IDlabel(string, 可选): 新的边标签weight(number, 可选): 新的边权重metadata(object, 可选): 新的元数据
delete_edge- 删除边
- 输入参数:
graphId(string): 图谱IDedgeId(string): 边IDconfirmDelete(boolean): 删除确认
资源管理
get_creation_guidelines- 获取资源创建规范
- 输入参数:
type(string): 规范类型(svg/markdown/all)
- 详细说明:
- 用于获取创建 SVG 图形或 Markdown 文档的详细规范
- SVG 规范包含:手绘风格指南、布局建议、颜色方案、常用组件等
- Markdown 规范包含:文档结构模板、格式规范、常用语法示例等
- 建议在创建任何资源前先调用此工具获取规范
save_resource- 保存资源
- 输入参数:
graphId(string): 图谱IDnodeId(string, 可选): 关联的节点IDresourceType(string): 资源类型(svg/markdown)title(string): 资源标题description(string, 可选): 资源描述content(string): 资源内容
update_resource- 更新资源信息
- 输入参数:
graphId(string): 图谱IDresourceId(string): 资源IDname(string, 可选): 新的资源名称title(string, 可选): 新的资源标题description(string, 可选): 新的资源描述
delete_resource- 删除资源
- 输入参数:
graphId(string): 图谱IDresourceId(string): 资源IDconfirmDelete(boolean): 删除确认
unlink_resource- 解除资源与节点的关联
- 输入参数:
graphId(string): 图谱IDnodeId(string): 节点IDresourceId(string): 资源ID
开发
# 安装依赖
pnpm install
# 开发模式
pnpm dev
# 构建项目
pnpm build
# 运行测试
pnpm test
# 代码检查
pnpm lint错误处理
服务使用标准的错误处理机制,所有错误都会被记录到 md/error_log.txt 文件中,包含时间戳、错误信息和堆栈跟踪。
许可证
本项目采用 MIT 许可证 - 详见 LICENSE 文件。
