s

suspicious-cow

@suspicious-cow/MCP2
0 Stars 313 次浏览 suspicious-cow 更新于 2026-08-23
该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

Model Context Protocol (MCP) Python 实现

该项目根据 Anthropic MCP 规范实现了 Model Context Protocol (MCP) 的服务器和客户端的 Python 版本。它通过一个简单且交互式的示例展示了 MCP 协议的关键模式。

什么是 MCP?

Model Context Protocol (MCP) 是基于 JSON-RPC 2.0 构建的一个开放标准,用于将 AI 模型连接到外部数据源和工具。它定义了一个客户端-服务器架构,在该架构中,AI 应用程序与一个或多个 MCP 服务器通信,每个服务器都暴露了如下功能:

  • 工具:执行操作的可执行函数
  • 资源:提供信息的数据源
  • 提示:预定义的模板或工作流

MCP 标准化了这些功能的发现和调用方式,充当“AI 的 USB-C”,允许模型以结构化的方式与外部系统交互。

项目结构

  • server/:MCP 服务器实现
    • server.py:处理 MCP 请求并提供示例工具/资源的 WebSocket 服务器
  • client/:MCP 客户端实现
    • client.py:演示客户端,连接到服务器并展示所有 MCP 功能

展示的功能

此实现展示了核心的 MCP 协议流程:

  1. 能力协商:通过 initialize 进行客户端-服务器握手
  2. 能力发现:列出可用的工具和资源
  3. 工具调用:使用参数调用 add_numbers 工具
  4. 资源访问:从资源中读取文本内容

设置

  1. 创建虚拟环境:
    bash
    python3 -m venv .venv
    source .venv/bin/activate

  2. 安装依赖项:
    bash
    pip install -r requirements.txt

使用方法

  1. 启动 MCP 服务器(在一个终端中):
    bash
    python server/server.py

  2. 运行 MCP 客户端(在另一个终端中):
    bash
    python client/client.py

客户端将连接到服务器,执行 MCP 握手,发现功能,并演示调用工具和访问资源,同时以格式化的输出显示结果。

工作原理

MCP 服务器

服务器:

  • 接受 WebSocket 连接
  • 响应遵循 MCP 规范的 JSON-RPC 请求
  • 提供一个示例工具 (add_numbers)
  • 提供一个示例资源 (example.txt)
  • 支持 MCP 握手和功能发现

MCP 客户端

客户端:

  • 通过 WebSocket 连接到服务器
  • 执行 MCP 握手
  • 发现可用的工具和资源
  • 演示调用工具和读取资源
  • 以格式化的方式呈现结果

协议细节

MCP 实现了以下关键方法:

方法 描述
initialize 用于建立功能的手势
tools/list 列出可用工具
tools/call 使用参数调用工具
resources/list 列出可用资源
resources/read 读取资源内容
prompts/list 列出可用提示

扩展项目

你可以通过以下方式扩展此实现:

  • 添加更多具有不同功能的工具
  • 添加每次读取时都会变化的动态资源
  • 实现用于引导交互的提示模板
  • 创建更多交互式的客户端应用程序

参考资料

相关 MCP 服务