airmcp 1.0.0 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +23 -2
  2. package/dist/calendar/prompts.js +12 -2
  3. package/dist/calendar/prompts.js.map +1 -1
  4. package/dist/calendar/scripts.js +1 -1
  5. package/dist/cross/prompts.js +114 -19
  6. package/dist/cross/prompts.js.map +1 -1
  7. package/dist/index.js +26 -3
  8. package/dist/index.js.map +1 -1
  9. package/dist/mail/scripts.d.ts +1 -1
  10. package/dist/mail/scripts.js +5 -4
  11. package/dist/mail/scripts.js.map +1 -1
  12. package/dist/mail/tools.js +7 -5
  13. package/dist/mail/tools.js.map +1 -1
  14. package/dist/messages/scripts.js +1 -1
  15. package/dist/music/scripts.js +2 -2
  16. package/dist/notes/prompts.js +19 -4
  17. package/dist/notes/prompts.js.map +1 -1
  18. package/dist/reminders/prompts.js +12 -2
  19. package/dist/reminders/prompts.js.map +1 -1
  20. package/dist/screen/scripts.js +1 -1
  21. package/dist/screen/tools.js +32 -3
  22. package/dist/screen/tools.js.map +1 -1
  23. package/dist/semantic/service.d.ts +1 -1
  24. package/dist/semantic/service.js +13 -3
  25. package/dist/semantic/service.js.map +1 -1
  26. package/dist/semantic/tools.js +11 -2
  27. package/dist/semantic/tools.js.map +1 -1
  28. package/dist/shared/esc.js +2 -0
  29. package/dist/shared/esc.js.map +1 -1
  30. package/dist/shared/hitl-guard.d.ts +4 -0
  31. package/dist/shared/hitl-guard.js +51 -1
  32. package/dist/shared/hitl-guard.js.map +1 -1
  33. package/dist/shared/jxa.d.ts +1 -1
  34. package/dist/shared/jxa.js +149 -9
  35. package/dist/shared/jxa.js.map +1 -1
  36. package/dist/shortcuts/prompts.js +18 -3
  37. package/dist/shortcuts/prompts.js.map +1 -1
  38. package/dist/shortcuts/scripts.js +4 -4
  39. package/dist/ui/scripts.js +8 -8
  40. package/package.json +1 -1
package/README.md CHANGED
@@ -6,8 +6,8 @@ MCP server for the entire Apple ecosystem — Notes, Reminders, Calendar, Contac
6
6
 
7
7
  ## Features
8
8
 
9
- - **170+ tools** (18 modules) — Apple app CRUD + system control + Apple Intelligence + UI Automation + Screen Capture + Maps + Podcasts + dynamic shortcuts
10
- - **23 prompts** — per-app workflows + cross-module + developer workflows (dev-session, debug-loop, build-log)
9
+ - **173 tools** (18 modules) — Apple app CRUD + system control + Apple Intelligence + UI Automation + Screen Capture + Maps + Podcasts + dynamic shortcuts
10
+ - **29 prompts** — per-app workflows (notes, calendar, reminders, shortcuts) + cross-module + developer workflows
11
11
  - **11 MCP resources** — Notes, Calendar, Reminders live data URIs
12
12
  - **JXA + Swift bridge** — JXA for basic automation, EventKit/PhotoKit for advanced features
13
13
  - **Recurring events/reminders** — EventKit recurrence rules (macOS 26+ Swift bridge)
@@ -640,6 +640,27 @@ Modules with OS requirements (e.g., Intelligence requires macOS 26+) are automat
640
640
  - Requires macOS 26 (Tahoe) + Apple Silicon.
641
641
  - Build bridge binary with `npm run swift-build`.
642
642
 
643
+ ## Roadmap
644
+
645
+ ### v1.6.0 (Current)
646
+
647
+ - **Progress notifications** — `record_screen`, `semantic_index` report real-time progress via `notifications/progress`
648
+ - **MCP Elicitation** — Protocol-native user confirmation (form mode), falls back to socket HITL for older clients
649
+ - **Server Card** — `GET /.well-known/mcp.json` discovery endpoint for Claude, VS Code Copilot, etc.
650
+ - **Mail pagination** — `list_messages` now supports `offset` parameter, response matches `{total, offset, returned}` pattern
651
+ - **Swift stdin validation** — MAX_STDIN_SIZE (50MB) guard on bridge input
652
+
653
+ ### v1.7 (Planned)
654
+
655
+ - **OAuth 2.1 + PKCE** — HTTP transport authentication for remote deployments
656
+ - **Async Tasks** — Long-running operations return handles with progress streaming
657
+ - **MCP Registry** — Official registry.modelcontextprotocol.io submission
658
+
659
+ ### Future
660
+
661
+ - GUI .app distribution (Code Signing + Notarization, Homebrew Cask)
662
+ - iOS / visionOS exploration (v2.0+)
663
+
643
664
  ## License
