返回 MCP 目录
public公开dns本地运行

KnowledgeBaseServer

一个基于MCP协议的服务器,允许LLM在对话中存储和检索记忆,使用SQLite数据库实现全文搜索功能。

article

README

🚀 MCP知识库服务器

一个基于Model Context Protocol(MCP)的知识库服务器,它允许大语言模型在对话过程中存储记忆,并在之后进行搜索。记忆会存储在SQLite数据库中,同时利用其全文检索功能实现记忆搜索。

Docker镜像版本 构建状态

🚀 快速开始

环境变量说明

两个环境变量控制了数据库的位置和文件名:

  • DATABASE_NAME:使用默认位置但指定自定义数据库文件名。例如,my_custom_db.sqlite
  • DATABASE_PATH:指定完整的数据库文件路径(忽略DATABASE_NAME)。例如,/Users/your_name/.db/my_db.sqlite

📦 安装指南

Docker方式

在使用Docker时,必须创建一个持久卷来存储数据库(高级用户可以选择挂载文件系统中的某个目录,如果需要的话)。

  1. 运行docker volume create knowledgebase进行设置。
  2. 如果你希望使用自定义的数据库文件与Docker结合使用,则必须通过--env参数传递DATABASE_PATH。例如(将这些字符串放在配置文件args数组中,在镜像名称之前):"--env", "DATABASE_PATH=/db/my_db.sqlite"。
  3. 在你的claude_desktop_config.json配置文件中添加如下内容:
{
  "mcpServers": {
    "knowledgebase": {
      "command": "docker",
      "args": [
        "run",
        "--interactive",
        "--rm",
        "--volume", "knowledgebase:/db",
        "mbcrawfo/knowledge-base-server"
      ]
    }
  }
}

本地运行(使用dotnet CLI)

  1. 需要先安装.Net 9 SDK
  2. 克隆此仓库。
  3. 在终端中导航到仓库目录,运行dotnet build
  4. 将下面的配置添加到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

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端