mattt/iMCP
A macOS app that provides an MCP server to your Messages, Contacts, Reminders and more
iMCP – 개인 데이터와 AI 도구 간의 macOS 브릿지
소개 – iMCP는 Model Context Protocol (MCP)을 구현하는 네이티브 macOS 애플리케이션(내장 imcp‑server 명령줄 도구 포함)입니다. 캘린더, 연락처, 위치, 지도, 메시지, 미리 알림, 날씨와 같은 일련의 "도구"를 노출하며, 이는 Claude Desktop, Claude Code, Cursor, Amp와 같은 MCP 호환 AI 클라이언트에서 호출할 수 있습니다. AI는 예를 들어 "내가 있는 곳의 날씨는 어때?"라고 요청할 수 있으며, iMCP는 OS에서 데이터를 가져와 구조화된 JSON‑LD 형식으로 반환합니다.
핵심 기능
| 서비스 | 할 수 있는 일 |
|---|---|
| Calendar | 이벤트 나열, 새 이벤트 만들기(반복, 알람, 가능 여부). |
| Contacts | 자신의 연락처 카드 읽기 및 이름, 전화번호 또는 이메일로 연락처 검색. |
| Location | 현재 지리적 좌표 가져오기 또는 주소 ↔︎ 좌표 변환. |
| Maps | 장소 검색, 경로 가져오기, 관심 지점 조회, 이동 시간 추정, 정적 지도 이미지 생성. |
| Messages | 지정된 날짜 범위 내에서 특정 참가자의 메시지 기록 검색. |
| Reminders | 미리 알림 나열 및 마감일, 우선순위 및 알림이 있는 새 미리 알림 만들기. |
| Weather | 모든 위치의 현재 온도, 풍속 및 날씨 상태 가져오기. |
작동 방식
- MCP 서버 – 번들로 제공되는
imcp‑server는 로컬 TCP 서비스(Bonjour를 통한_mcp._tcp)로 실행됩니다. stdio 전송(stdin/stdout)을 통해 AI 클라이언트와 통신하고 요청을 GUI 앱으로 전달합니다. - 권한 처리 – macOS 앱은 서비스를 처음 활성화할 때 표준 시스템 권한(캘린더, 연락처 등)을 요청합니다. iMCP 자체는 데이터를 저장하거나 전송하지 않으며, 연결한 AI 클라이언트(예: Claude)만 데이터를 전송할 수 있습니다.
- 도구 응답 – 각 도구는 schema.org 어휘를 사용하여 JSON‑LD 문서를 반환합니다(예: 연락처에 대한
Person객체). 이 형식은 사람과 LLM 모두가 사용하기 쉽습니다. - 클라이언트 통합 – iMCP를 설치한 후 클라이언트에 추가합니다:
- Claude Desktop – Configure Claude Desktop 메뉴 항목을 사용하거나 서버 명령을
claude_desktop_config.json에 복사합니다. - Claude Code –
claude mcp add --scope user iMCP -- /Applications/iMCP.app/Contents/MacOS/imcp-server. - Cursor – 제공된 딥 링크를 클릭하면 서버 명령이 자동으로 설치됩니다.
- Amp –
amp mcp add iMCP -- /Applications/iMCP.app/Contents/MacOS/imcp-server.
- Claude Desktop – Configure Claude Desktop 메뉴 항목을 사용하거나 서버 명령을
- 디버깅 – 이 프로젝트에는 요청/응답 스트림을 보고 서버를 테스트하기 위한 MCP Inspector(Node.js)와 macOS Companion 앱이 포함되어 있습니다.
시작하기(빠른 단계)
- 설치 –
brew install --cask mattt/tap/iMCP또는 https://iMCP.app/download 에서 다운로드(macOS 15.3+ 필요). - 실행 – 메뉴 막대에 아이콘이 나타납니다. 파란색 스위치를 전환하여 MCP 서버를 시작합니다.
- 서비스 활성화 – 서비스 아이콘을 클릭하고 macOS 권한 대화상자를 승인하면 아이콘의 색상이 바뀝니다(빨간색 = 캘린더, 녹색 = 메시지 등).
- 클라이언트 연결 – 위의 클라이언트별 지침을 따르세요. 클라이언트가 연결을 승인하면 도구를 사용할 수 있음을 나타내는 해머(🔨) 아이콘이 채팅 UI에 표시됩니다.
- AI에게 질문 – 개인 데이터가 필요한 자연어 요청을 합니다. AI가 적절한 iMCP 도구를 호출하고 결과를 반환합니다.
기술적 하이라이트
- Swift SDK – iMCP는 Model Context Protocol을 위한 공식 Swift SDK(https://github.com/modelcontextprotocol/swift-sdk)를 사용합니다.
- 메시지 데이터베이스 액세스 – 사용자 정의 Madrid Swift 패키지를 통해
~/Library/Messages/chat.db에서 macOS 메시지를 읽으며, 이 패키지는 Apple의 독점적인typedstream형식을 디코딩합니다. - JSON‑LD 온톨로지 – Ontology Swift 패키지는 Apple 프레임워크 객체(예:
CNContact)를 schema.org JSON‑LD로 인코딩하는 헬퍼를 제공합니다. - 로컬 검색 – Bonjour 광고를 통해 수동 구성 없이 모든 MCP 호환 클라이언트가 서버를 찾을 수 있습니다.
누가 사용할 수 있나요?
- 파워 유저 – 수동으로 정보를 복사하지 않고 LLM 어시스턴트가 실제 개인 데이터에 대해 행동(회의 일정 잡기, 최근 메시지 가져오기, 날씨 확인)하기를 원하는 사용자.
- 개발자 – 새로운 MCP 클라이언트 또는 사용자 정의 도구를 구축하는 개발자 – iMCP는 참조 구현이자 즉시 사용 가능한 데이터 소스 역할을 합니다.
- 프라이버시를 중시하는 사용자 – iMCP 자체는 데이터를 저장하거나 전송하지 않습니다. 모든 데이터 흐름은 macOS 권한을 통해 사용자가 제어합니다.
라이선스 및 법적 고지
- MIT 라이선스.
- Apple과 제휴하지 않음. iMessage®는 Apple Inc.의 상표입니다.
결론: iMCP는 프로덕션 준비가 완료된 진정한 macOS 브릿지로, 최신 AI 어시스턴트가 표준 프로토콜을 통해 안전하고 로컬에서 개인 macOS 데이터를 쿼리할 수 있게 하여 AI 기반의 개인 생산성을 가능하게 하는 동시에 프라이버시를 보장합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트