644
665
 
645
666
  MIT
@@ -21,7 +21,12 @@ export function registerCalendarPrompts(server) {
21
21
  - 집중 업무 시간 확보 제안
22
22
  5. 내가 원하면 update_event로 일정을 수정해
23
23
 
24
- 중요: 실제 AirMCP 도구를 사용해서 Apple Calendar 데이터를 조회해.`);
24
+ 중요: 실제 AirMCP 도구를 사용해서 Apple Calendar 데이터를 조회해.
25
+
26
+ 에러 처리:
27
+ - 도구 호출 실패 시 사용자에게 알리고 대안 도구 시도 (예: list_events 실패 시 search_events 시도)
28
+ - 권한 에러 시 setup_permissions 안내
29
+ - 앱이 응답하지 않으면 다음 단계로 건너뛰기`);
25
30
  });
26
31
  server.prompt("meeting-prep", { eventId: z.string().describe("Event ID to prepare for") }, ({ eventId }) => {
27
32
  return userPrompt("Read event details, find related notes, and prepare meeting context.", `미팅 준비를 도와줘.
@@ -37,7 +42,12 @@ export function registerCalendarPrompts(server) {
37
42
  - 준비할 사항 제안
38
43
  - 예상 안건
39
44
 
40
- 중요: 실제 AirMCP 도구를 사용해서 Apple Calendar와 Notes 데이터를 조회해.`);
45
+ 중요: 실제 AirMCP 도구를 사용해서 Apple Calendar와 Notes 데이터를 조회해.
46
+
47
+ 에러 처리:
48
+ - 도구 호출 실패 시 사용자에게 알리고 대안 도구 시도 (예: read_event 실패 시 search_events로 이벤트 검색)
49
+ - 권한 에러 시 setup_permissions 안내
50
+ - 앱이 응답하지 않으면 다음 단계로 건너뛰기`);
41
51
  });
42
52
  }
43
53
  //# sourceMappingURL=prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/calendar/prompts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,CAAC,MAAM,CACX,iBAAiB,EACjB,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC,EAAE,EAC5G,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;QACX,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QACpB,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACzE,OAAO,UAAU,CACf,mBAAmB,CAAC,iEAAiE,EACrF,OAAO,CAAC;;;;;6BAKa,KAAK,gBAAgB,GAAG;;;;;;;;;;;gDAWL,CACzC,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,MAAM,CACX,cAAc,EACd,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,EAC3D,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACd,OAAO,UAAU,CACf,sEAAsE,EACtE;;;;qBAIa,OAAO;;;;;;;;;uDAS2B,CAChD,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/calendar/prompts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,CAAC,MAAM,CACX,iBAAiB,EACjB,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC,EAAE,EAC5G,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;QACX,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QACpB,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACzE,OAAO,UAAU,CACf,mBAAmB,CAAC,iEAAiE,EACrF,OAAO,CAAC;;;;;6BAKa,KAAK,gBAAgB,GAAG;;;;;;;;;;;;;;;;0BAgB3B,CACnB,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,MAAM,CACX,cAAc,EACd,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,EAC3D,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACd,OAAO,UAAU,CACf,sEAAsE,EACtE;;;;qBAIa,OAAO;;;;;;;;;;;;;;0BAcF,CACnB,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -280,7 +280,7 @@ export function todayEventsScript() {
280
280
  }
281
281
  }
282
282
  all.sort((a, b) => new Date(a.startDate) - new Date(b.startDate));
283
- JSON.stringify({total: all.length, events: all});
283
+ JSON.stringify({total: all.length, returned: all.length, events: all});
284
284
  `;
285
285
  }
286
286
  //# sourceMappingURL=scripts.js.map
@@ -19,7 +19,12 @@ export function registerCrossPrompts(server) {
19
19
  - body: 원본 메모 참조
20
20
  - dueDate: 언급된 기한 (없으면 이벤트 다음 날)
21
21
 
22
- 중요: 삭제/수정 전에 반드시 확인을 받아.`);
22
+ 중요: 삭제/수정 전에 반드시 확인을 받아.
23
+
24
+ 에러 처리:
25
+ - 도구 호출 실패 시 사용자에게 알리고 대안 도구 시도 (예: read_event 실패 시 search_events로 이벤트 검색)
26
+ - 권한 에러 시 setup_permissions 안내
27
+ - 앱이 응답하지 않으면 다음 단계로 건너뛰기`);
23
28
  });
