@heznpc/imcp 0.6.0 → 0.7.0

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.ko.md CHANGED
@@ -6,8 +6,8 @@ Apple 생태계 전체를 위한 MCP 서버 — Notes, Reminders, Calendar, Cont
6
6
 
7
7
  ## 특징
8
8
 
9
- - **103개 도구** (12개 모듈) — Apple 앱 CRUD + 시스템 제어 + Apple Intelligence
10
- - **14개 프롬프트** — 앱별 워크플로우 + 크로스 모듈 (데일리 브리핑, 주간 다이제스트, 리서치, 집중 세션)
9
+ - **104개 도구** (12개 모듈) — Apple 앱 CRUD + 시스템 제어 + Apple Intelligence
10
+ - **20개 프롬프트** — 앱별 워크플로우 + 크로스 모듈 + 개발자 워크플로우 (dev-session, debug-loop, build-log)
11
11
  - **4개 MCP 리소스** — Notes, Calendar, Reminders 실시간 데이터 URI
12
12
  - **JXA + Swift 브릿지** — JXA로 기본 자동화, EventKit/PhotoKit으로 고급 기능
13
13
  - **반복 이벤트/리마인더** — EventKit으로 반복 규칙 생성 (macOS 26+ Swift 브릿지)
@@ -168,7 +168,7 @@ npm run build
168
168
  | `run_javascript` | 탭에서 JavaScript 실행 | 쓰기 |
169
169
  | `search_tabs` | 제목/URL로 탭 검색 | 읽기 |
170
170
 
171
- ### System (9개)
171
+ ### System (10개)
172
172
 
173
173
  | 도구 | 설명 | 타입 |
174
174
  |------|------|------|
@@ -181,6 +181,7 @@ npm run build
181
181
  | `list_running_apps` | 실행 중인 앱 목록 | 읽기 |
182
182
  | `get_screen_info` | 디스플레이 정보 | 읽기 |
183
183
  | `show_notification` | 시스템 알림 표시 | 쓰기 |
184
+ | `capture_screenshot` | 스크린샷 캡처 (전체/윈도우/선택) | 쓰기 |
184
185
 
185
186
  ### Photos (9개)
186
187
 
@@ -246,6 +247,14 @@ MCP 리소스는 Apple 앱의 실시간 데이터를 URI로 제공합니다.
246
247
  - **focus-session** — Calendar + Reminders + Music으로 집중 세션
247
248
  - **file-organizer** — Finder로 파일 정리 + Notes에 기록
248
249
 
250
+ ### 개발자 워크플로우
251
+ - **dev-session** — 프로젝트 스캔, 스펙 확인, 문서 리서치, 세션 노트 생성
252
+ - **debug-loop** — Safari/클립보드에서 에러 캡처, 코드 위치 특정, 버그 로그, Fix 태스크 생성
253
+ - **screen-capture-flow** — 스크린샷 → Photos 가져오기 → 주석 노트 생성
254
+ - **app-release-prep** — 캘린더 일정 + Notes 체인지로그 + Reminders 체크리스트
255
+ - **idea-to-task** — 아이디어 → 태스크 분해 → Reminders + Calendar 타임 블록
256
+ - **build-log** — 빌드 결과 분석, 에러 로그 또는 Music으로 성공 축하
257
+
249
258
  ## 설정
250
259
 
251
260
  | 환경 변수 | 기본값 | 설명 |
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
- - **103 tools** across 12 modules — full CRUD for Apple apps + system control + Apple Intelligence
10
- - **14 prompts** — per-app workflows + cross-module (daily briefing, weekly digest, research, focus sessions)
9
+ - **104 tools** across 12 modules — full CRUD for Apple apps + system control + Apple Intelligence
10
+ - **20 prompts** — per-app workflows + cross-module + developer workflows (dev-session, debug-loop, build-log)
11
11
  - **4 MCP Resources** — live data URIs for notes, calendar, and reminders
12
12
  - **JXA + Swift bridge** — JXA for core automation, EventKit/PhotoKit via Swift for advanced features
13
13
  - **Recurring events/reminders** — create recurrence rules via EventKit (macOS 26+ Swift bridge)
@@ -168,7 +168,7 @@ npm run build
168
168
  | `run_javascript` | Execute JavaScript in a tab | write |
169
169
  | `search_tabs` | Search tabs by title or URL | read |
170
170
 
171
- ### System (9 tools)
171
+ ### System (10 tools)
172
172
 
173
173
  | Tool | Description | Type |
