Apple MCP Tools
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를 사용하세요
기여하다
기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.
저장소를 포크하세요
기능 브랜치를 생성합니다(
git checkout -b feature/amazing-feature)변경 사항을 커밋하세요(
git commit -m 'Add some amazing feature')브랜치에 푸시(
git push origin feature/amazing-feature)풀 리퀘스트 열기
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA Model Context Protocol server that enables semantic search and retrieval of Apple Notes content, allowing AI assistants to access, search, and create notes using on-device embeddings.2,6732MIT
- FlicenseNot gradedqualityDmaintenanceA versatile Model Context Protocol server that enables AI assistants to manage calendars, track tasks, handle emails, search the web, and control smart home devices.23
- FlicenseCqualityDmaintenanceA Model Context Protocol server that enables AI assistants to interact with Apple Reminders on macOS, allowing users to view lists, retrieve, create, complete, and delete reminders through natural language.532
- AlicenseAqualityDmaintenanceA collection of tools that enables Claude AI and Cursor to access native macOS applications such as Messages, Notes, Contacts, Emails, Reminders, Calendar, and Maps through the Model Context Protocol.715719MIT
Related MCP Connectors
Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
News, web search, mail, markets, weather, places, files, calendar, contacts. 67 tools, one endpoint.
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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