24
29
  server.prompt("weekly-digest", { days: z.number().int().min(1).max(30).optional().describe("Days to review (default: 7)") }, ({ days }) => {
25
30
  const n = days ?? 7;
@@ -43,7 +48,12 @@ export function registerCrossPrompts(server) {
43
48
  - 일정 조정 제안
44
49
  - 우선 처리할 리마인더
45
50
 
46
- 중요: 실제 AirMCP 도구를 사용해서 Apple Notes, Calendar, Reminders 데이터를 조회해.`);
51
+ 중요: 실제 AirMCP 도구를 사용해서 Apple Notes, Calendar, Reminders 데이터를 조회해.
52
+
53
+ 에러 처리:
54
+ - 도구 호출 실패 시 사용자에게 알리고 대안 도구 시도 (예: list_events 실패 시 search_events 시도)
55
+ - 권한 에러 시 setup_permissions 안내
56
+ - 앱이 응답하지 않으면 다음 단계로 건너뛰기`);
47
57
  });
48
58
  server.prompt("event-follow-up", { eventId: z.string().describe("Calendar event ID") }, ({ eventId }) => {
49
59
  return userPrompt("Create follow-up note and reminders after a meeting.", `미팅 후 팔로업을 정리해줘.
@@ -62,7 +72,12 @@ export function registerCrossPrompts(server) {
62
72
  b. 각 action item을 create_reminder로 생성해
63
73
  5. 생성된 메모와 리마인더를 확인해줘
64
74
 
65
- 중요: 미팅 내용은 나에게 물어보고, 자의적으로 작성하지 마.`);
75
+ 중요: 미팅 내용은 나에게 물어보고, 자의적으로 작성하지 마.
76
+
77
+ 에러 처리:
78
+ - 도구 호출 실패 시 사용자에게 알리고 대안 도구 시도 (예: read_event 실패 시 search_events로 이벤트 검색)
79
+ - 권한 에러 시 setup_permissions 안내
80
+ - 앱이 응답하지 않으면 다음 단계로 건너뛰기`);
66
81
  });
67
82
  server.prompt("daily-briefing", "Comprehensive daily briefing with today's events, due reminders, and recent notes.", () => {
68
83
  const today = new Date();
@@ -95,7 +110,12 @@ export function registerCrossPrompts(server) {
95
110
  - 우선 처리 항목
96
111
  - 준비가 필요한 미팅
97
112
 
98
- 중요: 실제 AirMCP 도구를 사용해서 데이터를 조회해.`);
113
+ 중요: 실제 AirMCP 도구를 사용해서 데이터를 조회해.
114
+
115
+ 에러 처리:
116
+ - 도구 호출 실패 시 사용자에게 알리고 대안 도구 시도 (예: list_reminders 실패 시 search_reminders 시도)
117
+ - 권한 에러 시 setup_permissions 안내
118
+ - 앱이 응답하지 않으면 다음 단계로 건너뛰기`);
99
119
  });
100
120
  server.prompt("research-with-safari", { topic: z.string().describe("Research topic to investigate") }, ({ topic }) => {
101
121
  return userPrompt("Safari + Notes research workflow: search tabs, read content, compile findings into a note.", `"${topic}" 주제로 리서치를 진행해줘.
@@ -113,7 +133,12 @@ export function registerCrossPrompts(server) {
113
133
  - 기존 메모와의 연관성 (있으면)
114
134
  5. 추가 조사가 필요한 부분이 있으면 알려줘
115
135
 
116
- 중요: Safari 탭의 URL을 출처로 반드시 포함해.`);
136
+ 중요: Safari 탭의 URL을 출처로 반드시 포함해.
137
+
138
+ 에러 처리:
139
+ - 도구 호출 실패 시 사용자에게 알리고 대안 도구 시도 (예: read_page_content 실패 시 다른 탭 시도)
140
+ - 권한 에러 시 setup_permissions 안내
141
+ - 앱이 응답하지 않으면 다음 단계로 건너뛰기`);
117
142
  });
