关于 MCP Knowledge Base
MCP Knowledge Base 是一个 Python 项目,将 MCP 服务与 SSE 客户端结合,可通过 OpenAI 基于 JSON 知识库回答问题。它支持由 LLM 选择工具,也支持直接调用工具。
主要功能
- 01通过 MCP 提供工具
- 02使用 SSE MCP 客户端
- 03借助 OpenAI 回答查询
- 04无需 LLM 直接调用工具
- 05编辑 JSON 知识库
适用场景
- 01根据存储的 MCP 内容回答问题
- 02不使用 LLM 测试直接工具调用
- 03添加工具或更新知识库条目
MCP 相关
项目包含提供自定义工具的 MCP 服务和 SSE 客户端。客户端可以直接调用工具,也可以使用 OpenAI 根据查询选择工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP 知识库
一个简单的 MCP 客户端-服务端
要求
- Python 3.9 或更高版本
- 使用 Poetry 管理依赖
- OpenAI API 密钥
设置
-
使用 Poetry 安装依赖:
poetry install -
在项目根目录或父目录中创建
.env文件,并填入你的 OpenAI API 密钥:OPENAI_API_KEY=your_api_key_here
项目结构
server.py:包含工具的 MCP 服务实现client-sse.py:具备大模型能力的 MCP 客户端实现data/kb.json:包含 MCP 相关问答的知识库数据pyproject.toml:Poetry 配置文件
运行应用
-
启动服务:
poetry run python server.py -
在另一个终端中运行客户端:
poetry run python client-sse.py
使用客户端
客户端有两种模式:
-
直接调用工具:
- 取消注释
client-sse.py中的asyncio.run(test_direct_tool_calls())行 - 这会直接调用工具,不使用大模型
- 取消注释
-
由大模型驱动的交互(默认):
- 使用 OpenAI 解读查询并调用合适的工具
- 提出诸如“什么是 MCP?”或“stdio 与 SSE 传输方式有什么区别?”之类的问题
自定义
- 在
server.py中使用@mcp.tool()装饰器创建其他函数,以添加新工具 - 更新
data/kb.json以修改知识库 - 修改
MCPClient类中的model参数,以更改 OpenAI 模型
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。