174
174
  |------|-------------|------|
@@ -181,6 +181,7 @@ npm run build
181
181
  | `list_running_apps` | List all running applications | read |
182
182
  | `get_screen_info` | Get display information | read |
183
183
  | `show_notification` | Display a system notification | write |
184
+ | `capture_screenshot` | Take a screenshot (fullscreen/window/selection) | write |
184
185
 
185
186
  ### Photos (9 tools)
186
187
 
@@ -246,6 +247,14 @@ MCP Resources expose live data from Apple apps as URIs.
246
247
  - **focus-session** — Calendar + Reminders + Music for focused work
247
248
  - **file-organizer** — Organize files with Finder + track in Notes
248
249
 
250
+ ### Developer Workflows
251
+ - **dev-session** — Scan project, check specs, research docs, create session notes
252
+ - **debug-loop** — Capture errors from Safari/clipboard, locate code, log bugs, create fix tasks
253
+ - **screen-capture-flow** — Screenshot → Photos import → annotated note
254
+ - **app-release-prep** — Calendar dates + changelog from Notes + Reminders checklist
255
+ - **idea-to-task** — Break idea into tasks → Reminders + Calendar time blocks
256
+ - **build-log** — Analyze build output, log errors or celebrate success with Music
257
+
249
258
  ## Configuration
250
259
 
251
260
  | Environment Variable | Default | Description |