118
143
  server.prompt("focus-session", { duration: z.number().optional().describe("Focus duration in hours (default: 2)") }, ({ duration }) => {
119
144
  const hours = duration ?? 2;
@@ -146,7 +171,12 @@ export function registerCrossPrompts(server) {
146
171
  - 현재 재생 상태 안내
147
172
  - 음악을 틀거나 변경하고 싶으면 playback_control 사용 가능
148
173
 
149
- 중요: 집중 시간 내 미팅이 있으면 반드시 경고해줘.`);
174
+ 중요: 집중 시간 내 미팅이 있으면 반드시 경고해줘.
175
+
176
+ 에러 처리:
177
+ - 도구 호출 실패 시 사용자에게 알리고 대안 도구 시도 (예: list_events 실패 시 today_events 시도)
178
+ - 권한 에러 시 setup_permissions 안내
179
+ - 앱이 응답하지 않으면 다음 단계로 건너뛰기`);
150
180
  });
151
181
  server.prompt("file-organizer", { directory: z.string().describe("Directory path to organize") }, ({ directory }) => {
152
182
  return userPrompt("Finder + Notes file organization: scan directory, apply tags, and create summary note.", `"${directory}" 폴더의 파일을 정리해줘.
@@ -171,7 +201,12 @@ export function registerCrossPrompts(server) {
171
201
  - 적용한 태그 목록
172
202
  - 추가 정리 제안
173
203
 
174
- 중요: 파일 삭제/이동은 하지 말고, 태그 적용 전에 반드시 확인을 받아.`);
204
+ 중요: 파일 삭제/이동은 하지 말고, 태그 적용 전에 반드시 확인을 받아.
205
+
206
+ 에러 처리:
207
+ - 도구 호출 실패 시 사용자에게 알리고 대안 도구 시도 (예: search_files 실패 시 list_directory 시도)
208
+ - 권한 에러 시 setup_permissions 안내
209
+ - 앱이 응답하지 않으면 다음 단계로 건너뛰기`);
175
210
  });
176
211
  server.prompt("dev-session", { projectPath: z.string().describe("Project directory path") }, ({ projectPath }) => {
177
212
  return userPrompt("Developer session setup: scan project, check specs, research docs, log to notes.", `"${projectPath}" 프로젝트로 개발 세션을 시작해줘.
@@ -205,7 +240,12 @@ export function registerCrossPrompts(server) {
205
240
  - 오늘의 할 일 우선순위
206
241
  - 주의할 사항
207
242
 
208
- 중요: 실제 파일시스템과 Apple 앱 데이터를 조회해서 정확한 컨텍스트를 구성해.`);
243
+ 중요: 실제 파일시스템과 Apple 앱 데이터를 조회해서 정확한 컨텍스트를 구성해.
244
+
245
+ 에러 처리:
246
+ - 도구 호출 실패 시 사용자에게 알리고 대안 도구 시도 (예: search_files 실패 시 list_directory 시도)
247
+ - 권한 에러 시 setup_permissions 안내
248
+ - 앱이 응답하지 않으면 다음 단계로 건너뛰기`);
209
249
  });
210
250
  server.prompt("debug-loop", {
211
251
  errorMessage: z.string().optional().describe("Error message or bug description"),
@@ -245,7 +285,12 @@ export function registerCrossPrompts(server) {
245
285
  - 제안하는 수정 순서
246
286
  - 추가 조사가 필요한 부분
247
287
 
248
- 중요: 에러 분석은 실제 데이터 기반으로. 추측만으로 판단하지 마.`);
288
+ 중요: 에러 분석은 실제 데이터 기반으로. 추측만으로 판단하지 마.
289
+
290
+ 에러 처리:
291
+ - 도구 호출 실패 시 사용자에게 알리고 대안 도구 시도 (예: search_files 실패 시 list_directory 시도)
292
+ - 권한 에러 시 setup_permissions 안내
293
+ - 앱이 응답하지 않으면 다음 단계로 건너뛰기`);
249
294
  });
