MCP 문서 관리

메뉴

Siri Shortcuts

Siri Shortcuts

Siri Shortcuts MCP 서버는 macOS의 Shortcuts 앱 기능을 Model Context Protocol(MCP)를 통해 제공하며, LLM이 macOS에서 Siri 단축어를 검색, 실행, 관리할 수 있게 해주는 서버입니다. 이를 통해 AI 에이전트는 사용자가 미리 정의한 자동화 워크플로우에 접근하여 다양한 시스템 작업, 앱 상호작용, 데이터 처리 등을 수행할 수 있습니다. 각 단축어는 개별 도구로 동적 생성되어 자연스러운 상호작용이 가능합니다.

특징

  • 단축어 목록 조회: 사용 가능한 모든 Shortcuts 앱 단축어 목록 제공
  • 단축어 실행: 이름으로 특정 단축어 실행 기능
  • 매개변수 지원: 입력이 필요한 단축어에 매개변수 전달
  • 동적 도구 생성: 각 단축어를 별도의 MCP 도구로 자동 노출
  • 결과 반환: 단축어 실행 결과를 클라이언트에 반환
  • Shortcuts 앱 통합: macOS Shortcuts 앱과 직접 통합
  • 프로세스 간 통신: AppleScript를 통한 시스템 수준 통합
  • 무상태 운영: 서버 재시작 시에도 항상 최신 단축어 목록 동기화

API

도구

단축어 관리

  • list_shortcuts: 사용 가능한 모든 단축어 목록 조회
  • 입력: 없음
  • 출력: 단축어 이름 및 설명 목록

  • open_shortcut: Shortcuts 앱에서 단축어 열기

  • 입력: 단축어 이름
  • 출력: 열기 성공 여부

단축어 실행

  • run_shortcut: 단축어 실행
  • 입력: 단축어 이름, 입력 값(선택적)
  • 출력: 실행 결과

  • run_shortcut_[이름]: 특정 단축어 전용 도구

  • 입력: 단축어 매개변수(해당하는 경우)
  • 출력: 실행 결과

시스템 통합

  • get_system_info: 시스템 정보 조회
  • 입력: 정보 유형(선택적)
  • 출력: macOS 및 Shortcuts 관련 시스템 정보

  • get_shortcuts_version: Shortcuts 앱 버전 조회

  • 입력: 없음
  • 출력: 현재 설치된 Shortcuts 앱 버전

사용 방법

설치

# npm을 통한 설치
npm install -g mcp-server-siri-shortcuts

# 또는 Smithery를 통한 설치
npx -y @smithery/cli install @dvcrn/mcp-server-siri-shortcuts --client claude

# 또는 Docker 이미지 사용
docker pull ghcr.io/metorial/mcp-container--dvcrn--mcp-server-siri-shortcuts--mcp-server-siri-shortcuts

구성

Claude Desktop에서 이 서버를 사용하려면 다음과 같이 설정합니다:

{
  "mcpServers": {
    "siri-shortcuts": {
      "command": "npx",
      "args": ["-y", "mcp-server-siri-shortcuts"],
      "env": {}
    }
  }
}

Docker를 사용하는 경우:

{
  "mcpServers": {
    "siri-shortcuts": {
      "command": "docker",
      "args": [
        "run", 
        "-i", 
        "--rm", 
        "ghcr.io/metorial/mcp-container--dvcrn--mcp-server-siri-shortcuts--mcp-server-siri-shortcuts", 
        "npm run start"
      ]
    }
  }
}

필요 조건

  • macOS: 12.0 (Monterey) 이상
  • Shortcuts 앱: macOS에 설치되어 있어야 함
  • Node.js: v14 이상
  • 권한: 자동화 권한이 Shortcuts 앱에 부여되어 있어야 함

사용 예시

// 사용 가능한 단축어 목록 조회
const shortcuts = await list_shortcuts();
console.log(`사용 가능한 단축어: ${shortcuts.length}개`);
shortcuts.forEach(shortcut => {
  console.log(`- ${shortcut.name}`);
});

// 기본 방식으로 단축어 실행
const result = await run_shortcut({
  name: "날씨 요약 가져오기",
  input: "서울"
});
console.log(`실행 결과: ${result}`);

// 특정 단축어 전용 도구 사용
const reminderResult = await run_shortcut_create_reminder({
  title: "보고서 작성하기",
  dueDate: "tomorrow at 3pm",
  priority: "high"
});
console.log(`알림 생성 결과: ${reminderResult}`);

// Shortcuts 앱에서 단축어 열기
await open_shortcut("이메일 요약");
console.log("Shortcuts 앱에서 단축어가 열렸습니다.");

// 시스템 정보 조회
const systemInfo = await get_system_info();
console.log(`macOS 버전: ${systemInfo.osVersion}`);
console.log(`Shortcuts 앱 버전: ${systemInfo.shortcutsVersion}`);

연결된 구성 요소

  • iTerm MCP - 터미널 명령 및 스크립트와 단축어 통합
  • Arduino - 하드웨어 제어와 단축어 자동화 연계
  • Phone MCP - iOS 기기의 단축어와 동기화 및 통합