首页/知识与记忆系统/KnowledgeBaseServer

KnowledgeBaseServer

查看源码
2025-5-12
Words 537Read Time 2 min
Score:85

一个基于SQLite数据库的MCP服务器,允许大语言模型存储和检索会话中的知识。

MCP KnowledgeBase Server

notion image
这是一个基于 Model Context Protocol (MCP) 的服务器,允许大型语言模型(LLMs)在对话过程中存储记忆,并在后续进行检索。记忆存储在 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"

本地运行(使用 dotnet CLI)

  1. 需要安装 .Net 9 SDK
  1. 克隆此仓库。
  1. 在终端中导航到仓库目录,运行 dotnet build
  1. 将以下配置添加到 claude_desktop_config.json 中(如果遇到错误,请尝试指定 dotnet CLI 的完整路径)。
本地运行时,默认数据库位置位于您的应用程序数据目录中。

提示(Prompts)

服务器包含一个“General Memory Usage”提示,用于告知 LLM 如何使用记忆。不过,您可以根据自己的需求使用自定义提示。

开发

您可以使用 --init-db 参数来创建或升级测试数据库。在 KnowledgeBaseServer 项目目录中运行:dotnet run -- --init-db /path/to/db.sqlite
上一篇
ssh-mcp
下一篇
go-mcp-postgres