250
295
  server.prompt("screen-capture-flow", {
251
296
  description: z.string().optional().describe("What to capture/document"),
@@ -279,7 +324,12 @@ export function registerCrossPrompts(server) {
279
324
 
280
325
  5. **알림**: show_notification으로 캡처 완료 알림
281
326
 
282
- 중요: 캡처 전에 준비가 필요하면 나에게 알려줘. 민감한 정보가 포함될 수 있으니 확인 후 진행.`);
327
+ 중요: 캡처 전에 준비가 필요하면 나에게 알려줘. 민감한 정보가 포함될 수 있으니 확인 후 진행.
328
+
329
+ 에러 처리:
330
+ - 도구 호출 실패 시 사용자에게 알리고 대안 도구 시도 (예: capture_screenshot 실패 시 capture_window 시도)
331
+ - 권한 에러 시 setup_permissions 안내
332
+ - 앱이 응답하지 않으면 다음 단계로 건너뛰기`);
283
333
  });
284
334
  server.prompt("app-release-prep", {
285
335
  appName: z.string().describe("Application/project name"),
@@ -327,7 +377,12 @@ export function registerCrossPrompts(server) {
327
377
  - 알려진 이슈
328
378
  - 업그레이드 가이드 (필요 시)
329
379
 
330
- 중요: 빌드 트리거 전에 반드시 확인을 받아. 체크리스트 항목은 상황에 맞게 조정해.`);
380
+ 중요: 빌드 트리거 전에 반드시 확인을 받아. 체크리스트 항목은 상황에 맞게 조정해.
381
+
382
+ 에러 처리:
383
+ - 도구 호출 실패 시 사용자에게 알리고 대안 도구 시도 (예: search_events 실패 시 list_events 시도)
384
+ - 권한 에러 시 setup_permissions 안내
385
+ - 앱이 응답하지 않으면 다음 단계로 건너뛰기`);
331
386
  });
332
387
  server.prompt("idea-to-task", { idea: z.string().describe("Idea or feature description to break down into tasks") }, ({ idea }) => {
333
388
  return userPrompt("Idea to task pipeline: capture idea in Notes, decompose into tasks, create reminders, block calendar.", `"${idea}" 아이디어를 태스크로 분해해줘.
@@ -364,7 +419,12 @@ export function registerCrossPrompts(server) {
364
419
  - 타임라인 제안
365
420
  - 리스크/의존성 경고
366
421
 
367
- 중요: 태스크 분해 결과를 먼저 보여주고 확인받은 후에 리마인더/캘린더를 생성해.`);
422
+ 중요: 태스크 분해 결과를 먼저 보여주고 확인받은 후에 리마인더/캘린더를 생성해.
423
+
424
+ 에러 처리:
425
+ - 도구 호출 실패 시 사용자에게 알리고 대안 도구 시도 (예: create_reminder 실패 시 재시도 또는 다음 항목으로)
426
+ - 권한 에러 시 setup_permissions 안내
427
+ - 앱이 응답하지 않으면 다음 단계로 건너뛰기`);
368
428
  });
369
429
  server.prompt("build-log", { projectPath: z.string().describe("Project build output directory or project root") }, ({ projectPath }) => {
370
430
  return userPrompt("Build log analysis: check build output, log errors to Notes, celebrate success with Music.", `"${projectPath}" 빌드 결과를 분석해줘.
@@ -407,7 +467,12 @@ export function registerCrossPrompts(server) {
407
467
  - 빌드 결과 (성공/실패)
408
468
  - 다음 단계 제안
409
469
 
410
- 중요: 빌드 결과는 실제 파일 시스템 데이터 기반으로 판단해.`);
470
+ 중요: 빌드 결과는 실제 파일 시스템 데이터 기반으로 판단해.
471
+
472
+ 에러 처리:
473
+ - 도구 호출 실패 시 사용자에게 알리고 대안 도구 시도 (예: search_files 실패 시 list_directory 시도)
474
+ - 권한 에러 시 setup_permissions 안내
475
+ - 앱이 응답하지 않으면 다음 단계로 건너뛰기`);
411
476
  });
412
477
  // ── Professional Workflow Prompts ──
413
478
  server.prompt("inbox-zero", "Professional email triage: scan, categorize, draft replies, create follow-ups, archive.", () => {
@@ -452,7 +517,12 @@ export function registerCrossPrompts(server) {
452
517
  - 답장이 필요한 메일 목록과 초안
453
518
  - 일정 충돌 경고
454
519
 
455
- 중요: 메일 삭제나 답장 전송은 반드시 확인을 받아. 분류 결과를 먼저 보여주고 진행해.`);
520
+ 중요: 메일 삭제나 답장 전송은 반드시 확인을 받아. 분류 결과를 먼저 보여주고 진행해.
521
+
522
+ 에러 처리:
523
+ - 도구 호출 실패 시 사용자에게 알리고 대안 도구 시도 (예: list_messages 실패 시 search_messages 시도)
524
+ - 권한 에러 시 setup_permissions 안내
525
+ - 앱이 응답하지 않으면 다음 단계로 건너뛰기`);
456
526
  });
