基本能力
产品定位
SwiftMCP 是一个用于实现 JSON-RPC 通信的 Swift 框架,支持多种传输方式,适用于开发需要远程过程调用和工具集成的应用程序。
核心功能
- 多种传输选项:
- 标准 I/O(stdio)用于命令行使用
- HTTP+SSE(Server-Sent Events)用于 Web 应用程序
- JSON-RPC 2.0 兼容:支持标准的 JSON-RPC 2.0 协议
- 异步响应处理:通过 SSE 实现异步响应
- 内置授权支持:支持通过令牌进行授权验证
- 跨平台兼容性:可在不同平台上运行
- OpenAPI 支持:提供 OpenAPI 规范,便于与 AI 插件集成
适用场景
- 需要远程过程调用的开发项目
- 工具集成和自动化任务
- 与 AI 模型或其他支持 OpenAPI 的工具集成
工具列表
- @MCPServer:用于定义 MCP 服务器类或角色,自动生成元数据和文档
- @MCPTool:用于定义服务器中的工具函数,支持远程调用
常见问题解答
- 如何实现自定义服务器?:通过
@MCPServer
宏定义服务器类,并使用@MCPTool
宏定义工具函数。 - 如何启用 OpenAPI 支持?:在启动时添加
--openapi
选项。 - 如何设置授权?:通过
--token
选项设置令牌,并在请求中包含 Authorization 头。
使用教程
使用依赖
在 Package.swift
中添加 SwiftMCP 依赖:
swift
dependencies: [
.package(url: "https://github.com/Cocoanetics/SwiftMCP.git", branch: "main")
]
安装教程
-
克隆仓库并构建项目:
bash
git clone https://github.com/Cocoanetics/SwiftMCP.git
cd SwiftMCP
swift build -
运行演示应用程序:
```bash
使用 stdio 传输
SwiftMCPDemo stdio
使用 HTTP+SSE 传输
SwiftMCPDemo httpsse --port 8080
使用 HTTP+SSE 传输并启用授权
SwiftMCPDemo httpsse --port 8080 --token your-secret-token
使用 HTTP+SSE 传输并启用 OpenAPI 支持
SwiftMCPDemo httpsse --port 8080 --openapi
```
调试方式
-
检查服务器是否正常运行:
bash
curl http://localhost:8080/ping -
验证 OpenAPI 文档:
bash
curl http://localhost:8080/openapi.json -
验证 AI 插件清单:
bash
curl http://localhost:8080/.well-known/ai-plugin.json