Token导航 LogoToken导航TokenDH.com
xc MCP logo
开发工具未说明官方级别未说明来源级核验

xc MCP

MCP Server

一个全面的MCP服务器,用于在Mac上进行Swift开发,支持构建、测试、运行和调试iOS和macOS应用程序,并提供200多种工具用于项目操作、LLDB调试、UI自动化等。

工具数

210

提示词数

0

GitHub Stars

0

资源数

0
Swift调试工具ClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

toba

提供方

toba

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

xc-mcp

Mac上Swift开发的详尽MCP服务器。在模拟器、物理设备和Mac本身上构建、测试、运行和调试iOS和macOS应用程序,使用200个工具进行项目操作、LLDB调试、UI自动化、仪器分析、内存诊断、崩溃符号化、公证、本地化、图标组合和SwiftUI预览捕获。

我开始研究这个问题是因为我尝试过的每一个类似的MCP都崩溃了,或者更糟糕的是,破坏了复杂项目的配置(多个目标、多个平台、依赖类型的混合)。我还认为,如果它是用Swift而不是TypeScript或Python编写的,那就太好了。

小心点

这个项目 快速迭代要达到这一点,必须解决相当复杂的问题,这既令人放心,也令人不安。有很好的linting和强大的测试,包括实际的开源Swift项目的夹具,但没有真正的QA过程。与任何代理工作一样,在发布kraken之前,确保您的文件已提交或以其他方式备份。

建立在

______________________________________________________________________

里面有什么

九种工具类别。使用单片服务器来处理所有事情,或者混合使用集中式服务器来降低令牌开销。

类别工具它的作用
1调试24LLDB会话、内存诊断、崩溃符号、视图边界
2macOS构建14构建、测试、运行、截图、覆盖率、分析
3模拟器25构建、运行、截图、触摸/手势自动化、日志
4设备9在物理iOS设备上构建、部署和测试
5项目管理58完整的.xcodeproj操作——目标、组、包、方案、测试计划
6图标组成9创建和编辑图标编辑器 .icon 捆绑包,通过渲染 ictool
8本地化24完全CRUD .xcstrings 文件——密钥、翻译、覆盖率
9会话和实用程序12自动检测、环境、Xcode同步、公证、版本管理

再加上中描述的一些跨领域功能 显著权力.

______________________________________________________________________

安装

自制(推荐)

brew tap toba/tap
brew install xc-mcp

来源

git clone https://github.com/toba/xc-mcp.git
cd xc-mcp
swift build -c release

配置

克劳德代码:

# With Homebrew
claude mcp add xc-mcp -- $(brew --prefix)/bin/xc-mcp

# From source
claude mcp add xc-mcp -- /path/to/xc-mcp/.build/release/xc-mcp

克劳德桌面版 --添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "xc-mcp": {
      "command": "/opt/homebrew/bin/xc-mcp"
    }
  }
}

对于Intel Mac,请使用 /usr/local/bin/xc-mcp 相反。

需求

  • macOS 15+
  • Xcode(for xcodebuild, simctl, devicectl)
  • 某些工具需要macOS隐私权限——请参阅 权限

______________________________________________________________________

多服务器架构

使用所有工具运行单个服务器,或使用集中服务器来减少令牌开销。每个工具都在 xc-mcp;聚焦服务器是严格的子集。

服务器工具令牌其中包含什么
xc-mcp187~30K一切
xc-project61~9K.xcodeproj操作
xc-build44~7KmacOS构建、分析、发现、诊断、图标、版本控制、公证
xc-simulator29~5K模拟器+UI自动化+模拟器日志
xc-debug28~4KLLDB、内存诊断、崩溃符号、屏幕截图
xc-strings24~3K.xcstring本地化
xc-swift15~3KSPM、swiftformat、swiftlint、诊断、覆盖率
xc-device14~3K物理iOS设备

Configuration presets

// Minimal (~9K tokens) — project editing only
{
  "mcpServers": {
    "xc-project": { "command": "/opt/homebrew/bin/xc-project" }
  }
}

// Standard (~19K tokens) — project + simulator + build
{
  "mcpServers": {
    "xc-project": { "command": "/opt/homebrew/bin/xc-project" },
    "xc-simulator": { "command": "/opt/homebrew/bin/xc-simulator" },
    "xc-build": { "command": "/opt/homebrew/bin/xc-build" }
  }
}