457
527
  server.prompt("travel-planner", {
458
528
  destination: z.string().describe("Travel destination"),
@@ -509,7 +579,12 @@ export function registerCrossPrompts(server) {
509
579
  - 목적지 주요 정보 (위치, 이동시간)
510
580
  - 추가로 준비할 사항 제안
511
581
 
512
- 중요: 캘린더 이벤트 생성 전에 반드시 확인을 받아. 기존 일정과의 충돌을 반드시 알려줘.`);
582
+ 중요: 캘린더 이벤트 생성 전에 반드시 확인을 받아. 기존 일정과의 충돌을 반드시 알려줘.
583
+
584
+ 에러 처리:
585
+ - 도구 호출 실패 시 사용자에게 알리고 대안 도구 시도 (예: search_location 실패 시 search_nearby 시도)
586
+ - 권한 에러 시 setup_permissions 안내
587
+ - 앱이 응답하지 않으면 다음 단계로 건너뛰기`);
513
588
  });
514
589
  server.prompt("content-curator", { topic: z.string().describe("Research topic or content area to curate") }, ({ topic }) => {
515
590
  const today = new Date().toISOString().split("T")[0];
@@ -564,7 +639,12 @@ export function registerCrossPrompts(server) {
564
639
  - 생성된 노트/리마인더 목록
565
640
  - 추가 조사 제안
566
641
 
567
- 중요: 출처 URL을 반드시 포함해. 요약은 원문의 맥락을 보존하되 간결하게.`);
642
+ 중요: 출처 URL을 반드시 포함해. 요약은 원문의 맥락을 보존하되 간결하게.
643
+
644
+ 에러 처리:
645
+ - 도구 호출 실패 시 사용자에게 알리고 대안 도구 시도 (예: read_page_content 실패 시 다른 탭 시도)
646
+ - 권한 에러 시 setup_permissions 안내
647
+ - 앱이 응답하지 않으면 다음 단계로 건너뛰기`);
568
648
  });
569
649
  server.prompt("morning-brief", "Comprehensive morning briefing: calendar, reminders, email, notes, music, system status.", () => {
570
650
  const today = new Date();
@@ -647,7 +727,12 @@ export function registerCrossPrompts(server) {
647
727
  - 준비가 필요한 미팅
648
728
  - 집중 작업 추천 시간대
649
729
 
650
- 중요: 모든 데이터는 실제 AirMCP 도구로 조회해서 정확한 정보를 제공해.`);
730
+ 중요: 모든 데이터는 실제 AirMCP 도구로 조회해서 정확한 정보를 제공해.
731
+
732
+ 에러 처리:
733
+ - 도구 호출 실패 시 사용자에게 알리고 대안 도구 시도 (예: list_messages 실패 시 get_unread_count만 시도)
734
+ - 권한 에러 시 setup_permissions 안내
735
+ - 앱이 응답하지 않으면 다음 단계로 건너뛰기`);
651
736
  });
652
737
  server.prompt("project-kickoff", {
653
738
  projectName: z.string().describe("Name of the new project"),
@@ -717,7 +802,12 @@ ${description ? `프로젝트 설명: ${description}` : ""}
717
802
  - 생성된 캘린더 이벤트 (있으면)
718
803
  - 다음 단계 제안
719
804
 
720
- 중요: 캘린더 이벤트는 시간 확인 후 생성. 폴더/노트/리마인더는 바로 생성 가능.`);
805
+ 중요: 캘린더 이벤트는 시간 확인 후 생성. 폴더/노트/리마인더는 바로 생성 가능.
806
+
807
+ 에러 처리:
808
+ - 도구 호출 실패 시 사용자에게 알리고 대안 도구 시도 (예: create_folder 실패 시 기본 폴더에 노트 생성)
809
+ - 권한 에러 시 setup_permissions 안내
810
+ - 앱이 응답하지 않으면 다음 단계로 건너뛰기`);
721
811
  });
