这是一个提供基础框架的模板仓库,用于构建 macOS 应用程序和命令行工具的模型控制协议(MCP)服务器。
MCP 模板为希望在其项目中实现 MCP 服务器的开发者提供了一个起点。此模板展示了如何以最小的方式使用 mcp-swift-sdk,使其更容易理解 MCP 集成的基础知识。它包括一个可以集成到其他项目的库模板,以及一个简单的命令行示例来演示基本用法。
此仓库旨在成为:
mcp-swift-sdk 的参考实现当前和计划中的特性包括:
run 命令直接与 MCP 交互的命令行标准 I/O在您的 Package.swift 文件中添加以下内容:
dependencies: [
.package(url: "https://github.com/your-username/mcp-template.git", branch: "main"),
]
然后将依赖项添加到您的目标中:
.target(
name: "YourTarget",
dependencies: [
.product(name: "EasyMCP", package: "mcp-template")
]
),
import EasyMCP
// 创建 EasyMCP 实例
let mcp = EasyMCP()
// 注册一个工具
try await mcp.register(tool: Tool(
name: "helloPerson",
description: "返回友好的问候消息",
inputSchema: [
"type": "object",
"properties": [
"name": [
"type": "string",
"description": "要打招呼的人的名字",
]
],
"required": ["name"]
]
)) { input in
// 这是一个异步闭包,因此您可以等待需要长时间运行的任务
await someOtherAsyncStuffIfYouWant()
// 返回结果并标记是否出错
return Result(content: [.text(hello(input["name"]?.stringValue ?? "world"))], isError: false)
}
// 启动 MCP 服务器进行完整的 MCP 交互
try await mcp.start()
try await mcp.waitUntilComplete()
该包包含一个名为 mcpexample 的命令行可执行文件,演示了基本用法:
# 运行基本的 hello 示例
mcpexample hello
# 启动 MCP 服务器以处理 MCP 协议通信
mcpexample run
EasyMCP (库)
mcp-swift-sdkmcpexample (可执行文件)
ArgumentParser 处理 CLI 参数EasyMCPTests (测试目标)
要使用此模板创建您自己的 MCP 服务器:
swift build
swift test
使用 MCP Inspector 诊断和调试自定义 MCP 服务器可能也很有帮助。
$ npx @modelcontextprotocol/inspector
要使用 MCP Inspector 测试和调试您的 MCP 服务器:
npx @modelcontextprotocol/inspector <绝对路径到您的可执行文件> run
🔍 MCP Inspector 正在 http://localhost:5173 上运行 🚀
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log此设置提供了一个强大的调试环境,您可以在其中:
有关更多调试技巧,请访问 MCP 调试 在 Anthropic 的 modelcontextprotocol.io 站点。
MIT 许可证。