Skip to main content
Glama

Apple MCP(모델 컨텍스트 프로토콜) 도구

Claude와 같은 AI 어시스턴트가 Model Context Protocol(MCP)을 통해 Apple 애플리케이션 및 서비스와 상호 작용할 수 있도록 하는 도구 모음입니다.

개요

이 패키지는 다음을 포함하여 다양한 Apple 애플리케이션 및 서비스와 상호 작용하기 위한 MCP 도구를 제공합니다.

  • 연락처 : Apple 연락처 앱에서 연락처 검색 및 검색

  • 메모 : Apple Notes 앱에서 메모 검색, 검색, 생성 및 폴더 나열

  • 메시지 : 메시지 보내기, 읽기, 예약하기, 읽지 않은 메시지 확인하기

  • 메일 : 읽지 않은 이메일 읽기, 이메일 검색, 이메일 보내기

  • 미리 알림 : Apple 미리 알림 앱에서 미리 알림을 검색, 생성 및 엽니다.

  • 캘린더 : Apple 캘린더 앱에서 캘린더 이벤트를 검색, 생성 및 엽니다.

  • 지도 : 위치 검색, 가이드 관리, 즐겨찾기 저장, 길찾기

  • 웹 검색 : DuckDuckGo를 사용하여 웹을 검색하고 검색 결과에서 콘텐츠를 검색합니다.

Related MCP server: MCP Personal Assistant Agent

설치

지엑스피1

요구 사항

  • macOS 운영 체제

  • Node.js 18+ 또는 Bun 런타임

  • Apple 애플리케이션(연락처, 메모, 메시지, 메일 등)에 접근하기 위한 적절한 권한

용법

MCP 서버 시작

# Using the CLI
npx apple-mcp

# Using bun
bun run dev

클로드에 연결

Claude에서 이러한 도구를 사용하려면 MCP 서버를 Claude에 연결해야 합니다. MCP 프록시를 사용하거나, Claude 인터페이스가 있는 경우 직접 연결할 수 있습니다.

# Example using mcp-proxy
mcp-proxy --server "bun run /path/to/apple-mcp/index.ts"

도구 예제

콘택트 렌즈

// Search for a contact by name
{
  "operation": "contacts",
  "name": "John Doe"
}

// List all contacts
{
  "operation": "contacts"
}

노트

// Search for notes containing specific text
{
  "operation": "notes",
  "operation": "search",
  "searchText": "meeting notes"
}

// Create a new note
{
  "operation": "notes",
  "operation": "create",
  "title": "Shopping List",
  "body": "- Milk\n- Eggs\n- Bread",
  "folderName": "Personal"
}

// List all notes in a folder
{
  "operation": "notes",
  "operation": "list",
  "folderName": "Work"
}

// List all folders
{
  "operation": "notes",
  "operation": "listFolders"
}

// Create a new folder
{
  "operation": "notes",
  "operation": "createFolder",
  "folderName": "Projects"
}

메시지

// Send a message
{
  "operation": "messages",
  "operation": "send",
  "phoneNumber": "+1234567890",
  "message": "Hello, how are you?"
}

// Read messages from a contact
{
  "operation": "messages",
  "operation": "read",
  "phoneNumber": "+1234567890",
  "limit": 5
}

// Schedule a message
{
  "operation": "messages",
  "operation": "schedule",
  "phoneNumber": "+1234567890",
  "message": "Don't forget our meeting tomorrow!",
  "scheduledTime": "2023-12-01T09:00:00Z"
}

// Check unread messages
{
  "operation": "messages",
  "operation": "unread"
}

우편

// Check unread emails
{
  "operation": "mail",
  "operation": "unread",
  "limit": 10
}

// Search emails
{
  "operation": "mail",
  "operation": "search",
  "searchTerm": "invoice",
  "limit": 5
}

// Send an email
{
  "operation": "mail",
  "operation": "send",
  "to": "recipient@example.com",
  "subject": "Meeting Agenda",
  "body": "Here's the agenda for our meeting tomorrow...",
  "cc": "colleague@example.com"
}

// List mailboxes
{
  "operation": "mail",
  "operation": "mailboxes"
}

// List accounts
{
  "operation": "mail",
  "operation": "accounts"
}

알림

// List all reminders
{
  "operation": "reminders",
  "operation": "list"
}

// Search for reminders
{
  "operation": "reminders",
  "operation": "search",
  "searchText": "groceries"
}

// Create a reminder
{
  "operation": "reminders",
  "operation": "create",
  "name": "Buy milk",
  "listName": "Shopping",
  "notes": "Get organic milk",
  "dueDate": "2023-12-01T18:00:00Z"
}

