使用说明

项目简介

EasyMCP Server 模板是一个用于快速搭建 Model Context Protocol (MCP) 服务器的 Swift 语言项目模板。它基于 'mcp-swift-sdk' 库,提供了一个简洁的框架和示例,展示了如何实现 MCP 协议的核心功能,包括注册工具和通过标准输入输出 (stdio) 进行 MCP 通信。该模板旨在帮助开发者快速上手,构建自己的 MCP 服务器应用,例如 macOS 应用程序或命令行工具的后端服务。

主要功能点

  • MCP 协议支持: 实现了 MCP 协议的基本服务器端功能,能够接收和响应 MCP 客户端的请求。
  • 工具注册: 允许注册自定义工具 (Tools),并通过 MCP 协议暴露给 LLM 客户端调用。模板中包含一个简单的 "helloPerson" 工具示例。
  • 标准输入输出 (stdio) 传输: 使用 stdio 作为默认的 MCP 通信通道,方便命令行工具集成和本地调试。
  • 基础框架: 提供清晰的项目结构和代码组织,方便开发者扩展和定制功能。
  • 示例代码: 包含简单的命令行示例 'mcpexample',演示了如何启动 MCP 服务器和注册工具。

安装步骤

  1. 环境准备: 确保已安装 Swift 开发环境。
  2. 创建项目: 将此 GitHub 仓库克隆或 Fork 到本地。
  3. 构建项目: 在项目根目录下,使用 Swift Package Manager 构建项目,运行命令 'swift build'。
  4. 测试运行: 构建成功后,可以运行示例程序,例如 'swift run mcpexample hello' 或 'swift run mcpexample run'。

服务器配置

MCP 客户端需要配置连接到 EasyMCP 服务器的命令和参数。以下是针对 'mcpexample' 命令行工具的配置示例(JSON 格式):

{
  "serverName": "EasyMCP Server",
  "command": "/path/to/mcpexample",  // 请替换为 mcpexample 可执行文件的绝对路径,通常在 Xcode 构建目录或 swift build 的 .build 目录下
  "args": ["run"]                   // 启动 MCP 服务器的参数,这里使用 "run" 命令
}

参数注释:

  • 'serverName': MCP 服务器的名称,可以自定义。
  • 'command': 重要 - 'mcpexample' 可执行文件的绝对路径。您需要在构建项目后,找到 'mcpexample' 可执行文件,并将其绝对路径填入此处。通常在 Xcode 中构建后,可以在 "Product" -> "Show Build Folder in Finder" 中找到构建目录,然后在该目录下的 "Debug" 或 "Release" 文件夹中找到 'mcpexample' 可执行文件。对于使用 'swift build' 构建的项目,可执行文件通常位于 '.build/debug' 或 '.build/release' 目录下。
  • 'args': 启动 'mcpexample' 可执行文件时需要传递的命令行参数。'["run"]' 参数指示 'mcpexample' 启动 MCP 服务器模式,监听 stdio 进行 MCP 通信。

重要提示: 请务必将 'command' 字段中的路径替换为 'mcpexample' 可执行文件的实际绝对路径。

基本使用方法

  1. 启动 MCP 服务器: 配置好 MCP 客户端后,客户端会根据配置的命令和参数启动 'mcpexample' 并建立 MCP 连接。'mcpexample run' 命令会启动一个基于 stdio 的 MCP 服务器。
  2. 与服务器交互: MCP 客户端通过 JSON-RPC 协议与 EasyMCP 服务器进行通信,发送请求(例如调用工具、获取资源等)并接收响应。您可以使用 MCP Inspector 等工具测试和调试您的 MCP 服务器。
  3. 注册和使用工具: 在 'EasyMCP' 库的代码中,您可以注册自定义的工具。客户端可以通过 MCP 协议发现并调用这些工具。示例代码中已经注册了一个名为 "helloPerson" 的工具,您可以参考示例添加更多工具。
  4. 查看日志: 可以通过查看日志文件 ('~/Library/Logs/Claude/mcp*.log') 来调试和监控 MCP 服务器的运行状态。

通过以上步骤,您可以利用 EasyMCP Server 模板快速构建并运行一个基础的 MCP 服务器,并根据自身需求进行扩展和定制。

信息

分类

开发者工具