使用说明

项目简介

Hummingbird MCP示例服务器是一个基础的MCP(Model Context Protocol)服务器实现,旨在演示如何使用Swift语言和相关库(Hummingbird, swift-sdk, SSEKit)构建一个符合MCP协议的服务端应用。它展示了MCP服务器的核心功能,例如资源托管、工具注册和Prompt模板定义,并通过SSE(Server-Sent Events)协议与MCP客户端进行通信。请注意,这是一个非常基础的示例,并非生产级别的推荐实现。

主要功能点

  • 资源管理 (Resources): 虽然示例中可能未明确展示复杂的资源管理,但作为MCP服务器,它应支持资源的托管和访问,这是MCP的核心功能之一。
  • 工具执行 (Tools): MCP服务器允许注册和执行工具,以便LLM客户端可以调用外部功能。此示例应包含工具注册和调用的基本框架。
  • Prompt模板 (Prompts): 服务器应支持定义和渲染Prompt模板,以定制与LLM的交互方式。
  • SSE传输协议: 使用SSEKit库实现基于Server-Sent Events的通信,允许客户端通过HTTP连接接收服务器推送的更新和响应。
  • MCP Inspector兼容: 示例设计为可以与官方的MCP Inspector工具配合使用,方便开发者测试和调试MCP服务。

安装步骤

  1. 环境准备: 确保已安装 Swift 运行环境。
  2. 克隆仓库: 从 GitHub 克隆 'hummingbird-mcp' 仓库到本地。
    git clone https://github.com/stallent/hummingbird-mcp.git
    cd hummingbird-mcp
  3. 编译和运行: 使用 Swift Package Manager 构建并运行服务器。
    swift run HummingbirdMCP

服务器配置

MCP客户端需要配置以下信息才能连接到此服务器。请注意,这里的配置是客户端需要的,服务器本身配置主要体现在代码中 'MCPServer.start()' 函数内部。

{
  "serverName": "Hummingbird MCP Server",
  "transport": {
    "type": "sse",
    "uri": "http://127.0.0.1:8080/mcp/sse"
  },
  "command": "swift",
  "args": [
    "run",
    "HummingbirdMCP"
  ],
  "description": "Hummingbird MCP 示例服务器,使用 SSE 传输协议",
  "capabilities": [
    "resources",
    "tools",
    "prompts"
  ]
}

配置参数说明:

  • 'serverName': 服务器的名称,可以自定义,例如 "Hummingbird MCP Server"。
  • 'transport.type': 传输协议类型,这里是 "sse" (Server-Sent Events)。
  • 'transport.uri': SSE 连接的 URI,默认为 'http://127.0.0.1:8080/mcp/sse',与示例代码配置一致。
  • 'command': 启动服务器的命令,对于 Swift 项目,通常是 'swift'。
  • 'args': 启动命令的参数,这里使用 'run HummingbirdMCP' 来运行可执行文件。
  • 'description': 服务器的简要描述,方便客户端用户了解服务器用途。
  • 'capabilities': 服务器声明支持的 MCP 功能,例如 "resources", "tools", "prompts"。客户端可以根据这些能力来决定如何与服务器交互。

基本使用方法

  1. 启动服务器: 在终端中运行 'swift run HummingbirdMCP' 命令启动服务器。
  2. 启动 MCP Inspector: 打开另一个终端,运行 'npx @modelcontextprotocol/inspector' 启动 MCP Inspector 工具。
  3. 配置 Inspector: 在 MCP Inspector 中,选择 "SSE" 传输类型,并配置连接 URL 为 'http://127.0.0.1:8080/mcp/sse'。
  4. 连接服务器: 点击 MCP Inspector 中的 "Connect" 按钮,连接到 Hummingbird MCP 示例服务器。
  5. 测试功能: 通过 MCP Inspector 界面,可以尝试浏览服务器提供的资源、调用注册的工具或测试 Prompt 模板功能(如果示例服务器实现了这些功能)。

信息

分类

开发者工具