// Full (~27K tokens) — all capabilities
{
  "mcpServers": {
    "xc-project": { "command": "/opt/homebrew/bin/xc-project" },
    "xc-simulator": { "command": "/opt/homebrew/bin/xc-simulator" },
    "xc-device": { "command": "/opt/homebrew/bin/xc-device" },
    "xc-debug": { "command": "/opt/homebrew/bin/xc-debug" },
    "xc-swift": { "command": "/opt/homebrew/bin/xc-swift" },
    "xc-build": { "command": "/opt/homebrew/bin/xc-build" }
  }
}

______________________________________________________________________

显著权力

有几件事值得一提,因为它们不寻常、不明显,或者是这个项目存在的原因。

截图任何macOS应用程序窗口screenshot_mac_window 使用ScreenCaptureKit按应用程序名称、捆绑包ID或标题捕获任何窗口。无需模拟器。配对 debug_view_borders 查看布局问题。

语义化macOS UI自动化 --The interact_* 工具使用辅助功能API单击“保存”而不是像素坐标。转储UI树、单击按钮、读取值、导航菜单、键入文本。适用于任何正在运行的macOS应用程序。

SwiftUI预览截图preview_capture 提取物 #Preview 拦截、生成临时主机应用程序、构建并启动它、截图和清理。处理可合并库、SPM传递依赖关系、中的本地包 Packages/,以及导致编译器崩溃的嵌套结构预览。

MCP上的完整LLDB --由伪TTY支持的持久会话。断点在工具调用中仍然存在。完整调试器减去GUI。

在运行中的应用程序上绘制视图边框debug_view_borders 注入彩色 CALayer 通过LLDB将边界添加到每个视图中。无代码更改,无重启。

存储器诊断 --包装材料 leaks, heap, vmmap, stringdups,以及 malloc_history --埋在Developer目录中的那些大多数人都不知道存在。LLM是 *特别* 擅长这些,因为输出是密集的、重复的,并且需要有人(某事?)来总结。

一个呼叫设备部署build_deploy_device 构建→ stop → 安装→ 在一次工具调用中启动。没有四步舞。

Xcode状态同步sync_xcode_defaults 从Xcode的用户状态读取您的活动方案并运行目标。打开一个项目,选择你的方案,让代理继承它。

图标编辑器捆绑包 --满 .icon 无需打开Icon Composer即可创建和编辑捆绑包——图层、填充、玻璃效果、暗模式。通过渲染 ictool.

未使用代码检测 --包装材料 外围。返回一个持久的清单,代理可以在清理时标记出来。

动态工具工作流程manage_workflows 在运行时启用或禁用工具类别,这样当您只需要六个工具时,187个工具就不会都放在上下文中。

______________________________________________________________________

类别详细信息

下面的每一节都描述了一个突出显示的工具类别,然后扩展到完整的工具参考。

______________________________________________________________________

调试

24个工具。由伪TTY支持的LLDB会话——断点在工具调用中存活,快速连接/分离不会挂起。加上独立的内存诊断和崩溃符号,适用于任何正在运行的进程。

Build & attach

工具说明
build_debug_macos在LLDB下构建并启动macOS应用程序。处理沙盒和强化运行时应用程序:符号链接框架和重写安装名称
debug_attach_sim将LLDB附加到模拟器上的应用程序
debug_detach分离调试器并结束会话
debug_process_status获取当前进程状态

Breakpoints, watchpoints & execution

工具说明
debug_breakpoint_add添加断点(按符号或文件:行)
debug_breakpoint_remove按ID删除断点
debug_watchpoint添加、删除或列出观察点
debug_continue继续执行
debug_step介入、结束、退出或按指示行事

Inspection

工具说明
debug_stack打印堆栈跟踪
debug_variables打印局部变量
debug_threads列出线程,可选择切换
debug_evaluate计算表达式-- po, pSwift或ObjC
debug_memory以十六进制、字节、ASCII或反汇编读取内存
debug_symbol_lookup按地址、名称或类型查找符号
debug_view_hierarchy转储实时UI视图层次结构,检查自动布局约束
debug_view_borders通过LLDB在所有视图上切换彩色边框
debug_lldb_command执行任意LLDB命令

Memory diagnostics

独立的CLI包装器——通过PID或捆绑包ID处理任何正在运行的进程。

