MCP Knowledge Base
A local knowledge base system based on ChromaDB that supports automatic chunking, vector storage, and efficient similarity retrieval of txt and pdf documents, with MCP protocol support allowing AI assistants to directly access knowledge management functions.
README
基于ChromaDB的本地知识库系统
项目简介
本项目是一个基于 ChromaDB 的本地知识库系统,支持 txt 和 pdf 文档的自动分块、向量化存储与高效相似度检索。适合个人、企业、内网环境下的知识管理。
新增功能: 已支持 MCP(Model Context Protocol),让AI助手可以直接调用知识库功能!
功能特点
- 基于 ChromaDB,支持高效向量检索
- 支持 txt 和 pdf 文件(PDF 需安装 PyPDF2 或 PyMuPDF)
- 自动分块、嵌入向量化、余弦相似度检索
- 本地持久化存储,数据安全可控
- 命令行一键添加、查询、删除、统计
- 文档去重、分块管理
- MCP工具支持 - AI助手可直接调用知识库功能
安装依赖
推荐使用 Python 3.10 及以上(3.12最佳),并安装如下依赖:
pip install chromadb PyPDF2 PyMuPDF
如需更强嵌入效果,可安装 sentence-transformers(首次需联网下载模型):
pip install sentence-transformers
目录结构
向量数据库/
├── knowledge_base_chromadb.py # 主程序(ChromaDB版)
├── mcp_server.py # MCP服务器实现
├── mcp_knowledge_base.py # MCP工具包装器
├── mcp_server_config.json # MCP服务器配置
├── documents/ # 存放待导入文档
│ └── example.txt # 示例文档
├── knowledge_base/ # ChromaDB数据库文件夹
├── README.md # 说明文档
├── 使用指南.md # 详细使用指南
└── MCP使用说明.md # MCP工具使用说明
快速开始
命令行使用
-
准备文档
- 将 txt/pdf 文件放入
documents/目录
- 将 txt/pdf 文件放入
-
添加文档到知识库
python knowledge_base_chromadb.py add documents/example.txt # 或 py -3.12 knowledge_base_chromadb.py add documents/example.txt -
查询知识库
python knowledge_base_chromadb.py search "人工智能" -
列出所有文档
python knowledge_base_chromadb.py list -
删除文档
python knowledge_base_chromadb.py delete 文档名 -
查看统计信息
python knowledge_base_chromadb.py stats
MCP工具使用
AI助手现在可以直接调用知识库功能:
用户: "请帮我搜索关于人工智能的文档"
AI助手: 我来搜索知识库中关于人工智能的文档。
[调用 search_documents 工具]
用户: "请添加这个文档到知识库"
AI助手: 我来帮您添加文档到知识库。
[调用 add_document 工具]
用户: "知识库里有哪些文档?"
AI助手: 让我查看一下知识库中的文档列表。
[调用 list_documents 工具]
命令行用法
- 添加文档:
add <文件路径> - 检索知识:
search <查询内容> [--top-k N] - 列出文档:
list - 删除文档:
delete <文档名> - 统计信息:
stats - 指定数据库:
--db <数据库文件夹>
MCP工具
支持的MCP工具
add_document- 添加文档到知识库search_documents- 搜索知识库list_documents- 列出所有文档delete_document- 删除文档get_stats- 获取统计信息batch_add_documents- 批量添加文档
MCP配置
在MCP客户端配置中添加:
{
"mcpServers": {
"knowledge-base": {
"command": "python",
"args": ["mcp_server.py"],
"env": {
"PYTHONPATH": "."
}
}
}
}
常见问题
- PDF无法读取:请确保已安装 PyPDF2 或 PyMuPDF
- 检索无结果:请确认已成功添加文档
- 数据库损坏:可删除 knowledge_base 文件夹重新初始化
- 编码问题:请确保文档为 UTF-8 编码
- MCP连接失败:检查Python路径和依赖安装
如需详细命令示例和进阶用法,请参见 使用指南.md 和 MCP使用说明.md。
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。