// Open a reminder
{
  "operation": "reminders",
  "operation": "open",
  "searchText": "Buy milk"
}

// List reminders by list ID
{
  "operation": "reminders",
  "operation": "listById",
  "listId": "x-apple-reminder://list/123456"
}

달력

// Search for events
{
  "operation": "calendar",
  "operation": "search",
  "searchText": "meeting",
  "fromDate": "2023-12-01T00:00:00Z",
  "toDate": "2023-12-31T23:59:59Z"
}

// List upcoming events
{
  "operation": "calendar",
  "operation": "list",
  "limit": 5
}

// Create an event
{
  "operation": "calendar",
  "operation": "create",
  "title": "Team Meeting",
  "startDate": "2023-12-05T14:00:00Z",
  "endDate": "2023-12-05T15:00:00Z",
  "location": "Conference Room A",
  "notes": "Quarterly review meeting",
  "isAllDay": false,
  "calendarName": "Work"
}

// Open an event
{
  "operation": "calendar",
  "operation": "open",
  "eventId": "x-apple-calendar://event/123456"
}

지도

// Search for locations
{
  "operation": "maps",
  "operation": "search",
  "query": "coffee shops near me",
  "limit": 5
}

// Save a location
{
  "operation": "maps",
  "operation": "save",
  "name": "Favorite Coffee Shop",
  "address": "123 Main St, Anytown, USA"
}

// Get directions
{
  "operation": "maps",
  "operation": "directions",
  "fromAddress": "123 Main St, Anytown, USA",
  "toAddress": "456 Oak Ave, Anytown, USA",
  "transportType": "driving"
}

// Drop a pin
{
  "operation": "maps",
  "operation": "pin",
  "name": "Meeting Point",
  "address": "Central Park, New York, NY"
}

// List guides
{
  "operation": "maps",
  "operation": "listGuides"
}

// Create a guide
{
  "operation": "maps",
  "operation": "createGuide",
  "guideName": "Favorite Restaurants"
}

// Add to guide
{
  "operation": "maps",
  "operation": "addToGuide",
  "guideName": "Favorite Restaurants",
  "address": "789 Pine St, Anytown, USA"
}

// Get map center coordinates
{
  "operation": "maps",
  "operation": "getCenter"
}

// Set map center coordinates
{
  "operation": "maps",
  "operation": "setCenter",
  "latitude": 37.7749,
  "longitude": -122.4194
}

웹 검색

// Search the web
{
  "operation": "webSearch",
  "query": "how to make chocolate chip cookies"
}

건축학

Apple MCP 도구는 모듈식 아키텍처로 구축되었습니다.

  • index.ts : MCP 서버를 설정하고 도구를 등록하는 주요 진입점

  • tools.ts : 도구 스키마와 설명을 정의합니다.

  • src/handlers/ : 각 도구에 대한 핸들러 함수가 포함되어 있습니다.

  • src/scripts/ : Apple 애플리케이션과 상호 작용하기 위한 AppleScript 스크립트가 포함되어 있습니다.

  • utils/ : 각 Apple 서비스에 대한 유틸리티 모듈을 포함합니다.

이 도구는 지연 로딩을 사용하여 필요할 때만 모듈을 로딩하여 성능을 향상시킵니다.

보안 및 권한

이 도구는 다양한 Apple 애플리케이션 및 서비스에 대한 접근 권한을 필요로 합니다. macOS에서 요청하면 권한을 부여해야 합니다. 이러한 권한은 시스템 환경설정 > 보안 및 개인 정보 보호 > 개인 정보 보호에서 관리할 수 있습니다.

개발

설정

# Clone the repository
git clone https://github.com/yourusername/apple-mcp.git
cd apple-mcp

# Install dependencies
bun install

개발 모드에서 실행

bun run dev

코드 스타일

  • 2칸 들여쓰기를 사용하세요

  • 줄을 100자 이하로 유지하세요

  • 함수 매개변수와 반환에 대해 명시적 유형 주석을 사용하세요.

  • 유형, 인터페이스 및 도구 상수에 대해 PascalCase를 따르세요.

  • 변수와 함수에는 camelCase를 사용하세요

기여하다

기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.

  1. 저장소를 포크하세요

  2. 기능 브랜치를 생성합니다( git checkout -b feature/amazing-feature )

  3. 변경 사항을 커밋하세요( git commit -m 'Add some amazing feature' )

  4. 브랜치에 푸시( git push origin feature/amazing-feature )

  5. 풀 리퀘스트 열기

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Appeared in Searches

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wearesage/mcp-apple'

If you have feedback or need assistance with the MCP directory API, please join our Discord server