使用说明

项目简介

本项目 'mcp-for-devs' 提供了一个基于 Model Context Protocol (MCP) 的简单服务器和客户端示例,旨在帮助开发者快速理解和上手 MCP 协议。它展示了如何使用 FastMCP 框架构建 MCP 服务器,并提供了一个简单的 'hello_world' 工具作为示例。你可以通过 Docker Compose 快速启动和体验 MCP 客户端与服务器的交互过程。

主要功能点

  • MCP 服务器实现: 使用 FastMCP 框架搭建,符合 MCP 协议规范。
  • 工具注册与执行: 演示了如何在 MCP 服务器上注册和暴露工具 ('hello_world'),并允许客户端调用执行。
  • 客户端交互: 提供 Python 客户端示例,展示如何连接 MCP 服务器、列出可用工具以及调用工具。
  • Docker 容器化: 服务器和客户端均提供 Dockerfile,方便容器化部署和运行。
  • SSE 传输协议: 使用 Server-Sent Events (SSE) 作为 MCP 客户端与服务器之间的通信协议。

安装步骤

  1. 安装 Docker 和 Docker Compose: 确保你的机器上已安装 Docker 和 Docker Compose。
  2. 克隆仓库: 将 'mcp-for-devs' 仓库克隆到本地:
    git clone https://github.com/pvanand07/mcp-for-devs.git
    cd mcp-for-devs

服务器配置

本示例的 MCP 服务器已经通过 Docker Compose 进行了配置,开箱即用。对于 MCP 客户端而言,需要配置连接到 MCP 服务器的相关信息。以下是连接到本示例 MCP 服务器的客户端配置信息示例(JSON 格式):

{
  "serverName": "fastmcp-sse-server",
  "transport": "sse",
  "url": "http://127.0.0.1:3001/sse"
}

配置信息参数说明:

  • 'serverName': MCP 服务器的名称,本示例中为 'fastmcp-sse-server',在 'server/fastmcp.py' 中定义。
  • 'transport': 使用的传输协议,本示例中使用 'sse' (Server-Sent Events)。
  • 'url': MCP 服务器的 SSE 端点 URL。由于 Docker Compose 配置了端口映射,客户端需要连接到主机的 '3001' 端口,并访问 '/sse' 路径。

注意: 实际的 MCP 客户端可能需要更详细的配置,例如身份验证信息等,具体取决于 MCP 服务器的实现和安全策略。本示例为了简化演示,没有启用身份验证。

基本使用方法

  1. 启动应用: 在仓库根目录下,使用 Docker Compose 启动服务器和客户端:

    docker compose up --build

    此命令会构建 Docker 镜像并启动容器。服务器将在后台运行,客户端将连接到服务器并执行预设的操作。

  2. 查看客户端日志: 查看客户端容器的日志输出,了解客户端与服务器的交互过程:

    docker compose logs client

    你将看到客户端连接到 MCP 服务器,列出可用的 'hello_world' 工具,并调用该工具的输出结果。

  3. 停止应用: 停止并移除容器:

    docker compose down

通过以上步骤,你可以快速体验本示例 MCP 服务器的功能,并基于此进行进一步的开发和探索。

信息

分类

开发者工具