npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@aiuluna/knowledge-graph-mcp

v0.0.6

Published

A Model Context Protocol (MCP) service for managing and visualizing knowledge graphs

Downloads

178

Readme

Knowledge Graph MCP Server

一个基于 Model Context Protocol (MCP) 的知识图谱服务,为 AI 助手提供知识图谱的创建、管理、分析和可视化能力。本服务完全遵循 MCP 标准,可以与支持 MCP 的 AI 助手(如 Claude)无缝集成。

English

核心特性

  • 多种图谱类型: 支持拓扑结构、时间线、变更日志、需求文档、知识库、本体论等多种图谱类型
  • 完整的错误处理: 为常见问题提供清晰的错误信息和处理建议
  • 资源管理: 支持 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 模式时,可以通过以下方式触发知识图谱查询:

  1. 在编辑器中输入 /ck 命令
  2. Agent 将自动调用 @graph-query.mdc 中定义的 prompt
  3. prompt 会执行以下操作:
    • 分析当前上下文
    • 查询相关的知识图谱节点
    • 生成总结性内容
    • 将查询结果整合到对话中

使用示例

  1. 查询特定主题的知识:

    /ck 请查找关于微服务架构的最佳实践
  2. 分析代码依赖关系:

    /ck 分析当前文件的组件依赖关系
  3. 获取项目时间线:

    /ck 显示项目近三个月的重要里程碑
  4. 查询技术栈演进:

    /ck 分析项目技术栈的变更历史

其他的 rules

项目中另有生成手绘风格的 prompt 和生成 markdown 的 prompt 用来生成作为知识图谱的 resources 存储。因 cursor 不支持 prompt 的 mcp 标准,因此本项目使用 tool 的方式获取该规则,您也可以将其与上面的 rules 一样,集成到 cursor 的 rules中去自己修改成期望的风格,并在 cursor Agent 模式下使用。

工具列表

图谱管理

  1. create_graph

    • 创建新的知识图谱
    • 输入参数:
      • name (string): 图谱名称
      • description (string, 可选): 图谱描述
      • type (string): 图谱类型(topology/timeline/changelog/requirement/kb/ontology)
  2. list_graphs

    • 列出所有知识图谱
    • 输入参数:
      • status (string, 可选): 按状态筛选(draft/published/archived)
      • type (string, 可选): 按类型筛选
  3. publish_graph

    • 发布知识图谱
    • 输入参数:
      • graphId (string): 图谱ID

节点管理

  1. add_node

    • 向图谱添加节点
    • 输入参数:
      • graphId (string): 图谱ID
      • type (string): 节点类型
      • name (string): 节点名称
      • description (string, 可选): 节点描述
      • filePath (string, 可选): 关联文件路径
      • metadata (object, 可选): 节点元数据
  2. update_node

    • 更新节点信息
    • 输入参数:
      • graphId (string): 图谱ID
      • nodeId (string): 节点ID
      • name (string, 可选): 新的节点名称
      • description (string, 可选): 新的节点描述
      • filePath (string, 可选): 新的文件路径
      • metadata (object, 可选): 新的元数据
  3. delete_node

    • 删除节点
    • 输入参数:
      • graphId (string): 图谱ID
      • nodeId (string): 节点ID
      • confirmDelete (boolean): 删除确认
  4. get_node_details

    • 获取节点详细信息
    • 输入参数:
      • graphId (string): 图谱ID
      • nodeId (string): 节点ID

边管理

  1. add_edge

    • 添加边
    • 输入参数:
      • graphId (string): 图谱ID
      • type (string): 边类型
      • sourceId (string): 源节点ID
      • targetId (string): 目标节点ID
      • label (string, 可选): 边标签
      • weight (number, 可选): 边权重
      • metadata (object, 可选): 边元数据
  2. update_edge

    • 更新边信息
    • 输入参数:
      • graphId (string): 图谱ID
      • edgeId (string): 边ID
      • label (string, 可选): 新的边标签
      • weight (number, 可选): 新的边权重
      • metadata (object, 可选): 新的元数据
  3. delete_edge

    • 删除边
    • 输入参数:
      • graphId (string): 图谱ID
      • edgeId (string): 边ID
      • confirmDelete (boolean): 删除确认

资源管理

  1. get_creation_guidelines

    • 获取资源创建规范
    • 输入参数:
      • type (string): 规范类型(svg/markdown/all)
    • 详细说明:
      • 用于获取创建 SVG 图形或 Markdown 文档的详细规范
      • SVG 规范包含:手绘风格指南、布局建议、颜色方案、常用组件等
      • Markdown 规范包含:文档结构模板、格式规范、常用语法示例等
      • 建议在创建任何资源前先调用此工具获取规范
  2. save_resource

    • 保存资源
    • 输入参数:
      • graphId (string): 图谱ID
      • nodeId (string, 可选): 关联的节点ID
      • resourceType (string): 资源类型(svg/markdown)
      • title (string): 资源标题
      • description (string, 可选): 资源描述
      • content (string): 资源内容
  3. update_resource

    • 更新资源信息
    • 输入参数:
      • graphId (string): 图谱ID
      • resourceId (string): 资源ID
      • name (string, 可选): 新的资源名称
      • title (string, 可选): 新的资源标题
      • description (string, 可选): 新的资源描述
  4. delete_resource

    • 删除资源
    • 输入参数:
      • graphId (string): 图谱ID
      • resourceId (string): 资源ID
      • confirmDelete (boolean): 删除确认
  5. unlink_resource

    • 解除资源与节点的关联
    • 输入参数:
      • graphId (string): 图谱ID
      • nodeId (string): 节点ID
      • resourceId (string): 资源ID

开发

# 安装依赖
pnpm install

# 开发模式
pnpm dev

# 构建项目
pnpm build

# 运行测试
pnpm test

# 代码检查
pnpm lint

错误处理

服务使用标准的错误处理机制,所有错误都会被记录到 md/error_log.txt 文件中,包含时间戳、错误信息和堆栈跟踪。

许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件。