SidecarOneStep
by @zy84338719
Control SidecarOneStep - A macOS Sidecar enhancement tool. One-click iPad connection, remote control, automation integration. Manage devices via MCP integrat...
clawhub install sidecar-onestep📖 About This Skill
name: sidecar-onestep description: Control SidecarOneStep - A macOS Sidecar enhancement tool. One-click iPad connection, remote control, automation integration. Manage devices via MCP integration with 15 powerful tools. homepage: https://sidecaronestep.app.murphyyi.com/ metadata: { "openclaw": { "emoji": "📱", "category": "productivity", "requires": { "bins": ["mcporter"], "apps": ["/Applications/SidecarOneStep.app"] }, "install": [ { "id": "download-app", "kind": "download", "label": "Download SidecarOneStep", "url": "https://github.com/yi-nology/sidecarOneStep/releases/latest" }, { "id": "mcporter-config", "kind": "command", "label": "Configure SidecarOneStep MCP server", "command": "mcporter config add sidecar-onestep --command /Applications/SidecarOneStep.app/Contents/MacOS/SidecarOneStep --args mcp" } ] } }
SidecarOneStep / 随航一步
Overview
SidecarOneStep is a powerful macOS Sidecar enhancement tool that makes managing iPad connections effortless. Through MCP (Model Context Protocol) integration, AI assistants like Claude, Cursor, and OpenClaw can directly control your Sidecar connections.
📋 System Requirements
| Platform | Version | Notes |
|----------|---------|-------|
| macOS | 12.0+ (Monterey) | Required for Sidecar API |
| iPadOS | 13.0+ | Required for Sidecar support |
| Hardware | 2018+ iPad models | iPad Pro, iPad Air 3rd gen+, iPad 6th gen+, iPad mini 5th gen+ |
| Tools | mcporter CLI | For MCP integration |
> ⚠️ Prerequisites: Both Mac and iPad must be signed into the same iCloud account with 2FA enabled.
🌟 Key Features
📥 Installation
#### 1. Download & Install App
Download the latest version from GitHub Releases:
https://github.com/yi-nology/sidecarOneStep/releases/latest
Or direct download:
curl -L -o SidecarOneStep.dmg https://github.com/yi-nology/sidecarOneStep/releases/download/v1.3.9/SidecarOneStep_Installer.dmg
hdiutil attach SidecarOneStep.dmg
cp -R /Volumes/SidecarOneStep\ Installer/SidecarOneStep.app /Applications/
#### 2. Enable MCP in Settings
1. Open SidecarOneStep 2. Go to "Settings" → "Developer / Integrations" 3. Enable "MCP (stdio)"
#### 3. Configure MCP
# Add SidecarOneStep to mcporter
mcporter config add sidecar-onestep \
--command /Applications/SidecarOneStep.app/Contents/MacOS/SidecarOneStep \
--args mcpVerify configuration
mcporter list sidecar-onestep
Expected output:
sidecar-onestep — macOS Sidecar 增强工具 (10 tools)
🚀 Quick Start
#### Prerequisites Check Before using this skill, ensure:
/Applications/mcporter configured: mcporter list sidecar-onestep should show the server#### List Available Devices
mcporter call sidecar-onestep.list_devices
Response:
["张易的iPad Pro", "iPad Air"]
#### Connect Device (Recommended: Async)
# Async connection (non-blocking, recommended)
mcporter call sidecar-onestep.connect_device_async device_name="张易的iPad Pro" wired=trueResponse:
{
"id": "job_12345",
"status": "success",
"result": "张易的iPad Pro",
"wired": true
}
#### Disconnect Device
mcporter call sidecar-onestep.disconnect_device device_name="张易的iPad Pro"
#### Get Status
mcporter call sidecar-onestep.get_status
Response:
{
"active_device": "张易的iPad Pro",
"active_wired": true,
"server_running": true,
"server_port": 8765
}
🛠️ Available Tools (15)
| Tool | Description | Blocking |
|------|-------------|----------|
| list_devices | List available Sidecar devices | ❌ |
| connect_device | Connect device (synchronous) | ⚠️ Yes |
| connect_device_async | Connect device (async) | ❌ Recommended |
| get_job_status | Query async job status | ❌ |
| cancel_job | Cancel pending job | ❌ |
| disconnect_device | Disconnect device | ❌ |
| start_http_server | Start HTTP control server | ❌ |
| stop_http_server | Stop HTTP server | ❌ |
| get_status | Get app/connection status | ❌ |
| get_logs | Get recent server logs | ❌ |
| virtual_display_status | Get virtual display status | ❌ |
| list_virtual_display_sizes | List available virtual display sizes | ❌ |
| set_virtual_display_size | Set virtual display size | ❌ |
| enable_virtual_display | Enable virtual display | ❌ |
| disable_virtual_display | Disable virtual display | ❌ |
🔔 Trigger Examples (for AI Assistants)
When a user says any of the following, this skill should be activated:
Example 1: Connect iPad
User: "Connect my iPad"
User: "用有线模式连我的 iPad"
→ AI calls: connect_device_async device_name="" wired=true Example 2: Check Status
User: "Is my iPad connected?"
User: "看看 Sidecar 状态"
→ AI calls: get_statusExample 3: Disconnect
User: "Disconnect iPad"
User: "断开 iPad 连接"
→ AI calls: disconnect_device device_name="" Example 4: Web Console
User: "Start the Sidecar web console"
User: "打开 Sidecar 远程控制台"
→ AI calls: start_http_server port=8765Example 5: List Devices
User: "Show me available Sidecar devices"
User: "列出可用的 iPad"
→ AI calls: list_devices🎯 Use Cases
#### Daily Workflow
# 1. Connect iPad (async, non-blocking)
mcporter call sidecar-onestep.connect_device_async device_name="iPad Pro" wired=true2. Start web console
mcporter call sidecar-onestep.start_http_server port=87653. Check status
mcporter call sidecar-onestep.get_status
#### Meeting Mode (Wireless)
# Wireless connection for mobility
mcporter call sidecar-onestep.connect_device_async device_name="iPad Air" wired=false
#### Automation Integration
# Use in scripts, Shortcuts, Raycast, Alfred, etc.
mcporter call sidecar-onestep.connect_device_async device_name="iPad Pro" wired=true
🤖 AI Assistant Integration
SidecarOneStep works seamlessly with AI assistants:
Natural Language Commands:
list_devicesconnect_device_asyncconnect_device_async wired=truedisconnect_devicestart_http_serverget_status🔧 Troubleshooting
#### Issue: Device list is empty Solution: 1. Ensure iPad and Mac use the same iCloud account 2. Ensure iPad supports Sidecar (2018 or later) 3. Ensure iPad is nearby and unlocked 4. Check "System Preferences" → "Sidecar"
#### Issue: Async connection job not found
Note: In stdio MCP mode, each call creates a new process. Use connect_device_async which now returns the complete status immediately, no need to call get_job_status.
#### Issue: MCP server not responding
Solution:
1. Verify app is installed: ls /Applications/SidecarOneStep.app
2. Check configuration: mcporter list sidecar-onestep
3. Restart mcporter daemon: mcporter daemon restart
📚 Resources
📄 License
MIT License - Free to use
概述
SidecarOneStep(随航一步) 是一款强大的 macOS Sidecar 增强工具,让 iPad 连接管理变得轻松简单。通过 MCP(模型上下文协议)集成,Claude、Cursor、OpenClaw 等 AI 助手可以直接控制你的 Sidecar 连接。
📋 系统要求
| 平台 | 版本 | 说明 |
|------|------|------|
| macOS | 12.0+ (Monterey) | Sidecar API 必需 |
| iPadOS | 13.0+ | Sidecar 支持必需 |
| 硬件 | 2018+ iPad 机型 | iPad Pro、iPad Air 第3代+、iPad 第6代+、iPad mini 第5代+ |
| 工具 | mcporter CLI | 用于 MCP 集成 |
> ⚠️ 前置条件:Mac 和 iPad 必须登录同一 iCloud 账户并启用双重认证。
🌟 核心功能
📥 安装
#### 1. 下载并安装应用
从 GitHub Releases 下载最新版本:
https://github.com/yi-nology/sidecarOneStep/releases/latest
或直接下载:
curl -L -o SidecarOneStep.dmg https://github.com/yi-nology/sidecarOneStep/releases/download/v1.3.9/SidecarOneStep_Installer.dmg
hdiutil attach SidecarOneStep.dmg
cp -R /Volumes/SidecarOneStep\ Installer/SidecarOneStep.app /Applications/
#### 2. 在设置中启用 MCP
1. 打开 SidecarOneStep 2. 进入"设置" → "开发/集成" 3. 启用"MCP (stdio)"
#### 3. 配置 MCP
# 将 SidecarOneStep 添加到 mcporter
mcporter config add sidecar-onestep \
--command /Applications/SidecarOneStep.app/Contents/MacOS/SidecarOneStep \
--args mcp验证配置
mcporter list sidecar-onestep
预期输出:
sidecar-onestep — macOS Sidecar 增强工具 (10 tools)
🚀 快速开始
#### 前置条件检查 使用此技能前,请确认:
/Applications/mcporter 已配置:mcporter list sidecar-onestep 应显示该服务器#### 列出可用设备
mcporter call sidecar-onestep.list_devices
响应:
["张易的iPad Pro", "iPad Air"]
#### 连接设备(推荐:异步)
# 异步连接(不阻塞,推荐)
mcporter call sidecar-onestep.connect_device_async device_name="张易的iPad Pro" wired=true响应:
{
"id": "job_12345",
"status": "success",
"result": "张易的iPad Pro",
"wired": true
}
#### 断开设备
mcporter call sidecar-onestep.disconnect_device device_name="张易的iPad Pro"
#### 获取状态
mcporter call sidecar-onestep.get_status
响应:
{
"active_device": "张易的iPad Pro",
"active_wired": true,
"server_running": true,
"server_port": 8765
}
🛠️ 可用工具(15 个)
| 工具 | 说明 | 阻塞 |
|------|------|------|
| list_devices | 列出可用 Sidecar 设备 | ❌ |
| connect_device | 连接设备(同步) | ⚠️ 是 |
| connect_device_async | 连接设备(异步) | ❌ 推荐 |
| get_job_status | 查询异步任务状态 | ❌ |
| cancel_job | 取消待处理任务 | ❌ |
| disconnect_device | 断开设备 | ❌ |
| start_http_server | 启动 HTTP 控制服务器 | ❌ |
| stop_http_server | 停止 HTTP 服务器 | ❌ |
| get_status | 获取应用/连接状态 | ❌ |
| get_logs | 获取最近服务器日志 | ❌ |
| virtual_display_status | 获取虚拟显示器状态 | ❌ |
| list_virtual_display_sizes | 列出可用虚拟显示器尺寸 | ❌ |
| set_virtual_display_size | 设置虚拟显示器尺寸 | ❌ |
| enable_virtual_display | 启用虚拟显示器 | ❌ |
| disable_virtual_display | 禁用虚拟显示器 | ❌ |
🔔 触发示例(AI 助手用)
当用户说以下内容时,应激活此技能:
示例 1:连接 iPad
用户:"Connect my iPad"
用户:"用有线模式连我的 iPad"
→ AI 调用:connect_device_async device_name="<设备名>" wired=true示例 2:检查状态
用户:"Is my iPad connected?"
用户:"看看 Sidecar 状态"
→ AI 调用:get_status示例 3:断开连接
用户:"Disconnect iPad"
用户:"断开 iPad 连接"
→ AI 调用:disconnect_device device_name="<设备名>"示例 4:Web 控制台
用户:"Start the Sidecar web console"
用户:"打开 Sidecar 远程控制台"
→ AI 调用:start_http_server port=8765示例 5:列出设备
用户:"Show me available Sidecar devices"
用户:"列出可用的 iPad"
→ AI 调用:list_devices示例 6:虚拟显示器
用户:"Enable virtual display"
用户:"开启虚拟显示器"
→ AI 调用:enable_virtual_display示例 7:设置虚拟显示器尺寸
用户:"Set virtual display to iPad Pro 13 size"
用户:"设置虚拟显示器为 iPad Pro 13 尺寸"
→ AI 调用:set_virtual_display_size definition_id=440🎯 使用场景
#### 每日工作流
# 1. 连接 iPad(异步,不阻塞)
mcporter call sidecar-onestep.connect_device_async device_name="iPad Pro" wired=true2. 启动 Web 控制台
mcporter call sidecar-onestep.start_http_server port=87653. 查看状态
mcporter call sidecar-onestep.get_status
#### 会议模式(无线)
# 无线连接,方便移动
mcporter call sidecar-onestep.connect_device_async device_name="iPad Air" wired=false
#### 自动化集成
# 在脚本、快捷指令、Raycast、Alfred 等中使用
mcporter call sidecar-onestep.connect_device_async device_name="iPad Pro" wired=true
#### 虚拟显示器使用
# 1. 查看可用尺寸
mcporter call sidecar-onestep.list_virtual_display_sizes2. 设置尺寸(可选,默认 16:9)
mcporter call sidecar-onestep.set_virtual_display_size definition_id=4403. 启用虚拟显示器
mcporter call sidecar-onestep.enable_virtual_display4. 查看状态
mcporter call sidecar-onestep.virtual_display_status5. 禁用虚拟显示器
mcporter call sidecar-onestep.disable_virtual_display
🤖 AI 助手集成
SidecarOneStep 与 AI 助手无缝协作:
自然语言命令:
list_devicesconnect_device_asyncconnect_device_async wired=truedisconnect_devicestart_http_serverget_statusenable_virtual_displaydisable_virtual_displayset_virtual_display_sizevirtual_display_status🔧 故障排查
#### 问题:设备列表为空 解决方案: 1. 确认 iPad 和 Mac 使用同一 iCloud 账户 2. 确认 iPad 支持 Sidecar(2018 年及之后) 3. 确认 iPad 在附近并已解锁 4. 检查"系统偏好设置" → "随航"
#### 问题:异步任务状态 not_found
说明: stdio MCP 模式下,每次调用都会创建新进程。connect_device_async 现在会立即返回完整状态,无需调用 get_job_status。
#### 问题:MCP 服务器未响应
解决方案:
1. 确认应用已安装:ls /Applications/SidecarOneStep.app
2. 检查配置:mcporter list sidecar-onestep
3. 重启 mcporter daemon:mcporter daemon restart
📚 资源
📄 许可证
MIT License - 免费使用
🎉 Acknowledgments
Created by MurphyYi Skill package by Wednesday (OpenClaw)
If you find this tool helpful, please ⭐️ star the GitHub repository!