---
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 / 随航一步
[English](#english) | [中文](#中文)
---
## 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
- 🚀 **One-Click Connection** - Instantly connect/disconnect iPad from menu bar
- 📱 **Remote Control** - Web console for controlling Sidecar from your phone
- 🔌 **Wired Mode** - Force wired connection for low-latency stability
- 🖥️ **Virtual Display** - Create virtual displays for extended workspace (v1.4.0+)
- 🛠️ **Full Automation** - Complete REST API + MCP integration (15 tools)
- 🤖 **AI Integration** - Let AI assistants manage your connections
### 📥 Installation
#### 1. Download & Install App
Download the latest version from GitHub Releases:
```
https://github.com/yi-nology/sidecarOneStep/releases/latest
```
Or direct download:
```bash
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
```bash
# Add SidecarOneStep to mcporter
mcporter config add sidecar-onestep \
--command /Applications/SidecarOneStep.app/Contents/MacOS/SidecarOneStep \
--args mcp
# Verify configuration
mcporter list sidecar-onestep
```
Expected output:
```
sidecar-onestep — macOS Sidecar 增强工具 (10 tools)
```
### 🚀 Quick Start
#### Prerequisites Check
Before using this skill, ensure:
- [ ] SidecarOneStep.app installed in `/Applications/`
- [ ] MCP enabled in app settings (Settings → Developer/Integrations → MCP)
- [ ] `mcporter` configured: `mcporter list sidecar-onestep` should show the server
- [ ] iPad nearby, unlocked, and on same iCloud account
#### List Available Devices
```bash
mcporter call sidecar-onestep.list_devices
```
Response:
```json
["张易的iPad Pro", "iPad Air"]
```
#### Connect Device (Recommended: Async)
```bash
# Async connection (non-blocking, recommended)
mcporter call sidecar-onestep.connect_device_async device_name="张易的iPad Pro" wired=true
# Response:
{
"id": "job_12345",
"status": "success",
"result": "张易的iPad Pro",
"wired": true
}
```
#### Disconnect Device
```bash
mcporter call sidecar-onestep.disconnect_device device_name="张易的iPad Pro"
```
#### Get Status
```bash
mcporter call sidecar-onestep.get_status
```
Response:
```json
{
"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_status`
**Example 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=8765`
**Example 5: List Devices**
```
User: "Show me available Sidecar devices"
User: "列出可用的 iPad"
```
→ AI calls: `list_devices`
### 🎯 Use Cases
#### Daily Workflow
```bash
# 1. Connect iPad (async, non-blocking)
mcporter call sidecar-onestep.connect_device_async device_name="iPad Pro" wired=true
# 2. Start web console
mcporter call sidecar-onestep.start_http_server port=8765
# 3. Check status
mcporter call sidecar-onestep.get_status
```
#### Meeting Mode (Wireless)
```bash
# Wireless connection for mobility
mcporter call sidecar-onestep.connect_device_async device_name="iPad Air" wired=false
```
#### Automation Integration
```bash
# 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 my iPad devices" → `list_devices`
- "Connect to iPad Pro" → `connect_device_async`
- "Connect iPad with wired mode" → `connect_device_async wired=true`
- "Disconnect iPad" → `disconnect_device`
- "Start web console" → `start_http_server`
- "Check Sidecar status" → `get_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
- 🏠 **Website**: https://sidecaronestep.app.murphyyi.com/
- 🐙 **GitHub**: https://github.com/yi-nology/sidecarOneStep
- 📦 **Download**: https://github.com/yi-nology/sidecarOneStep/releases
- 📖 **Documentation**: See GitHub README
### 📄 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 账户**并启用双重认证。
### 🌟 核心功能
- 🚀 **一键连接** - 菜单栏即时连接/断开 iPad
- 📱 **远程控制** - Web 控制台,手机管理 Sidecar
- 🔌 **有线模式** - 强制有线连接,低延迟稳定
- 🖥️ **虚拟显示器** - 创建虚拟显示器扩展工作空间(v1.4.0+)
- 🛠️ **完整自动化** - 完整 REST API + MCP 集成(15 个工具)
- 🤖 **AI 集成** - 让 AI 助手管理你的连接
### 📥 安装
#### 1. 下载并安装应用
从 GitHub Releases 下载最新版本:
```
https://github.com/yi-nology/sidecarOneStep/releases/latest
```
或直接下载:
```bash
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
```bash
# 将 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)
```
### 🚀 快速开始
#### 前置条件检查
使用此技能前,请确认:
- [ ] SidecarOneStep.app 已安装在 `/Applications/`
- [ ] 应用设置中已启用 MCP(设置 → 开发/集成 → MCP)
- [ ] `mcporter` 已配置:`mcporter list sidecar-onestep` 应显示该服务器
- [ ] iPad 在附近、已解锁、使用同一 iCloud 账户
#### 列出可用设备
```bash
mcporter call sidecar-onestep.list_devices
```
响应:
```json
["张易的iPad Pro", "iPad Air"]
```
#### 连接设备(推荐:异步)
```bash
# 异步连接(不阻塞,推荐)
mcporter call sidecar-onestep.connect_device_async device_name="张易的iPad Pro" wired=true
# 响应:
{
"id": "job_12345",
"status": "success",
"result": "张易的iPad Pro",
"wired": true
}
```
#### 断开设备
```bash
mcporter call sidecar-onestep.disconnect_device device_name="张易的iPad Pro"
```
#### 获取状态
```bash
mcporter call sidecar-onestep.get_status
```
响应:
```json
{
"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`
### 🎯 使用场景
#### 每日工作流
```bash
# 1. 连接 iPad(异步,不阻塞)
mcporter call sidecar-onestep.connect_device_async device_name="iPad Pro" wired=true
# 2. 启动 Web 控制台
mcporter call sidecar-onestep.start_http_server port=8765
# 3. 查看状态
mcporter call sidecar-onestep.get_status
```
#### 会议模式(无线)
```bash
# 无线连接,方便移动
mcporter call sidecar-onestep.connect_device_async device_name="iPad Air" wired=false
```
#### 自动化集成
```bash
# 在脚本、快捷指令、Raycast、Alfred 等中使用
mcporter call sidecar-onestep.connect_device_async device_name="iPad Pro" wired=true
```
#### 虚拟显示器使用
```bash
# 1. 查看可用尺寸
mcporter call sidecar-onestep.list_virtual_display_sizes
# 2. 设置尺寸(可选,默认 16:9)
mcporter call sidecar-onestep.set_virtual_display_size definition_id=440
# 3. 启用虚拟显示器
mcporter call sidecar-onestep.enable_virtual_display
# 4. 查看状态
mcporter call sidecar-onestep.virtual_display_status
# 5. 禁用虚拟显示器
mcporter call sidecar-onestep.disable_virtual_display
```
### 🤖 AI 助手集成
SidecarOneStep 与 AI 助手无缝协作:
**自然语言命令:**
- "列出我的 iPad 设备" → `list_devices`
- "连接 iPad Pro" → `connect_device_async`
- "用有线模式连接 iPad" → `connect_device_async wired=true`
- "断开 iPad 连接" → `disconnect_device`
- "启动 Web 控制台" → `start_http_server`
- "查看 Sidecar 状态" → `get_status`
- "开启虚拟显示器" → `enable_virtual_display`
- "关闭虚拟显示器" → `disable_virtual_display`
- "设置虚拟显示器尺寸" → `set_virtual_display_size`
- "查看虚拟显示器状态" → `virtual_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`
### 📚 资源
- 🏠 **官网**:https://sidecaronestep.app.murphyyi.com/
- 🐙 **GitHub**:https://github.com/yi-nology/sidecarOneStep
- 📦 **下载**:https://github.com/yi-nology/sidecarOneStep/releases
- 📖 **文档**:查看 GitHub README
### 📄 许可证
MIT License - 免费使用
---
## 🎉 Acknowledgments
Created by **MurphyYi**
Skill package by **Wednesday (OpenClaw)**
If you find this tool helpful, please ⭐️ star the [GitHub repository](https://github.com/yi-nology/sidecarOneStep)!