article
README
🚀 MCP知识库服务器
一个基于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进行设置。 - 如果你希望使用自定义的数据库文件与Docker结合使用,则必须通过
--env参数传递DATABASE_PATH。例如(将这些字符串放在配置文件args数组中,在镜像名称之前):"--env", "DATABASE_PATH=/db/my_db.sqlite"。 - 在你的
claude_desktop_config.json配置文件中添加如下内容:
{
"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。
扫码联系在线客服