工具说明
memory_leaks通过以下方式检测泄漏 leaks --计数、大小、回溯
memory_heap通过以下方式检查堆 heap --按类别、大小或计数排序的对象
memory_vmmap通过虚拟内存映射 vmmap --脏/干净/按区域交换
memory_stringdups通过以下方式复制字符串 stringdups --浪费的字节
memory_malloc_history地址的分配回溯(需要 MallocStackLogging=1)
symbolicate_address通过以下方式将地址转换为符号 atos --批量支持

______________________________________________________________________

macOS构建和屏幕截图

14个工具。构建、测试、运行、截图macOS应用程序。覆盖率报告、性能基线、启动分析和构建诊断。

All tools

工具说明
screenshot_mac_window通过ScreenCaptureKit捕获任何macOS窗口——按应用程序名称、捆绑包ID或标题匹配
build_macos构建macOS应用程序
build_run_macos构建并运行
launch_mac_app启动macOS应用程序
stop_mac_app停止macOS应用程序
get_mac_app_path获取构建应用程序的路径
test_macos运行测试
start_mac_log_cap通过统一日志记录开始捕获日志
stop_mac_log_cap停止并返回日志结果
get_test_attachments从中提取测试附件 .xcresult 捆包
sample_mac_app通过以下方式示例调用堆栈 /usr/bin/sample
profile_app_launch构建、启动、示例启动调用堆栈
get_coverage_report按目标代码覆盖率 .xcresult 捆包
get_file_coverage按功能覆盖率深入分析
get_performance_metrics提取物 measure(metrics:) 定时数据
set_performance_baseline创建 .xcbaseline 用于回归检测的plists
show_performance_baselines以人类可读的形式读取现有基线
diagnostics清理构建并收集所有警告、错误和lint违规行为

SwiftUI预览捕获 (1个工具):

工具说明
preview_capture提取物 #Preview,构建临时主机应用程序,启动,截图,清理。处理可合并库、跨项目deps、本地Swift包、嵌套结构预览

______________________________________________________________________

模拟器

25个工具。模拟器管理、构建和运行以及基于协调的触摸自动化 simctl io.

Simulator management

工具说明
list_sims列出可用模拟器
boot_sim启动模拟器
open_sim打开模拟器.app
build_sim为模拟器构建
build_run_sim构建并运行
install_app_sim安装应用程序
launch_app_sim启动应用程序
stop_app_sim停止应用程序
get_sim_app_path获取已安装的应用程序路径
test_sim运行测试
record_sim_video录制视频
launch_app_logs_sim启动和捕获日志
erase_sims重置模拟器
set_sim_location设置模拟位置
reset_sim_location重置位置
set_sim_appearance亮/暗模式
sim_statusbar覆盖状态栏

Touch & gesture automation

工具说明
tap点击坐标
long_press长按坐标
swipe在点之间滑动
gesture命名预设-- scroll_up, pull_to_refresh, swipe_from_left_edge等等。根据屏幕尺寸计算的坐标
type_text键入文本
key_press按硬件键
button按下硬件按钮
screenshot拍摄模拟器截图

______________________________________________________________________

设备

9个工具。物理iOS设备管理,包括一个呼叫部署管道。

All tools

工具说明
list_devices列出已连接的设备
build_device为设备构建
install_app_device在设备上安装
launch_app_device在设备上启动
stop_app_device停止应用程序--通过以下方式将捆绑包ID解析为PID devicectl
get_device_app_path获取已安装的应用程序路径
test_device在设备上运行测试
deploy_device停下→ 安装→ 发布(构建后)
build_deploy_device构建→ stop → 安装→ 发射(完整管道)

______________________________________________________________________

项目管理

58个工具。满的 .xcodeproj 操作——目标、组、文件、方案、测试计划、Swift包、同步文件夹、构建阶段、文档类型、URL类型。在XcodeProj库中,没有 xcodebuild 需要。

Files & groups

工具说明
add_file添加文件--句柄 .icon, .xcassets,以及xcodeproj目录上方的文件
remove_file删除文件
move_file移动或重命名
list_files列出目标中的文件--枚举已同步的文件夹,尊重成员资格例外
create_group创建组
remove_group删除组
rename_group按斜线分隔的路径重命名
list_groups列出所有组

Targets

工具说明
create_xcodeproj创建新项目
scaffold_ios_project具有工作区+SPM架构的iOS项目
scaffold_macos_project具有工作区+SPM架构的macOS项目
list_targets列出所有目标
add_target创建目标
remove_target删除目标
rename_target就地重命名--更新产品名称、设置、deps、方案
duplicate_target复制目标
add_dependency添加目标间依赖关系
add_app_extension添加应用扩展目标
remove_app_extension删除应用程序扩展目标
scaffold_module一次调用创建框架模块——目标+测试目标+同步文件夹+dep+嵌入+测试计划

