项目简介

本项目是一个使用 Python 实现的 MCP (Model Context Protocol) 服务器和客户端的最小化示例。旨在帮助开发者理解 MCP 协议的工作原理,并提供一个可调试的 MCP 服务器和客户端参考实现。服务器端提供了一个简单的 “get-datetime” 工具,用于获取当前日期和时间。

主要功能点

  • MCP 服务器实现: 实现了基本的 MCP 服务器功能,包括工具注册和工具调用处理。
  • 日期时间工具: 提供一个名为 'get-datetime' 的工具,用于获取服务器当前的时间。
  • Stdio 传输: 使用标准输入/输出 (stdio) 作为 MCP 服务器和客户端之间的通信通道。
  • 客户端示例: 提供了一个 Python 客户端,可以连接到 MCP 服务器,列出可用工具并调用工具。

安装步骤

  1. 安装 Python: 确保您的系统已安装 Python 3.7 或更高版本。
  2. 克隆仓库: 将仓库 'https://github.com/lukeage/python-pip-mcp' 克隆到本地。
  3. 创建虚拟环境: 在仓库根目录下打开终端,运行命令 'python -m venv myenv' 创建虚拟环境。
  4. 激活虚拟环境: 运行命令 'myenv\Scripts\activate' (Windows) 或 'source myenv/bin/activate' (Linux/macOS) 激活虚拟环境。
  5. 安装依赖: 运行命令 'pip install -r requirements.txt' 安装项目依赖。
  6. (可选) 配置 Anthropic API Key: 如果您想运行包含 Claude 集成的客户端完整示例,复制 '.env.sample' 文件为 '.env',并填入您的 Anthropic API Key。如果仅测试 MCP 服务器,则无需此步骤。

服务器配置

MCP 客户端需要以下配置信息才能连接到此 MCP 服务器。请将以下 JSON 配置提供给 MCP 客户端,用于指定服务器的启动方式:

{
  "server_name": "date-server",
  "command": "python",
  "args": ["mcp_server.py"]
}
  • 'server_name': 服务器名称,这里为 "date-server"。
  • 'command': 启动服务器的命令,这里使用 'python' 解释器。
  • 'args': 传递给 'python' 命令的参数列表,这里指定运行 'mcp_server.py' 脚本。

基本使用方法

  1. 启动 MCP 服务器: 在终端中,导航到仓库根目录并激活虚拟环境,运行命令 'python mcp_server.py' 启动 MCP 服务器。服务器将在后台运行并监听客户端连接。
  2. 启动 MCP 客户端: 在另一个终端中,同样导航到仓库根目录并激活虚拟环境,运行命令 'python mcp_client.py' 或 'python mcp_client.py ./mcp_server.py' 启动 MCP 客户端。客户端将尝试连接到之前启动的 MCP 服务器。
  3. 与客户端交互: 客户端启动后,您可以在终端中输入查询内容。例如,输入 "What is the current time?",客户端会调用服务器提供的 'get-datetime' 工具,并将结果返回给您。输入 'quit' 可以退出客户端。

信息

分类

开发者工具