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.
- package/README.md +23 -2
- package/dist/calendar/prompts.js +12 -2
- package/dist/calendar/prompts.js.map +1 -1
- package/dist/calendar/scripts.js +1 -1
- package/dist/cross/prompts.js +114 -19
- package/dist/cross/prompts.js.map +1 -1
- package/dist/index.js +26 -3
- package/dist/index.js.map +1 -1
- package/dist/mail/scripts.d.ts +1 -1
- package/dist/mail/scripts.js +5 -4
- package/dist/mail/scripts.js.map +1 -1
- package/dist/mail/tools.js +7 -5
- package/dist/mail/tools.js.map +1 -1
- package/dist/messages/scripts.js +1 -1
- package/dist/music/scripts.js +2 -2
- package/dist/notes/prompts.js +19 -4
- package/dist/notes/prompts.js.map +1 -1
- package/dist/reminders/prompts.js +12 -2
- package/dist/reminders/prompts.js.map +1 -1
- package/dist/screen/scripts.js +1 -1
- package/dist/screen/tools.js +32 -3
- package/dist/screen/tools.js.map +1 -1
- package/dist/semantic/service.d.ts +1 -1
- package/dist/semantic/service.js +13 -3
- package/dist/semantic/service.js.map +1 -1
- package/dist/semantic/tools.js +11 -2
- package/dist/semantic/tools.js.map +1 -1
- package/dist/shared/esc.js +2 -0
- package/dist/shared/esc.js.map +1 -1
- package/dist/shared/hitl-guard.d.ts +4 -0
- package/dist/shared/hitl-guard.js +51 -1
- package/dist/shared/hitl-guard.js.map +1 -1
- package/dist/shared/jxa.d.ts +1 -1
- package/dist/shared/jxa.js +149 -9
- package/dist/shared/jxa.js.map +1 -1
- package/dist/shortcuts/prompts.js +18 -3
- package/dist/shortcuts/prompts.js.map +1 -1
- package/dist/shortcuts/scripts.js +4 -4
- package/dist/ui/scripts.js +8 -8
- 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
|
-
- **
|
|
10
|
-
- **
|
|
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
|
package/dist/calendar/prompts.js
CHANGED
|
@@ -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
|
|
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"}
|
package/dist/calendar/scripts.js
CHANGED
|
@@ -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
|
package/dist/cross/prompts.js
CHANGED
|
@@ -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":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,MAAM,CAAC,MAAM,CACX,4BAA4B,EAC5B,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC,EAAE,EAClF,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACd,OAAO,UAAU,CACf,+DAA+D,EAC/D;;;;qBAIa,OAAO
|
|
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
|
|
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 >
|
|
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
|
-
},
|
|
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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"}
|
package/dist/mail/scripts.d.ts
CHANGED
|
@@ -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;
|
package/dist/mail/scripts.js
CHANGED
|
@@ -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
|
|
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 =
|
|
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) {
|
package/dist/mail/scripts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../src/mail/scripts.ts"],"names":[],"mappings":"AAAA,yCAAyC;AAEzC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEvC,MAAM,UAAU,mBAAmB;IACjC,OAAO;;;;;;;;;;;;;;;;GAgBN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,KAAa,EACb,OAAgB;IAEhB,MAAM,UAAU,GAAG,OAAO;QACxB,CAAC,CAAC,6CAA6C,GAAG,CAAC,OAAO,CAAC,sEAAsE,GAAG,CAAC,OAAO,CAAC,4BAA4B;QACzK,CAAC,CAAC,kCAAkC,CAAC;IACvC,OAAO;;MAEH,UAAU;iDACiC,GAAG,CAAC,OAAO,CAAC;kEACK,GAAG,CAAC,OAAO,CAAC;;;
|
|
1
|
+
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../src/mail/scripts.ts"],"names":[],"mappings":"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"}
|
package/dist/mail/tools.js
CHANGED
|
@@ -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(
|
|
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(
|
|
154
|
-
bcc: z.array(z.string().email()).optional().describe(
|
|
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 },
|