Swiftcodermcp
一个全面的Swift编码MCP(模型上下文协议)服务器,拥有50多种工具,用于创建脚本、快捷方式、小部件、应用程序,并通过人工智能助手管理Swift项目。
🚀 特性
- 项目脚手架:使用模板创建Swift包、应用程序、小部件和宏
- 代码生成:生成结构、枚举、协议、SwiftUI视图和测试
- 包管理:管理SPM依赖关系、更新和冲突
- 构建自动化:使用高级选项进行构建、测试和归档
- 小工具开发:创建WidgetKit扩展和实时活动
- 宏观发展:构建具有完全调试支持的Swift宏
- 代码重构:重命名符号、提取方法、格式代码
- 脚本编写:创建CLI工具、Swift脚本和Shortcuts集成
- 测试:生成单元测试、快照测试和性能基准测试
📦 安装
先决条件
- Swift 5.9+(
swift --version) - Git
- Swift包管理器依赖项的网络访问
Raspberry Pi 4支持: 只要安装了兼容的Swift工具链,该项目就可以在Linux ARM64(包括Pi 4上的Raspberry Pi OS 64位)上运行。
______________________________________________________________________
Raspberry Pi 4(推荐流量)
- 使用64位操作系统映像 (Raspberry Pi OS 64位书虫或Ubuntu服务器22.04/24.04 ARM64)。
- 安装Swift 对于Linux ARM64从Swift官方下载说明:
- https://www.swift.org/download/
- 验证工具链:
swift --version- 克隆和构建:
git clone
cd SwiftCoderMCP
./build.sh- 安装二进制文件:
sudo cp .build/release/swift-coder-mcp /usr/local/bin/- 运行诊断程序:
./diagnose.sh
swift-coder-mcp --version______________________________________________________________________
从源代码构建macOS/Linux
git clone
cd SwiftCoderMCP
./build.sh
sudo cp .build/release/swift-coder-mcp /usr/local/bin/可选安装程序脚本
如果您已经构建了二进制文件,则可以使用以下命令进行安装:
./install.sh --buildPi 4的故障排除提示
- 如果构建内存紧张,请减少并行性:
swift build -c release -j 2- 确保你的shell可以找到Swift(
which swift)以及已安装的二进制文件(which swift-coder-mcp). - 如果依赖关系无法解决,请重新运行:
swift package resolve🛠️ 可用工具(50+)
项目管理
create_swift_package-创建新的Swift包scaffold_project-生成完整的项目结构add_target-将目标添加到现有包中analyze_project-分析项目结构和依赖关系setup_xcode_project-配置Xcode项目设置
代码生成
generate_struct-使用可编码/可等式生成结构generate_enum-生成具有关联值的枚举generate_protocol-生成具有要求的协议generate_extension-生成扩展generate_swiftui_view-生成带有预览的SwiftUI视图generate_test_cases-生成XCTest/Swift测试generate_mock-生成模拟实现
包管理
add_dependency-添加包依赖项remove_dependency-删除依赖项update_dependencies-更新到最新版本resolve_dependencies-解决而不更新show_dependencies-显示依赖关系树edit_package-修改Package.swiftclean_package-清理构建工件
构建与测试
build_target-使用配置选项进行构建run_executable-构建并运行可执行文件test_package-运行覆盖率测试archive_build-创建档案以供分发benchmark_build-性能基准构建check_compatibility-检查API兼容性
小工具开发
create_widget_extension-创建WidgetKit扩展create_intent_configuration-可配置的小部件create_live_activity-动态岛/锁屏活动generate_widget_preview-Xcode预览代码create_app_clip-带有关联域的应用剪辑
宏观发展
create_macro_package-完整的宏包结构generate_macro_expansion_test-测试宏扩展debug_macro_expansion-调试宏问题create_macro_diagnostic-诊断消息并修复其analyze_swift_syntax-Swift语法AST分析
重构
rename_symbol-跨代码库重命名extract_method-提取到新方法extract_variable-提取到变量organize_imports-对进口进行排序和组织format_code-采用swift格式migrate_to_swift6-Swift 6移民援助
脚本和CLI
create_swift_script-可执行Swift脚本create_shortcut_intent-快捷方式应用程序集成create_cli_tool-ArgumentParser命令行界面工具create_automation_script-macOS自动化bundle_script-捆绑为独立可执行文件
模板
apply_template-使用预定义模板create_template-创建自定义模板list_templates-列出可用模板customize_template-修改模板
依赖项
analyze_dependencies-完全依赖性分析check_vulnerabilities-安全漏洞检查suggest_updates-更新建议generate_dependency_report-多种格式的报告
测试
generate_unit_tests-XCTest/Swift测试generate_snapshot_tests-快照测试设置generate_performance_tests-性能基准analyze_test_coverage-覆盖率分析
💡 示例用法
创建新的iOS应用程序
{
"tool": "scaffold_project",
"arguments": {
"name": "MyApp",
"path": "/Users/dev/projects",
"template": "ios-app",
"features": ["swiftui", "widget"]
}
}生成SwiftUI视图
{
"tool": "generate_swiftui_view",
"arguments": {
"name": "UserProfileView",
"stateVariables": [
{"name": "user", "type": "User", "initialValue": "User()"}
],
"body": "VStack { Text(user.name) }"
}
}创建CLI工具
{
"tool": "create_cli_tool",
"arguments": {
"name": "FileFinder",
"path": "/Users/dev/tools",
"arguments": [
{"name": "pattern", "type": "String", "help": "Search pattern"}
],
"flags": [
{"name": "recursive", "help": "Search recursively"}
]
}
}添加依赖项
{
"tool": "add_dependency",
"arguments": {
"packagePath": "/Users/dev/MyProject",
"url": "https://github.com/Alamofire/Alamofire",
"version": "5.8.0",
"products": ["Alamofire"]
}
}🔧 配置
克劳德桌面
添加 claude_desktop_config.json:
{
"mcpServers": {
"swift-coder": {
"command": "/usr/local/bin/swift-coder-mcp",
"args": [],
"env": {
"SWIFT_CODER_TEMPLATES": "~/.swift-coder-mcp/templates"
}
}
}
}光标
添加 .cursor/mcp.json:
{
"servers": [
{
"name": "swift-coder",
"command": "/usr/local/bin/swift-coder-mcp"
}
]
}📚 文档
🤝 贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 添加测试
- 提交拉取请求
📄 许可证
MIT许可证-请参阅 许可证 文件
