🎁 Get the FREE AI Skills Starter GuideSubscribe →
BytesAgainBytesAgain
🦀 ClawHub

SidecarOneStep

by @zy84338719

Control SidecarOneStep - A macOS Sidecar enhancement tool. One-click iPad connection, remote control, automation integration. Manage devices via MCP integrat...

Versionv1.4.1
Downloads633
Installs1
TERMINAL
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 / 随航一步

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:

    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 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

    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=true

    Response:

    { "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_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

    # 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)

    # 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 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
    

    或直接下载:

    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)
    

    🚀 快速开始

    #### 前置条件检查 使用此技能前,请确认:

  • [ ] SidecarOneStep.app 已安装在 /Applications/
  • [ ] 应用设置中已启用 MCP(设置 → 开发/集成 → MCP)
  • [ ] mcporter 已配置:mcporter list sidecar-onestep 应显示该服务器
  • [ ] iPad 在附近、已解锁、使用同一 iCloud 账户
  • #### 列出可用设备

    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=true

    2. 启动 Web 控制台

    mcporter call sidecar-onestep.start_http_server port=8765

    3. 查看状态

    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_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!