Build settings & phases

工具说明
list_build_configurations列出配置
get_build_settings获取目标的构建设置
set_build_setting修改构建设置
add_framework添加框架依赖关系
remove_framework删除框架--清理链接+嵌入阶段
add_build_phase添加自定义构建阶段
add_copy_files_phase创建副本文件构建阶段
add_to_copy_files_phase将文件添加到“复制文件”阶段
list_copy_files_phases列出复制文件阶段
remove_copy_files_phase删除复制文件阶段
validate_project检查嵌入设置、重复嵌入、缺少deps

Schemes & test plans

工具说明
create_scheme创建 .xcscheme 具有构建、测试和启动操作
rename_scheme重命名 .xcscheme 文件
validate_scheme检查目标参考、测试计划、配置
create_test_plan生成 .xctestplan 从目标
add_target_to_test_plan将测试目标添加到计划中
remove_target_from_test_plan从计划中删除
set_test_plan_target_enabled启用/禁用而不删除
set_test_plan_skipped_tags设置跳过的测试标签
add_test_plan_to_scheme将计划添加到方案的TestAction中
remove_test_plan_from_scheme从方案中删除计划
list_test_plans查找全部 .xctestplan 文件
set_test_target_application设置UI测试的目标应用程序

Swift packages

工具说明
add_swift_package添加远程(URL+版本)或本地包
list_swift_packages列出包依赖关系
remove_swift_package移除包装+可选的产品目录
add_package_product将包装产品添加到目标
remove_package_product移除包装产品
list_package_products列出产品

Synchronized folders

工具说明
add_synchronized_folder添加文件夹引用
remove_synchronized_folder删除文件夹引用
add_target_to_synchronized_folder与其他目标共享文件夹
remove_target_from_synchronized_folder取消文件夹与目标的链接
add_synchronized_folder_exception从目标中排除文件
remove_synchronized_folder_exception删除排除
list_synchronized_folder_exceptions列出所有排除项

Document types & URL schemes

工具说明
list_document_types列表 CFBundleDocumentTypes
manage_document_type添加、更新或删除文档类型
list_type_identifiers列出UTI声明
manage_type_identifier添加、更新或删除UTI
list_url_types列出URL方案
manage_url_type添加、更新或删除URL方案

______________________________________________________________________

图标组成

9个工具。创建和编辑苹果图标编辑器 .icon 捆绑——具有填充、玻璃效果、阴影、半透明和暗模式变体的多层图标。通过以下方式渲染为PNG ictool.使用正确的代码添加到Xcode项目中 lastKnownFileType.

All tools

工具说明
create_icon创建 .icon 来自PNG的bundle——填充、效果、暗模式、可选的Xcode项目连接
export_icon渲染 .icon 通过PNG ictool --平台、再现、大小、比例、色调
read_icon检查捆绑包——清单摘要、资产列表、原始JSON
add_icon_layer将图像层添加到现有捆绑包中——新建组或附加到现有组中
remove_icon_layer删除层或组--自动清除未引用的资产
set_icon_fill设置背景--实心、自动渐变、线性渐变或透明
set_icon_effects配置组效果——镜面反射、阴影、半透明、模糊、照明
set_icon_layer_position调整图层或组的比例和偏移
set_icon_appearances深色/有色模式填充专业化

______________________________________________________________________

Swift软件包

12个工具。SPM操作、格式化、linting和未使用代码检测。

All tools

工具说明
swift_package_build构建Swift包
swift_package_test运行测试
swift_package_run运行可执行文件
swift_package_clean清理构建工件
swift_package_list列出依赖关系
swift_package_stop停止运行可执行文件
swift_format快速运行格式--支持dry_Run
swift_lint运行swiftlint--支持修复模式
swift_diagnostics清理构建并收集所有编译器警告和lint违规
detect_unused_code通过查找未使用的代码 外围 --摘要、细节或检查表格式
get_coverage_report按目标覆盖率 .xcresult
get_file_coverage按功能覆盖率深入分析
swift_symbols搜索Swift符号

______________________________________________________________________

本地化

24个工具。苹果的完整CRUD .xcstrings 格式——密钥、翻译、覆盖率统计、过时密钥检测。批处理操作是原子操作。

Read operations