@@ -173,5 +173,241 @@ export function registerCrossPrompts(server) {
173
173
 
174
174
  중요: 파일 삭제/이동은 하지 말고, 태그 적용 전에 반드시 확인을 받아.`);
175
175
  });
176
+ server.prompt("dev-session", { projectPath: z.string().describe("Project directory path") }, ({ projectPath }) => {
177
+ return userPrompt("Developer session setup: scan project, check specs, research docs, log to notes.", `"${projectPath}" 프로젝트로 개발 세션을 시작해줘.
178
+
179
+ 다음 단계를 반드시 iMcp 도구를 사용해서 실행해:
180
+
181
+ 1. **프로젝트 구조 파악**: list_directory("${projectPath}")로 프로젝트 루트 확인
182
+ - search_files로 주요 파일 패턴 검색 (package.json, Makefile, README 등)
183
+ - get_file_info로 최근 수정된 파일 확인
184
+ - recent_files("${projectPath}", days: 1)로 오늘 작업한 파일 추적
185
+
186
+ 2. **스펙/컨텍스트 확인**: search_notes로 프로젝트 관련 메모 검색
187
+ - 프로젝트명, 주요 키워드로 검색
188
+ - 찾은 메모가 있으면 read_note로 전체 내용 확인
189
+
190
+ 3. **참고 자료 수집**: list_tabs로 Safari에 열린 관련 탭 확인
191
+ - 관련 문서가 있으면 read_page_content로 핵심 내용 추출
192
+
193
+ 4. **관련 리마인더 확인**: search_reminders로 프로젝트 관련 할 일 조회
194
+ - get_upcoming_events로 관련 미팅/데드라인 확인
195
+
196
+ 5. **세션 노트 생성**: create_note로 개발 세션 노트를 생성해:
197
+ - 제목: "[Dev] ${projectPath.split("/").pop()} - {날짜 시간}"
198
+ - 프로젝트 구조 요약
199
+ - 오늘 작업할 내용
200
+ - 관련 메모/리마인더 링크
201
+ - 참고 URL 목록
202
+
203
+ 6. 컨텍스트 요약을 나에게 브리핑해줘:
204
+ - 프로젝트 현재 상태
205
+ - 오늘의 할 일 우선순위
206
+ - 주의할 사항
207
+
208
+ 중요: 실제 파일시스템과 Apple 앱 데이터를 조회해서 정확한 컨텍스트를 구성해.`);
209
+ });
210
+ server.prompt("debug-loop", {
211
+ errorMessage: z.string().optional().describe("Error message or bug description"),
212
+ projectPath: z.string().optional().describe("Project directory path"),
213
+ }, ({ errorMessage, projectPath }) => {
214
+ const errorCtx = errorMessage ? `\n에러 메시지: "${errorMessage}"` : "";
215
+ const pathCtx = projectPath ? `\n프로젝트 경로: "${projectPath}"` : "";
216
+ return userPrompt("Debug loop: capture errors, locate code, log bugs, create fix tasks.", `디버깅 루프를 시작해줘.${errorCtx}${pathCtx}
217
+
218
+ 다음 단계를 반드시 iMcp 도구를 사용해서 실행해:
219
+
220
+ 1. **에러 수집**:
221
+ - Safari 탭 확인: list_tabs로 열린 탭 중 localhost/개발 서버 탭 찾기
222
+ - 관련 탭이 있으면 run_javascript로 콘솔 에러 캡처:
223
+ \`JSON.stringify(window.__consoleErrors || 'No captured errors')\`
224
+ - get_clipboard으로 클립보드에 복사된 에러 메시지 확인${projectPath ? `\n - recent_files("${projectPath}", days: 1)로 최근 수정 파일 확인` : ""}
225
+
226
+ 2. **코드 위치 특정**:${projectPath ? `\n - search_files("${projectPath}", 에러 관련 키워드)로 관련 파일 검색` : ""}
227
+ - 에러 메시지에서 파일명/라인 번호 추출
228
+ - get_file_info로 해당 파일 정보 확인
229
+
230
+ 3. **버그 로그 기록**: create_note로 버그 리포트 생성:
231
+ - 제목: "[Bug] {에러 요약} - {날짜}"
232
+ - 에러 메시지 전문
233
+ - 재현 경로 (추정)
234
+ - 관련 파일 목록
235
+ - 가능한 원인 분석
236
+
237
+ 4. **Fix 태스크 생성**: create_reminder로 수정 태스크 생성:
238
+ - 제목: "[Fix] {에러 요약}"
239
+ - body: 버그 노트 참조, 수정 방향 제안
240
+ - priority: 에러 심각도에 따라 (1=critical, 5=medium, 9=low)
241
+
242
+ 5. **결과 브리핑**:
243
+ - 발견된 에러 요약
244
+ - 가능한 원인 TOP 3
245
+ - 제안하는 수정 순서
246
+ - 추가 조사가 필요한 부분
247
+
248
+ 중요: 에러 분석은 실제 데이터 기반으로. 추측만으로 판단하지 마.`);
249
+ });
250
+ server.prompt("screen-capture-flow", {
251
+ description: z.string().optional().describe("What to capture/document"),
252
+ }, ({ description }) => {
253
+ const desc = description ?? "작업 과정";
254
+ const timestamp = new Date().toISOString().replace(/[:.]/g, "-").slice(0, 19);
255
+ return userPrompt("Screen capture workflow: screenshot, save to Photos, create note with annotation.", `"${desc}" 화면 캡처 플로우를 시작해줘.
256
+
257
+ 다음 단계를 반드시 iMcp 도구를 사용해서 실행해:
258
+
259
+ 1. **현재 상태 파악**:
260
+ - get_frontmost_app으로 현재 활성 앱 확인
261
+ - get_screen_info로 디스플레이 정보 확인
262
+
263
+ 2. **스크린샷 캡처**: capture_screenshot으로 화면 캡처:
264
+ - path: "/tmp/imcp-capture-${timestamp}.png"
265
+ - region: "fullscreen" (또는 필요에 따라 "window"/"selection")
266
+ - 필요하면 여러 장 캡처 (다른 앱/화면 전환 후)
267
+
268
+ 3. **Photos에 정리**:
269
+ - 캡처 파일을 import_photo로 Photos 라이브러리에 가져오기
270
+ - create_album으로 "[캡처] ${desc}" 앨범 생성 (없으면)
271
+ - add_to_album으로 캡처한 사진을 앨범에 추가
272
+
273
+ 4. **캡처 메모 작성**: create_note로 캡처 문서 생성:
274
+ - 제목: "[캡처] ${desc} - {날짜}"
275
+ - 캡처 시점의 활성 앱 정보
276
+ - 각 스크린샷 설명
277
+ - 캡처 의도/맥락: "${desc}"
278
+ - 파일 경로 목록
279
+
280
+ 5. **알림**: show_notification으로 캡처 완료 알림
281
+
282
+ 중요: 캡처 전에 준비가 필요하면 나에게 알려줘. 민감한 정보가 포함될 수 있으니 확인 후 진행.`);
283
+ });
284
+ server.prompt("app-release-prep", {
285
+ appName: z.string().describe("Application/project name"),
286
+ version: z.string().optional().describe("Target version number"),
287
+ }, ({ appName, version }) => {
288
+ const ver = version ?? "next";
289
+ return userPrompt("Release preparation: check schedule, collect changelog, create checklist, trigger build.", `"${appName}" v${ver} 릴리즈 준비를 해줘.
290
+
291
+ 다음 단계를 반드시 iMcp 도구를 사용해서 실행해:
292
+
293
+ 1. **릴리즈 일정 확인**:
294
+ - search_events("${appName} release", 향후 30일)로 릴리즈 일정 검색
295
+ - get_upcoming_events로 가까운 마감일 확인
296
+ - today_events로 오늘 관련 일정 확인
297
+
298
+ 2. **체인지로그 수집**:
299
+ - search_notes("${appName}")로 프로젝트 관련 메모 검색
300
+ - search_notes("changelog"), search_notes("release") 키워드로도 검색
301
+ - 찾은 메모를 read_note로 읽어서 변경사항 수집
302
+
303
+ 3. **미완료 태스크 확인**:
304
+ - search_reminders("${appName}")로 관련 리마인더 조회
305
+ - list_reminders(completed: false)로 미완료 항목 확인
306
+ - 릴리즈 블로커가 있는지 분류
307
+
308
+ 4. **릴리즈 체크리스트 생성**: create_reminder_list("${appName} v${ver} Release")
309
+ 그리고 다음 항목을 create_reminder로 생성:
310
+ - [ ] 코드 프리즈 확인
311
+ - [ ] 테스트 통과 확인
312
+ - [ ] 체인지로그 작성
313
+ - [ ] 버전 번호 업데이트
314
+ - [ ] 빌드 생성
315
+ - [ ] QA 사인오프
316
+ - [ ] 배포
317
+ - [ ] 릴리즈 노트 발행
318
+
319
+ 5. **빌드 트리거 (선택)**:
320
+ - search_shortcuts("build")로 빌드 관련 단축어 확인
321
+ - 빌드 단축어가 있으면 run_shortcut으로 실행할지 나에게 확인
322
+
323
+ 6. **릴리즈 노트 초안**: create_note로 릴리즈 노트 초안 생성:
324
+ - 제목: "[Release] ${appName} v${ver}"
325
+ - 주요 변경사항
326
+ - 버그 수정
327
+ - 알려진 이슈
328
+ - 업그레이드 가이드 (필요 시)
329
+
330
+ 중요: 빌드 트리거 전에 반드시 확인을 받아. 체크리스트 항목은 상황에 맞게 조정해.`);
331
+ });
332
+ server.prompt("idea-to-task", { idea: z.string().describe("Idea or feature description to break down into tasks") }, ({ idea }) => {
333
+ return userPrompt("Idea to task pipeline: capture idea in Notes, decompose into tasks, create reminders, block calendar.", `"${idea}" 아이디어를 태스크로 분해해줘.
334
+
335
+ 다음 단계를 반드시 iMcp 도구를 사용해서 실행해:
336
+
337
+ 1. **아이디어 기록**: create_note로 아이디어 노트 생성:
338
+ - 제목: "[Idea] ${idea.slice(0, 50)}"
339
+ - 아이디어 전문
340
+ - 배경/동기
341
+ - 예상 결과물
342
+
343
+ 2. **태스크 분해**: 아이디어를 구현 가능한 태스크로 분해해:
344
+ - 각 태스크는 2-4시간 단위로 분해
345
+ - 의존성/선후관계 파악
346
+ - 우선순위 지정 (1=높음, 5=보통, 9=낮음)
347
+ - 결과를 나에게 보여주고 확인을 받아
348
+
349
+ 3. **리마인더 생성**: 확인 후 create_reminder로 각 태스크 생성:
350
+ - 제목: "[Task] {태스크명}"
351
+ - body: 상세 설명 + 아이디어 노트 참조
352
+ - priority: 우선순위
353
+ - dueDate: 예상 완료일 (의존성 고려)
354
+
355
+ 4. **개발 일정 블로킹**: create_event로 캘린더에 작업 시간 블록:
356
+ - summary: "[Dev] {태스크명}"
357
+ - 태스크별 예상 소요 시간만큼 블록
358
+ - 기존 일정과 겹치지 않는 시간대로:
359
+ get_upcoming_events로 기존 일정 확인 후 빈 시간에 배치
360
+
361
+ 5. **결과 요약**:
362
+ - 총 태스크 수
363
+ - 예상 총 소요 시간
364
+ - 타임라인 제안
365
+ - 리스크/의존성 경고
366
+
367
+ 중요: 태스크 분해 결과를 먼저 보여주고 확인받은 후에 리마인더/캘린더를 생성해.`);
368
+ });
369
+ server.prompt("build-log", { projectPath: z.string().describe("Project build output directory or project root") }, ({ projectPath }) => {
370
+ return userPrompt("Build log analysis: check build output, log errors to Notes, celebrate success with Music.", `"${projectPath}" 빌드 결과를 분석해줘.
371
+
372
+ 다음 단계를 반드시 iMcp 도구를 사용해서 실행해:
373
+
374
+ 1. **빌드 아웃풋 확인**:
375
+ - list_directory("${projectPath}")로 프로젝트 구조 확인
376
+ - search_files("${projectPath}", "build")로 빌드 아웃풋 디렉토리 찾기
377
+ - recent_files("${projectPath}", days: 1)로 방금 생성/수정된 파일 확인
378
+ - get_clipboard으로 클립보드에 빌드 로그가 있는지 확인
379
+
380
+ 2. **결과 분석**:
381
+ - 빌드 성공/실패 판단
382
+ - 에러가 있으면 에러 메시지 분류
383
+ - 경고(warning) 목록 정리
384
+
385
+ 3. **실패 시 → 에러 로그 기록**:
386
+ - create_note로 에러 로그 생성:
387
+ 제목: "[Build Error] ${projectPath.split("/").pop()} - {날짜}"
388
+ - 에러 메시지 전문
389
+ - 관련 파일 목록
390
+ - 가능한 원인 분석
391
+ - create_reminder로 수정 태스크 생성:
392
+ 제목: "[Fix Build] ${projectPath.split("/").pop()}"
393
+ priority: 1 (긴급)
394
+
395
+ 4. **성공 시 → 축하 🎉**:
396
+ - show_notification("빌드 성공!", {title: "${projectPath.split("/").pop()}"})
397
+ - now_playing으로 현재 음악 상태 확인
398
+ - 음악이 안 틀어져 있으면:
399
+ list_playlists로 재생목록 확인 →
400
+ play_playlist로 좋아하는 플레이리스트 재생
401
+ - create_note로 빌드 성공 로그:
402
+ 제목: "[Build OK] ${projectPath.split("/").pop()} - {날짜}"
403
+ - 빌드 아웃풋 요약
404
+ - 생성된 파일 목록
405
+
406
+ 5. **요약 브리핑**:
407
+ - 빌드 결과 (성공/실패)
408
+ - 다음 단계 제안
409
+
410
+ 중요: 빌드 결과는 실제 파일 시스템 데이터 기반으로 판단해.`);
411
+ });
176
412
  }
