
MCP Knowledge Base

2025.04.22
0
Python知识库查询LLM 集成开发效率
MCP Knowledge Base 是一个简单的 MCP 客户端-服务器应用,旨在通过 LLM(大型语言模型)能力提供知识库查询和工具调用功能。它结合了 OpenAI API 的强大语言理解能力,可以回答关于 MCP 的问题,并支持自定义工具扩展。
View on GitHub
Overview
基本能力
产品定位
MCP Knowledge Base 是一个结合了 MCP 协议和 LLM 能力的知识库查询系统,旨在为开发者提供高效的 MCP 相关问答和工具调用服务。
核心功能
- MCP 服务器实现:提供基于 MCP 协议的服务器功能,支持工具调用。
- LLM 客户端:通过 OpenAI API 实现自然语言查询解析和工具调用。
- 知识库查询:内置 MCP 相关的问答知识库,可扩展和修改。
- 工具扩展:支持开发者自定义工具,通过装饰器轻松添加新功能。
适用场景
- MCP 相关问答:快速查询 MCP 协议、技术细节等。
- 开发辅助:在开发过程中通过自然语言调用工具或获取帮助。
- 知识库扩展:作为基础框架,可扩展为其他领域的知识库系统。
工具列表
- 知识库查询工具:回答关于 MCP 的问题。
- 自定义工具:开发者可根据需求添加任意功能工具。
常见问题解答
- 如何添加新工具?:在
server.py
中使用@mcp.tool()
装饰器创建新函数。 - 如何修改知识库?:更新
data/kb.json
文件。 - 如何更换 OpenAI 模型?:修改
MCPClient
类中的model
参数。
使用教程
使用依赖
- Python 3.9 或更高版本
- Poetry 依赖管理工具
- OpenAI API key
安装教程
- 使用 Poetry 安装依赖:
bash poetry install
- 在项目根目录或父目录创建
.env
文件,添加 OpenAI API key:OPENAI_API_KEY=your_api_key_here
运行应用
- 启动服务器:
bash poetry run python server.py
- 在另一个终端运行客户端:
bash poetry run python client-sse.py
调试方式
- 直接工具调用模式:
- 取消
client-sse.py
中asyncio.run(test_direct_tool_calls())
的注释 - 直接调用工具而不使用 LLM
- LLM 交互模式(默认):
- 使用 OpenAI 解析查询并调用适当工具
- 可提问如 "What is MCP?" 或 "What is the difference between stdio and SSE transports?"