基本能力
产品定位
MCP Swift SDK 是一个用于在 Swift 环境中实现 Model Context Protocol (MCP) 的软件开发工具包(SDK)。它允许开发者通过 Swift 语言与 MCP 协议进行交互,支持客户端和服务器的基本设置、工具调用、资源管理和提示处理等功能。
核心功能
- 客户端和服务器设置:支持初始化客户端和服务器,并通过传输层(如 StdioTransport)进行连接。
- 工具调用:可以列出可用工具并调用这些工具,支持传递参数和处理返回内容。
- 资源管理:支持列出、读取和订阅资源,以及处理资源更新通知。
- 提示处理:可以列出可用提示并获取带有参数的提示内容。
适用场景
- 开发 MCP 协议的客户端或服务器:适用于需要在 Swift 环境中实现 MCP 协议的开发者。
- 工具集成:适用于需要调用 MCP 协议中定义的工具的应用程序。
- 资源管理:适用于需要管理 MCP 协议中定义的资源的应用程序。
- 提示处理:适用于需要处理 MCP 协议中定义的提示的应用程序。
工具列表
- StdioTransport:用于通过标准输入输出进行通信的传输工具。
- Client:用于初始化 MCP 客户端的工具。
- Server:用于初始化 MCP 服务器的工具。
- ReadResource:用于处理资源读取请求的工具。
- ResourceUpdatedNotification:用于处理资源更新通知的工具。
常见问题解答
- 支持的平台和版本:需要 Swift 6.0+ / Xcode 16+,支持 macOS 13.0+、iOS / Mac Catalyst 16.0+、watchOS 9.0+、tvOS 16.0+ 和 visionOS 1.0+。
- 版本兼容性:在 1.0 版本之前,次要版本更新(0.X.0)可能包含破坏性更改。
- 许可证:项目采用 MIT 许可证。
使用教程
使用依赖
- Swift 6.0+ / Xcode 16+:确保开发环境满足最低版本要求。
- 支持的平台:确保目标平台为 macOS 13.0+、iOS / Mac Catalyst 16.0+、watchOS 9.0+、tvOS 16.0+ 或 visionOS 1.0+。
安装教程
- 通过 Swift Package Manager 安装:
swift
dependencies: [
.package(url: "https://github.com/modelcontextprotocol/swift-sdk.git", from: "0.7.1")
]
调试方式
- 初始化客户端:
swift
import MCP
let client = Client(name: "MyApp", version: "1.0.0")
let transport = StdioTransport()
try await client.connect(transport: transport)
let result = try await client.initialize() - 初始化服务器:
swift
import MCP
let server = Server(
name: "MyServer",
version: "1.0.0",
capabilities: .init(
prompts: .init(),
resources: .init(
subscribe: true
),
tools: .init()
)
)
let transport = StdioTransport()
try await server.start(transport: transport)