关于 MCP Swift Example Server
MCP Swift Example Server 是使用 Swift MCP SDK 和 stdio 通信的 MCP 服务示例,面向学习服务初始化与工具注册的开发者,并附有简单客户端示例。
主要功能
- 01配置 stdio 服务
- 02注册自定义 swift_echo 工具
- 03处理 ListTools 和 CallTool
- 04将详细日志写入 stderr
- 05Swift 客户端示例
适用场景
- 01学习用 Swift 实现基础 MCP 服务
- 02向 Claude Desktop 提供回显工具
- 03通过示例测试服务端与客户端通信
MCP 相关
它使用 StdioTransport 通过 stdio 向 MCP 客户端提供 swift_echo 工具。README 展示了 Claude Desktop 配置方式,并附有客户端示例。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Swift 示例服务
基本 Stdio 示例
这是一个基本示例,演示如何使用 Model Context Protocol Swift SDK 创建一个通过标准输入/输出(stdio)通信的简单服务。此配置兼容 Claude Desktop 等应用程序。
功能
此简单服务演示了:
- 设置基本 MCP 服务
- 定义并注册自定义工具(
swift_echo) - 处理
ListTools和CallTool请求 - 使用
StdioTransport进行通信 - 将详细日志记录到 stderr
开始使用
运行 Echo 服务
- 克隆此仓库:
git clone https://github.com/devyhan/mcp-swift-example-server.git
cd mcp-swift-example-server
- 构建服务:
swift build -c release
这将在 .build/release/macros-mcp-example-server 创建可执行文件。请记下此可执行文件的完整路径。
配置 Claude Desktop
若要在 Claude Desktop 中将此服务作为工具提供方使用,需要将其添加到 Claude Desktop 配置文件(claude_desktop_config.json)中。此文件的位置因操作系统而异。
在 claude_desktop_config.json 的 mcpServers 对象中添加类似以下内容的条目,并将 /PATH/TO/YOUR/SERVER/ 替换为系统上仓库目录的实际绝对路径:
{
"mcpServers": {
// ... other servers maybe ...
"swift_echo_example": {
"command": "/PATH/TO/YOUR/SERVER/mcp-swift-example-server/.build/release/macros-mcp-example-server"
}
// ... other servers maybe ...
}
}
swift_echo_example:这是你在 Claude Desktop 中引用此服务时使用的名称(可以更改)。command:这必须是你在上一步构建的可执行文件的绝对路径。
客户端示例
Examples 目录包含一个简单的客户端实现,演示如何与 MCP 服务通信:
# First start the server in one terminal:
swift run
# Then in another terminal, run the client example:
cd Examples
swift SimpleClient.swift
要求
- macOS 13 或更高版本
- Swift 5.9 或更高版本
项目结构
main.swift:服务应用程序的入口点MCPServer:MCP 协议服务实现EchoToolbox:提供基本回显工具的工具箱
许可证
MIT
参考资料
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。