177
413
  //# 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
@@ -23,7 +23,7 @@ import { parseConfig } from "./shared/config.js";
23
23
  const config = parseConfig();
24
24
  const server = new McpServer({
25
25
  name: "imcp",
26
- version: "0.6.0",
26
+ version: "0.7.0",
27
27
  });
28
28
  // Apple Apps
29
29
  registerNoteTools(server, config);
@@ -6,4 +6,5 @@ export declare function toggleDarkModeScript(): string;
6
6
  export declare function getFrontmostAppScript(): string;
7
7
  export declare function listRunningAppsScript(): string;
8
8
  export declare function getScreenInfoScript(): string;
9
+ export declare function captureScreenshotScript(path: string, region?: string): string;
9
10
  export declare function showNotificationScript(message: string, title?: string, subtitle?: string, sound?: string): string;
@@ -1,5 +1,5 @@
1
1
  // JXA scripts for macOS system automation.
2
- import { esc } from "../shared/esc.js";
2
+ import { esc, escJxaShell } from "../shared/esc.js";
3
3
  export function getClipboardScript() {
4
4
  return `
5
5
  const app = Application.currentApplication();
@@ -106,6 +106,17 @@ export function getScreenInfoScript() {
106
106
  JSON.stringify({displays: displays});
107
107
  `;
108
108
  }