722
812
  server.prompt("weekly-review", { days: z.number().int().min(1).max(14).optional().describe("Review period in days (default: 7)") }, ({ days }) => {
723
813
  const n = days ?? 7;
@@ -796,7 +886,12 @@ ${description ? `프로젝트 설명: ${description}` : ""}
796
886
  - create_reminder("[주간 리뷰] 이월 항목 정리", dueDate: 다음 월요일)
797
887
  - 필요하면 추가 팔로업 리마인더
798
888
 
799
- 중요: 모든 데이터는 실제 AirMCP 도구로 조회해. 통계는 정확한 수치를 제공해.`);
889
+ 중요: 모든 데이터는 실제 AirMCP 도구로 조회해. 통계는 정확한 수치를 제공해.
890
+
891
+ 에러 처리:
892
+ - 도구 호출 실패 시 사용자에게 알리고 대안 도구 시도 (예: list_reminders 실패 시 search_reminders 시도)
893
+ - 권한 에러 시 setup_permissions 안내
894
+ - 앱이 응답하지 않으면 다음 단계로 건너뛰기`);
800
895
  });
801
896
  }
802
897
  //# sourceMappingURL=prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/cross/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/cross/prompts.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -149,12 +149,13 @@ async function main() {
149
149
  const app = express();
150
150
  app.use(express.json());
151
151
  const transports = new Map();
152
- const SESSION_TTL = 30 * 60 * 1000; // 30 minutes
152
+ const MAX_SESSIONS = 50;
153
+ const SESSION_IDLE_TTL = 5 * 60 * 1000; // 5 minutes — orphaned/idle session cleanup
153
154
  const sessionActivity = new Map();
154
155
  const cleanupInterval = setInterval(() => {
155
156
  const now = Date.now();
156
157
  for (const [id, lastActive] of sessionActivity) {
157
- if (now - lastActive > SESSION_TTL) {
158
+ if (now - lastActive > SESSION_IDLE_TTL) {
158
159
  const transport = transports.get(id);
159
160
  if (transport)
160
161
  transport.close?.();
@@ -162,8 +163,22 @@ async function main() {
162
163
  sessionActivity.delete(id);
163
164
  }
164
165
  }
165
- }, 5 * 60 * 1000);
166
+ }, 1 * 60 * 1000); // cleanup every 1 minute
166
167
  process.on("exit", () => clearInterval(cleanupInterval));
