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。