109
+ export function captureScreenshotScript(path, region) {
110
+ const regionFlag = region === "selection" ? " -i" : region === "window" ? " -w" : "";
111
+ const safePath = escJxaShell(path);
112
+ return `
113
+ const app = Application.currentApplication();
114
+ app.includeStandardAdditions = true;
115
+ app.doShellScript('screencapture -x${regionFlag} "${safePath}"');
116
+ const info = app.doShellScript('stat -f "%z" "${safePath}"');
117
+ JSON.stringify({captured: true, path: '${esc(path)}', sizeBytes: parseInt(info)});
118
+ `;
119
+ }
109
120
  export function showNotificationScript(message, title, subtitle, sound) {
110
121
  const opts = [];
111
122
  if (title)
@@ -1 +1 @@
1
- {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../src/system/scripts.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAE3C,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEvC,MAAM,UAAU,kBAAkB;IAChC,OAAO;;;;;GAKN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO;;;oBAGW,GAAG,CAAC,IAAI,CAAC;;;GAG1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO;;;;;;;;;GASN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAe,EAAE,KAAe;IAC9D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxG,IAAI,KAAK,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC;IAC7D,OAAO;;;2BAGkB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;GAMxC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO;;;;;GAKN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO;;;;;;;;;;GAUN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO;;;;;;;;;;;;;;;GAeN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO;;;;;;;;;;;;;;;;;;GAkBN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAe,EAAE,KAAc,EAAE,QAAiB,EAAE,KAAc;IACvG,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,QAAQ;QAAE,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxD,IAAI,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnD,OAAO;;;+BAGsB,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;4CACrB,GAAG,CAAC,OAAO,CAAC;GACrD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../src/system/scripts.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAE3C,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,UAAU,kBAAkB;IAChC,OAAO;;;;;GAKN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO;;;oBAGW,GAAG,CAAC,IAAI,CAAC;;;GAG1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO;;;;;;;;;GASN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAe,EAAE,KAAe;IAC9D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxG,IAAI,KAAK,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC;IAC7D,OAAO;;;2BAGkB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;GAMxC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO;;;;;GAKN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO;;;;;;;;;;GAUN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO;;;;;;;;;;;;;;;GAeN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO;;;;;;;;;;;;;;;;;;GAkBN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAY,EAAE,MAAe;IACnE,MAAM,UAAU,GAAG,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACrF,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO;;;yCAGgC,UAAU,KAAK,QAAQ;oDACZ,QAAQ;6CACf,GAAG,CAAC,IAAI,CAAC;GACnD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAe,EAAE,KAAc,EAAE,QAAiB,EAAE,KAAc;IACvG,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,QAAQ;QAAE,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxD,IAAI,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnD,OAAO;;;+BAGsB,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;4CACrB,GAAG,CAAC,OAAO,CAAC;GACrD,CAAC;AACJ,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { runJxa } from "../shared/jxa.js";
3
3
  import { ok, err } from "../shared/result.js";
4
- import { getClipboardScript, setClipboardScript, getVolumeScript, setVolumeScript, toggleDarkModeScript, getFrontmostAppScript, listRunningAppsScript, getScreenInfoScript, showNotificationScript, } from "./scripts.js";
4
+ import { getClipboardScript, setClipboardScript, getVolumeScript, setVolumeScript, toggleDarkModeScript, getFrontmostAppScript, listRunningAppsScript, getScreenInfoScript, showNotificationScript, captureScreenshotScript, } from "./scripts.js";
5
5
  export function registerSystemTools(server, _config) {
6
6
  server.registerTool("get_clipboard", {
7
7
  title: "Get Clipboard",
@@ -175,5 +175,26 @@ export function registerSystemTools(server, _config) {
175
175
  return err(`Failed to show notification: ${e instanceof Error ? e.message : String(e)}`);
176
176
  }
177
177
  });
178
+ server.registerTool("capture_screenshot", {
179
+ title: "Capture Screenshot",
180
+ description: "Take a screenshot and save to the specified path. Supports full screen, window, or selection capture.",
181
+ inputSchema: {
182
+ path: z.string().describe("Absolute file path to save the screenshot (e.g. '/tmp/screenshot.png')"),
183
+ region: z.enum(["fullscreen", "window", "selection"]).optional().default("fullscreen").describe("Capture region: fullscreen (default), window, or selection"),
184
+ },
185
+ annotations: {
186
+ readOnlyHint: false,
187
+ destructiveHint: false,
188
+ idempotentHint: false,
189
+ openWorldHint: false,
190
+ },
191
+ }, async ({ path, region }) => {
192
+ try {
193
+ return ok(await runJxa(captureScreenshotScript(path, region)));
194
+ }
195
+ catch (e) {
196
+ return err(`Failed to capture screenshot: ${e instanceof Error ? e.message : String(e)}`);
197
+ }
198
+ });
178
199
  }
179
200
  //# sourceMappingURL=tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/system/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/system/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@heznpc/imcp",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "MCP server for the entire Apple ecosystem — Notes, Reminders, Calendar, Contacts, Mail, Music, Finder, Safari, Photos, Shortcuts, System, and Apple Intelligence. Connect any AI to your Mac.",
5
5
  "keywords": [
6
6
  "mcp",