168
+ // MCP Server Card — discovery endpoint for Claude, VS Code Copilot, etc.
169
+ app.get("/.well-known/mcp.json", (_req, res) => {
170
+ res.json({
171
+ name: NPM_PACKAGE_NAME,
172
+ version: pkg.version,
173
+ description: "MCP server for the entire Apple ecosystem — 173 tools, 29 prompts across 18 modules. macOS only.",
174
+ transport: { type: "streamable-http", url: "/mcp" },
175
+ capabilities: {
176
+ tools: true,
177
+ prompts: true,
178
+ resources: true,
179
+ },
180
+ });
181
+ });
167
182
  app.post("/mcp", async (req, res) => {
168
183
  try {
169
184
  const sessionId = req.headers["mcp-session-id"];
@@ -180,6 +195,14 @@ async function main() {
180
195
  });
181
196
  return;
182
197
  }
198
+ if (transports.size >= MAX_SESSIONS) {
199
+ res.status(503).json({
200
+ jsonrpc: "2.0",
201
+ error: { code: -32000, message: "Too many concurrent sessions. Try again later." },
202
+ id: null,
203
+ });
204
+ return;
205
+ }
183
206
  const transport = new StreamableHTTPServerTransport({
184
207
  sessionIdGenerator: () => randomUUID(),
185
208
  onsessioninitialized: (id) => {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export declare function listMailboxesScript(): string;
2
- export declare function listMessagesScript(mailbox: string, limit: number, account?: string): string;
2
+ export declare function listMessagesScript(mailbox: string, limit: number, offset: number, account?: string): string;
3
3
  export declare function readMessageScript(id: string, maxLength: number): string;
4
4
  export declare function searchMessagesScript(query: string, mailbox: string, limit: number): string;
5
5
  export declare function markReadScript(id: string, read: boolean): string;
@@ -19,7 +19,7 @@ export function listMailboxesScript() {
19
19
  JSON.stringify(result);
20
20
  `;
21
21
  }
22
- export function listMessagesScript(mailbox, limit, account) {
22
+ export function listMessagesScript(mailbox, limit, offset, account) {
23
23
  const acctFilter = account
24
24
  ? `const accts = Mail.accounts.whose({name: '${esc(account)}'})(); if (accts.length === 0) throw new Error('Account not found: ${esc(account)}'); const acct = accts[0];`
25
25
  : `const acct = Mail.accounts()[0];`;
@@ -30,9 +30,10 @@ export function listMessagesScript(mailbox, limit, account) {
30
30
  if (boxes.length === 0) throw new Error('Mailbox not found: ${esc(mailbox)}');
31
31
  const box = boxes[0];
32
32
  const msgs = box.messages();
33
- const count = Math.min(msgs.length, ${limit});
33
+ const start = Math.min(${offset}, msgs.length);
34
+ const count = Math.min(msgs.length - start, ${limit});
34
35
  const result = [];
35
- for (let i = 0; i < count; i++) {
36
+ for (let i = start; i < start + count; i++) {
36
37
  const m = msgs[i];
37
38
  result.push({
38
39
  id: m.id(),
@@ -43,7 +44,7 @@ export function listMessagesScript(mailbox, limit, account) {
43
44
  flagged: m.flaggedStatus()
44
45
  });
45
46
  }
46
- JSON.stringify({total: msgs.length, returned: count, messages: result});
47
+ JSON.stringify({total: msgs.length, offset: start, returned: count, messages: result});
47
48
  `;
48
49
  }
49
50
  export function readMessageScript(id, maxLength) {
@@ -1 +1 @@
1
- {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../src/mail/scripts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../src/mail/scripts.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { z } from "zod";
2
2
  import { runJxa } from "../shared/jxa.js";
3
3
  import { ok, err } from "../shared/result.js";
4
4
  import { listMailboxesScript, listMessagesScript, readMessageScript, searchMessagesScript, markReadScript, flagMessageScript, getUnreadCountScript, moveMessageScript, listAccountsScript, sendMailScript, replyMailScript, } from "./scripts.js";
5
+ const MAX_RECIPIENTS = 20;
5
6
  export function registerMailTools(server, config) {
6
7
  const { allowSendMail } = config;
7
8
  server.registerTool("list_mailboxes", {
@@ -24,11 +25,12 @@ export function registerMailTools(server, config) {
24
25
  mailbox: z.string().describe("Mailbox name (e.g. 'INBOX', 'Sent Messages')"),
25
26
  account: z.string().optional().describe("Account name. Defaults to first account."),
26
27
  limit: z.number().int().min(1).max(200).optional().default(50).describe("Max messages (default: 50)"),
28
+ offset: z.number().int().min(0).optional().default(0).describe("Pagination offset (default: 0)"),
27
29
  },
28
30
  annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
29
- }, async ({ mailbox, account, limit }) => {
31
+ }, async ({ mailbox, account, limit, offset }) => {
30
32
  try {
31
- return ok(await runJxa(listMessagesScript(mailbox, limit, account)));
33
+ return ok(await runJxa(listMessagesScript(mailbox, limit, offset, account)));
32
34
  }
33
35
  catch (e) {
34
36
  return err(`Failed to list messages: ${e instanceof Error ? e.message : String(e)}`);
@@ -147,11 +149,11 @@ export function registerMailTools(server, config) {
147
149
  title: "Send Email",
148
150
  description: "Compose and send an email via Apple Mail. Requires allowSendMail config.",
149
151
  inputSchema: {
150
- to: z.array(z.string().email()).min(1).describe("Recipient email addresses"),
152
+ to: z.array(z.string().email()).min(1).max(MAX_RECIPIENTS).describe(`Recipient email addresses (max ${MAX_RECIPIENTS})`),
151
153
  subject: z.string().describe("Email subject"),
152
154
  body: z.string().describe("Email body text"),
153
- cc: z.array(z.string().email()).optional().describe("CC recipients"),
154
- bcc: z.array(z.string().email()).optional().describe("BCC recipients"),
155
+ cc: z.array(z.string().email()).max(MAX_RECIPIENTS).optional().describe(`CC recipients (max ${MAX_RECIPIENTS})`),
156
+ bcc: z.array(z.string().email()).max(MAX_RECIPIENTS).optional().describe(`BCC recipients (max ${MAX_RECIPIENTS})`),
155
157
  account: z.string().optional().describe("Sender email address (uses default account if omitted)"),
156
158
  },
157
159
  annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: true },