关于 MCP KnowledgeBase Server
MCP KnowledgeBase Server 是一个基于 SQLite 的记忆服务,让 LLM 在对话中保存信息并通过全文搜索再次查找。它还提供指导记忆使用的提示词。
主要功能
- 01在 SQLite 中保存记忆
- 02通过全文搜索查找记忆
- 03提供记忆使用提示词
- 04可配置数据库位置与文件名
适用场景
- 01保存对话中的信息以便后续检索
- 02通过全文搜索查找先前记忆
MCP 相关
该 MCP 服务向 LLM 提供保存和搜索记忆的能力,并包含用于指导记忆使用的提示词。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP KnowledgeBase Server
一个 Model Context Protocol(MCP)服务,可让大模型在对话过程中存储记忆,并在之后搜索这些记忆。记忆存储在 SQLite 数据库中,记忆搜索由其全文搜索功能提供支持。
用法
两个环境变量用于控制数据库的位置和文件名。
DATABASE_NAME:使用默认位置,但指定自定义数据库文件名。例如,my_custom_db.sqlite。
DATABASE_PATH:指定数据库文件的完整路径(忽略 DATABASE_NAME)。例如,/Users/your_name/.db/my_db.sqlite。
Docker
使用 Docker 时,必须创建持久化卷来存储数据库(高级用户也可以按需挂载文件系统中的文件夹)。运行 docker volume create knowledgebase 进行设置,然后按下方所示在 claude_desktop_config.json 中配置服务。
如果要在 Docker 中使用自定义数据库文件,必须使用 DATABASE_PATH,并通过 --env 参数将其传递给 Docker 命令。例如(将这些字符串放入配置的 args 数组中,置于镜像名称之前):"--env", "DATABASE_PATH=/db/my_db.sqlite"。
{
"mcpServers": {
"knowledgebase": {
"command": "docker",
"args": [
"run",
"--interactive",
"--rm",
"--volume", "knowledgebase:/db",
"mbcrawfo/knowledge-base-server"
]
}
}
}
使用 dotnet cli 在本地运行
- 你需要安装 .Net 9 SDK。
- 克隆此仓库。
- 在终端中导航到仓库目录并运行
dotnet build。 - 将下方配置添加到
claude_desktop_config.json(如果遇到错误,请尝试指定 dotnet cli 的完整路径)。
在本地运行时,默认数据库位置为“应用程序数据”目录。
{
"mcpServers": {
"knowledgebase": {
"command": "dotnet",
"args": [
"run",
"--project", "/full/path/to/repo/src/KnowledgeBaseServer/KnowledgeBaseServer.csproj",
"--no-restore",
"--no-build"
]
}
}
}
提示词
此服务包含一个“通用记忆用法”提示词,用于告知大模型如何使用记忆。不过,你可能希望使用自定义提示词,以更贴合自己的使用场景。
开发
你可以使用 --init-db 参数创建或升级用于测试的数据库。在 KnowledgeBaseServer 项目目录中,运行 dotnet run -- --init-db /path/to/db.sqlite。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。