MCP KnowledgeBase Server

MCP KnowledgeBase Server

site icon
2025.04.15 2
C#记忆存储对话系统开发工具开发效率
KnowledgeBaseServer 是一个基于 Model Context Protocol (MCP) 的服务,允许大型语言模型(LLM)在对话过程中存储记忆并在之后进行搜索。记忆存储在 SQLite 数据库中,利用其全文搜索功能来检索记忆。
View on GitHub

Overview

基本能力

产品定位

KnowledgeBaseServer 是一个用于存储和检索 LLM 对话记忆的服务,旨在提升对话系统的上下文管理能力。

核心功能

  1. 记忆存储:允许 LLM 在对话过程中存储记忆。
  2. 记忆搜索:利用 SQLite 的全文搜索功能检索存储的记忆。
  3. 环境变量配置:通过 DATABASE_NAMEDATABASE_PATH 环境变量自定义数据库位置和文件名。
  4. Docker 支持:支持通过 Docker 容器运行服务,并可配置持久化存储卷。
  5. 本地运行:支持通过 .Net CLI 本地运行。
  6. 自定义提示:支持自定义提示以指导 LLM 如何使用记忆。

适用场景

  1. 对话系统:用于存储和检索对话上下文,提升对话连贯性。
  2. 开发测试:开发者可以通过 --init-db 参数创建或升级测试数据库。
  3. 个性化记忆管理:通过自定义数据库路径和提示,满足个性化需求。

工具列表

  1. Docker:用于容器化部署服务,支持持久化存储卷。
  2. .Net CLI:用于本地运行和开发测试。
  3. SQLite:作为底层数据库,提供全文搜索功能。

常见问题解答

  1. 服务挂起问题:由于 .Net MCP 库的 bug,服务可能在关闭时挂起,需手动终止 Docker 容器或本地进程。
  2. 数据库配置:通过 DATABASE_NAMEDATABASE_PATH 环境变量配置数据库位置和文件名。

使用教程

使用依赖

  1. Docker:需安装 Docker 以运行容器化服务。
  2. .Net 9 SDK:本地运行需安装 .Net 9 SDK

安装教程

Docker 安装

  1. 创建持久化存储卷: bash docker volume create knowledgebase
  2. 配置 claude_desktop_config.json 文件,添加以下内容: json { "mcpServers": { "knowledgebase": { "command": "docker", "args": [ "run", "--interactive", "--rm", "--volume", "knowledgebase:/db", "mbcrawfo/knowledge-base-server" ] } } }

本地安装

  1. 克隆仓库: bash git clone <repository_url>
  2. 构建项目: bash dotnet build
  3. 配置 claude_desktop_config.json 文件,添加以下内容: json { "mcpServers": { "knowledgebase": { "command": "dotnet", "args": [ "run", "--project", "/full/path/to/repo/src/KnowledgeBaseServer/KnowledgeBaseServer.csproj", "--no-restore", "--no-build" ] } } }

调试方式

  1. 初始化数据库bash dotnet run -- --init-db /path/to/db.sqlite
  2. 检查日志:查看服务运行日志以排查问题。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。