工具说明
xcstrings_list_keys列出所有密钥
xcstrings_list_languages列出所有语言
xcstrings_list_untranslated语言的未翻译密钥
xcstrings_list_stale提取状态为“陈旧”的密钥
xcstrings_get_source_language获取源语言
xcstrings_get_key获取密钥的翻译
xcstrings_check_key检查密钥是否存在
xcstrings_check_coverage特定密钥的覆盖范围
xcstrings_batch_check_keys检查多个钥匙
xcstrings_stats_coverage总体覆盖统计
xcstrings_stats_progress语言的进步
xcstrings_batch_stats_coverage覆盖多个文件
xcstrings_batch_list_stale多个文件中的过期密钥

Write operations

工具说明
xcstrings_create_file新建 .xcstrings 文件
xcstrings_add_translation添加单个翻译
xcstrings_add_translations为一个键添加多个翻译
xcstrings_batch_add_translations以原子方式为多个键添加翻译
xcstrings_update_translation更新单个翻译
xcstrings_update_translations为一个密钥更新多个
xcstrings_batch_update_translations以原子方式更新多个密钥
xcstrings_rename_key重命名密钥
xcstrings_delete_key删除密钥和所有翻译
xcstrings_delete_translation删除单个翻译
xcstrings_delete_translations删除多个翻译

______________________________________________________________________

会话和实用程序

12个工具。从工作目录中自动检测项目路径——服务器从 cwd 寻找 Package.swift, .xcodeproj,或 .xcworkspace.

Session management

工具说明
set_session_defaults设置默认项目、方案、模拟器、设备、配置、环境变量。Env-vars深度合并并应用于所有命令
show_session_defaults显示当前默认值
clear_session_defaults清除所有默认值
sync_xcode_defaults从Xcode的IDE状态读取活动方案并运行目标
manage_workflows在运行时启用/禁用工具类别

Discovery

工具说明
discover_projs发现项目和工作空间
list_schemes列出所有方案
show_build_settings显示方案的生成设置
get_app_bundle_idiOS/watchOS/tvOS应用程序的捆绑ID
get_mac_bundle_idmacOS应用程序的捆绑ID
list_test_plan_targets方案测试计划中的测试目标

Distribution & diagnostics

工具说明
clean清洁制造产品
doctor诊断Xcode环境——Xcode、CLT、SDK、DeriveData、会话
search_crash_reports搜索 ~/Library/Logs/DiagnosticReports/ 最近的撞车事故
version_management通过以下方式读取/设置/碰撞营销版本和构建数字 agvtool
notarize完整的公证流程——提交、等待、检查、记录、装订
validate_asset_catalog验证 .xcassets 通过 actool
open_in_xcode在Xcode中打开文件或项目,可以选择行号

Instruments

工具说明
xctrace_list列出仪器模板、仪器或设备
xctrace_record启动/停止仪器跟踪记录
xctrace_export出口 .trace 数据为XML

Logging

工具说明
start_sim_log_cap开始捕获模拟器日志
stop_sim_log_cap停止并返回结果
start_device_log_cap开始捕获设备日志
stop_device_log_cap停止并返回结果

______________________________________________________________________

macOS权限

某些工具需要通过以下方式授予macOS隐私权限 系统设置>隐私和安全:

权限工具注释
无障碍interact_* 工具AXUIElement API必需
屏幕录制screenshot_mac_windowScreenCaptureKit需要

macOS将这些授权给 负责任的过程 --位于流程树顶部的GUI应用程序,而不是 xc-mcp 本身。所以 克劳德桌面版, VS代码/光标,或你的 终端模拟器 需要许可。这 xc-mcp 二进制文件不会出现在系统设置中——TCC总是解析到父GUI应用程序。

生成输出解析

测试工具解析两者 XCTest快速测试 输出格式,提取具有测试名称、持续时间和失败详细信息的结构化通过/失败结果。处理并行输出、回溯转义函数名、SF符号前缀和故障摘要。

测试

826个测试——使用内存夹具和模拟运行器进行快速单元测试,以及构建和截图真实开源项目的集成测试。

# Unit tests (fast, no Xcode projects needed)
swift test

# Integration tests (requires fixture repos)
./scripts/fetch-fixtures.sh   # ~1 minute, idempotent
swift test --filter Integration

路径安全

当提供基路径作为命令行参数时,所有文件操作都仅限于该目录。

许可证

MIT许可证。看 许可证 了解详情。

目录标签

目录标签

Swift调试工具Claude本地部署Swift开发iOS开发macOS开发项目构建

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

210

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP