Knowledge Base MCP Server

使用说明(Markdown 格式)

  • 项目简介

    • 该仓库实现了一个基于 MCP 的服务器,用于向 AI 客户端提供对知识库(Resources、Tools、Prompts)的访问和操作接口。服务器通过 JSON-RPC 协议与客户端通信,默认通过标准输入输出(stdio transport)进行传输。
  • 主要功能点

    • MCP 服务端:实现了多种 MCP Tool,覆盖读取、搜索、写入、历史记录、差异、回滚等对知识库的操作。
    • 资源管理与共享文档:管理 shared/ 和 projects/ 下的文档、元数据、链接关系以及全局共享设置。
    • 工具执行:提供 kb_context、kb_list、kb_read、kb_search、kb_draft、kb_write、kb_log、kb_diff、kb_show、kb_revert、kb_ref_add、kb_ref_remove、kb_global_add、kb_global_remove、kb_delete、kb_commit 等一系列工具,用于与知识库交互。
    • 项目与引用管理:通过 refs.yml、kb.yml 等配置文件实现项目与共享文档的引用关系、全局文档、Inline 内容等。
    • 版本控制与提交:对改动自动或按需提交到 git,支持草稿预览、变更提交以及回滚。
    • 安全与可扩展性:通过 KBRoot、项目检测、路径校验等机制确保对知识库的安全访问和可扩展的操作接口。
  • 安装步骤

    • 使用 Go 安装:go install github.com/leona/kb@latest
    • 进入已初始化的知识库目录,启动 MCP 服务器:
      • 直接在命令行执行 kb mcp,将以 stdio 传输启动 MCP 服务器。
    • 如需浏览器化/ TUI 界面:可运行 kb browse 等命令查看知识库结构与链接。
  • 服务器配置(MCP 客户端需要提供的配置信息)

    • MCP 客户端需要配置一个指向 MCP 服务器的条目,包含服务器名称、启动命令及参数。以下为基于仓库实现的准确示例(JSON 格式,非代码块): { "mcpServers": { "kb": { "command": "kb", "args": ["mcp"] } // server name: kb;command: kb;args: ["mcp"] } }
    • 说明
      • server name(kb):在客户端配置中识别的服务器标识。
      • command(kb):启动 MCP 服务器的可执行文件名。
      • args(["mcp"]):启动服务器的参数,指定 stdio 传输。
  • 基本使用方法

    • 启动服务器:在知识库根目录执行 kb mcp
    • 客户端调用:通过 MCP 客户端向服务器发送 JSON-RPC 请求,执行诸如读取文档、搜索、写入、管理引用等操作。
    • 常用工具用途:
      • kb_context:获取当前(自动检测的)项目上下文内容。
      • kb_list:列出项目及共享文档信息。
      • kb_read、kb_search:按需读取/搜索知识库内容。
      • kb_write、kb_draft、kb_commit:创建/修改文档并提交变更。
    • 重要注意:所有对知识库的变更在写入时会自动提交到 Git,除非显式设置 no_commit。

服务器信息