MCP客户端-服务器系统

一个基于Python的MCP客户端-服务器系统,支持工具调用和LLM驱动的交互,适用于知识库查询和自动化任务处理。

  • by gmogmzGithub
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 gmogmzgithub/mcp-knowledgebase-llm

使用说明

MCP知识库

一个简单的MCP客户端服务器

需求

  • Python 3.9或更高版本
  • 依赖管理诗
  • OpenAI API密钥

设置

  1. 使用Poetry安装依赖项:
    poetry install
    

2创建一个 .env 在项目根目录或父目录中使用OpenAI API密钥的文件:

OPENAI_API_KEY=your_api_key_here

项目结构

  • server.py:使用工具实现MCP服务器
  • client-sse.py:具有LLM功能的MCP客户端实现
  • data/kb.json:包含MCP相关问答的知识库数据
  • pyproject.toml:诗歌配置文件

运行应用程序

  1. 启动服务器:

    poetry run python server.py
    
  2. 在单独的终端中,运行客户端:

    poetry run python client-sse.py
    

使用客户端

客户端有两种模式:

  1. 直接工具调用:

    • 取消注释 asyncio.run(test_direct_tool_calls()) 线路输入 client-sse.py
    • 这直接调用工具,而不使用LLM
  2. LLM驱动的交互(默认):

    • 使用OpenAI解释查询并调用适当的工具
    • 问“什么是MCP?”或“stdio和SSE传输之间有什么区别?”

自定义

  • 添加新工具 server.py 通过使用创建附加功能 @mcp.tool() 装饰器
  • 通过更新修改知识库 data/kb.json
  • 通过修改OpenAI模型 model 参数在 MCPClient 类