applescript-mcp

by joshrutkowski
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Allows interaction with macOS through AppleScript, including calendar management, clipboard operations, Finder integration, system notifications, system controls, and iTerm terminal integration

  • Required as a prerequisite for running the MCP server

  • Planned feature to allow opening pages in Safari, saving page content, and getting selected page/tab

applescript-mcp MCP 서버

LLM 애플리케이션이 AppleScript를 통해 macOS와 상호 작용할 수 있도록 하는 모델 컨텍스트 프로토콜(Model Context Protocol) 서버입니다. 이 서버는 AI 애플리케이션이 시스템 기능을 제어하고, 파일을 관리하고, 알림을 처리하는 등의 작업을 수행할 수 있는 표준화된 인터페이스를 제공합니다.

특징

  • 🗓️ 캘린더 관리(이벤트, 알림)
  • 📋 클립보드 작업
  • 🔍 Finder 통합
  • 🔔 시스템 알림
  • ⚙️ 시스템 제어(볼륨, 다크 모드, 앱)
  • 📟 iTerm 터미널 통합
  • 📬 메일(새 이메일 만들기, 이메일 목록, 이메일 받기)
  • 🔄 단축키 자동화
  • 💬 메시지(채팅 목록, 메시지 받기, 메시지 검색, 메시지 보내기)

계획된 기능

  • 🧭 Safari(Safari에서 열기, 페이지 내용 저장, 선택한 페이지/탭 가져오기)
  • ✅ 알림(생성, 받기)
  • 🗒️ 메모(생성, 가져오기, 나열)

필수 조건

  • macOS 10.15 이상
  • Node.js 18 이상

사용 가능한 카테고리

달력

명령설명매개변수
add캘린더 이벤트 만들기title , startDate , endDate
list오늘의 이벤트를 나열하세요없음

클립보드

명령설명매개변수
set_clipboard클립보드에 복사content
get_clipboard클립보드 내용 가져오기없음
clear_clipboard클립보드 지우기없음

파인더

명령설명매개변수
get_selected_files선택한 파일 가져오기없음
search_files파일 검색query , location (선택 사항)
quick_look미리보기 파일path

알림

명령설명매개변수
send_notification알림 표시title , message , sound (선택 사항)
toggle_do_not_disturbDND 모드 전환없음

체계

명령설명매개변수
volume시스템 볼륨 설정level (0-100)
get_frontmost_app활성화된 앱을 받으세요없음
launch_app오픈 애플리케이션name
quit_app응용 프로그램 닫기name , force (선택 사항)
toggle_dark_mode다크 모드 전환없음

아이텀

명령설명매개변수
paste_clipboardiTerm에 붙여넣기없음
run명령 실행command , newWindow (선택 사항)

단축키

명령설명매개변수
run_shortcut바로가기 실행name , input (선택 사항)

우편

명령설명매개변수
create_emailMail.app에서 새 이메일을 만드세요recipient , subject , body
list_emails사서함에서 이메일 나열mailbox (선택 사항), count (선택 사항), unreadOnly (선택 사항)
get_email검색을 통해 특정 이메일 받기subject (선택 사항), sender (선택 사항), dateReceived (선택 사항), mailbox (선택 사항), account (선택 사항), unreadOnly (선택 사항), includeBody (선택 사항)

메시지

명령설명매개변수
list_chats사용 가능한 iMessage 및 SMS 채팅 나열includeParticipantDetails (선택 사항)
get_messages메시지 앱에서 메시지 받기limit (선택 사항, 기본값: 100)
search_messages특정 텍스트가 포함된 메시지 검색searchText , sender (선택 사항), chatId (선택 사항), limit (선택 사항, 기본값: 50), daysBack (선택 사항, 기본값: 30)
compose_message미리 채워진 메시지 또는 자동 전송으로 메시지 앱을 엽니다.recipient (필수), body (선택), auto (선택, 기본값: false)

개발

설정

지엑스피1

새로운 기능 추가

1. 카테고리 파일 생성

src/categories/newcategory.ts 생성합니다.

import { ScriptCategory } from "../types/index.js"; export const newCategory: ScriptCategory = { name: "category_name", description: "Category description", scripts: [ // Scripts will go here ], };

2. 스크립트 추가

{ name: "script_name", description: "What the script does", schema: { type: "object", properties: { paramName: { type: "string", description: "Parameter description" } }, required: ["paramName"] }, script: (args) => ` tell application "App" // AppleScript code using ${args.paramName} end tell ` }

3. 카테고리 등록

src/index.ts 업데이트:

import { newCategory } from "./categories/newcategory.js"; // ... server.addCategory(newCategory);

디버깅

MCP Inspector 사용

MCP Inspector는 서버를 테스트하고 디버깅하기 위한 웹 인터페이스를 제공합니다.

npm run inspector

벌채 반출

환경 변수를 설정하여 디버그 로깅을 활성화합니다.

DEBUG=applescript-mcp* npm start

구성 예

npm run build 실행한 후 mcp.json 파일에 다음을 추가합니다.

{ "mcpServers": { "applescript-mcp-server": { "command": "node", "args": ["/path/to/applescript-mcp/dist/index.js"] } } }

일반적인 문제

  • 권한 오류 : 시스템 환경 설정 > 보안 및 개인 정보 보호 확인
  • 스크립트 실패 : Script Editor.app에서 직접 스크립트 테스트
  • 통신 문제 : stdio 스트림이 리디렉션되지 않는지 확인하세요.

자원

기여하다

  1. 저장소를 포크하세요
  2. 기능 브랜치 생성
  3. 변경 사항을 커밋하세요
  4. 지점으로 밀어 넣기
  5. 풀 리퀘스트 만들기

특허

MIT 라이선스 - 자세한 내용은 라이선스를 참조하세요.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

AppleScript를 통해 LLM 애플리케이션이 macOS와 상호 작용할 수 있도록 합니다.

  1. Features
    1. Planned Features
  2. Prerequisites
    1. Available Categories
      1. Calendar
      2. Clipboard
      3. Finder
      4. Notifications
      5. System
      6. iTerm
      7. Shortcuts
      8. Mail
      9. Messages
    2. Development
      1. Setup
      2. Adding New Functionality
    3. Debugging
      1. Using MCP Inspector
      2. Logging
      3. Example configuration
      4. Common Issues
    4. Resources
      1. Contributing
        1. License
          ID: 0t5gydjcqw