Mac Shortcuts — read your Mac from any agent

io.github.Dominic-DK由 GitHub 帳號 Dominic-DK 發布v0.1.2更新於 Oct 24, 2026

Read your Mac's Calendar, Reminders, Notes, Contacts and more via Shortcuts. Read-only, local.

已驗證STDIO僅桌面效率與工作流檔案與儲存

概覽

AI 產生的概覽

一個本機 macOS MCP 伺服器,讓助理透過 Apple 捷徑讀取行事曆、提醒事項、備忘錄、聯絡人、剪貼簿、位置、天氣等資訊。

可以做什麼
讀取 Apple 應用程式中的個人資料:行事曆事件、提醒事項、含內文的備忘錄、聯絡人、剪貼簿、位置、天氣、裝置名稱與電量,以及目前播放的曲目,皆透過內建的唯讀捷徑配方完成。列出本機所有已安裝的捷徑,並依名稱執行其中一個。檢索內建的 539 個捷徑動作目錄,查看參數鍵、型別與所需權限。透過 setup 與 status 工具安裝並檢查內建讀取配方。
適用情境
適合希望 Mac 上的 AI 助理回答關於自己的行事曆、提醒事項、備忘錄、聯絡人或剪貼簿的問題,且不想使用帳號或雲端服務時。也適合在製作或偵錯 Apple 捷徑、需要正確動作參數鍵時使用。
執行需求
僅限 macOS,以本機程序執行,透過 npx 從 npm 套件 mac-shortcuts-mcp 啟動。需執行一次 setup 指令安裝內建捷徑配方,並在捷徑應用程式中為每個配方點一次「加入捷徑」。首次使用時 macOS 會跳出聯絡人與行事曆權限提示。Mac 必須處於喚醒狀態,螢幕鎖定無妨。
安裝前請注意
內建配方為唯讀,但執行捷徑的工具可執行任何已安裝的捷徑,包括寫入資料或傳送訊息的捷徑,且並非強制隔離環境。從 Mac 讀取的資料會傳給所連接的助理。可選的 --auto 安裝參數會使用輔助使用 API,預設關閉。Mac 休眠時無法運作。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Mac Shortcuts — read your Mac from any agent,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

mac-shortcuts-mcp

Let any AI agent read your Mac. Calendar, Reminders, Notes, Contacts, Clipboard, Location, Weather, now playing — through Apple Shortcuts. Read-only, local, no account, no server.

Works with Claude Code, Claude Desktop, Cursor, Codex, or any MCP client.

bash
npx -y mac-shortcuts-mcp setup      # install the read recipes (once)
json
{  "mcpServers": {    "mac": { "command": "npx", "args": ["-y", "mac-shortcuts-mcp"] }  }}

Then ask your agent: "What's on my calendar this week?" · "Find the note about the lease." · "What's Jane's number?"

Why this exists

Your agent cannot read Apple's first-party apps. It has no permission to, and there is no API. Shortcuts can. This server hands the job to Shortcuts.app, which does have those permissions, and gives you back the text.

That is the whole trick. Nothing here is clever — it is just wired up.

What it can do

ToolReads
mac_calendarEvents in the next N days
mac_remindersReminders, optionally one list
mac_notesNotes matching a search, with body text
mac_contactsContacts by name
mac_clipboardCurrent clipboard
mac_locationAddress and coordinates
mac_weatherWeather where this Mac is
mac_deviceMachine name and battery
mac_now_playingCurrently playing track
mac_shortcuts_listEvery shortcut on this Mac
mac_run_shortcutRun a shortcut you made, by name
mac_action_catalogSearch the Shortcuts action catalog — see below
mac_setup / mac_statusInstall the read recipes, check what's ready

The bundled recipes are read-only. mac_run_shortcut can run any installed Shortcut, including one that writes data or sends messages. Its description asks the agent to check with you when the behavior is unknown; this is not an enforced read-only sandbox.

Everything read from your Mac comes back tagged as data, not instructions, so a note that says "ignore your previous instructions" is handed to the agent as text rather than as a command.

The action catalog

action-catalog.json in this package documents 539 Shortcuts actions — for each one, the parameter keys it accepts, their types, labels, output type and required permissions.

Apple does not publish this. It was extracted from the live WFActionRegistry on macOS 27.

It matters because a wrong parameter key does not raise an error — it is silently ignored, and your shortcut returns a confident wrong answer. We measured exactly that: a composed shortcut with a plausible-but-wrong key returned 0 instead of 3, with no warning.

Use mac_action_catalog to look up a key, or just read the JSON. MIT, take it.

is.workflow.actions.addnewevent  — 새로운 이벤트  [harvested]  출력: EKEvent  권한: calendar, contacts, needs-interaction  · WFCalendarItemTitle (text) — 제목  · WFCalendarItemStartDate (date) — 시작일  …

Coverage: 497 harvested from the registry, 9 inferred from cached definition strings, 33 not present on macOS (iOS-only actions, plus a few strings that are not actions at all — including one Apple typo).

Setup, honestly

mac-shortcuts-mcp setup signs the bundled recipes on your Mac and opens each in the Shortcuts app. You click Add Shortcut once per recipe.

The package ships readable XML plists, not signed binaries. Open recipes/*.plist and see exactly what you are installing. An open-source tool that asks you to install opaque blobs is not really open.

Pass --auto and it will click Add Shortcut for you using the Accessibility API. That needs Accessibility permission, so it is off by default — a tool should not quietly ask for that.

The first time a recipe touches Contacts or Calendar, macOS asks for permission. That prompt belongs to Shortcuts, not to this server.

Limits

This does nothing while your Mac is asleep. Processes are stopped; there is nothing to talk to. Screen lock is fine — we measured 62 of 63 calls succeeding with the screen locked, at the same speed as unlocked. Sleep is the real wall.

The bundled recipes read data; arbitrary installed Shortcuts may have side effects. macOS only. Results go to the agent you connected.

When you need a device that is never asleep

A Mac in a bag cannot answer. A phone in your pocket can.

Askew does the same thing for a locked iPhone — your agent runs a Shortcut on the phone and gets the result back in about three seconds, screen off, phone in your pocket. That one is not free, and it is a different problem: it needs a push relay, end-to-end encryption and an app. This tool is the part that does not.

License

MIT. Issues and pull requests welcome.


한국어

에이전트가 내 맥을 읽게 해 줍니다. 일정·미리 알림·메모·연락처·클립보드·위치·날씨를 애플 단축어로 읽습니다. 읽기 전용, 로컬, 계정 없음, 서버 없음.

bash
npx -y mac-shortcuts-mcp setup      # 읽기 레시피 설치 (처음 한 번)

에이전트가 퍼스트파티 앱을 못 읽는 건 권한이 없어서고 API도 없기 때문입니다. 단축어는 읽을 수 있습니다. 이 서버는 일을 Shortcuts.app에 넘기고 결과 텍스트만 받아 옵니다.

기본 레시피는 읽기 전용입니다. 다만 mac_run_shortcut은 쓰기·메시지 발송을 포함한 설치된 단축어도 실행할 수 있습니다. 동작을 모르면 사용자에게 먼저 묻도록 안내하지만, 읽기 전용을 강제하는 격리 환경은 아닙니다. 맥에서 읽어 온 내용은 전부 지시가 아니라 자료라는 꼬리표를 달고 갑니다.

동작 카탈로그 539종을 같이 공개합니다. 동작마다 어떤 매개변수 키를 받는지, 애플이 문서로 내지 않는 값입니다. 키가 틀리면 오류 없이 조용히 무시되고 틀린 답이 옵니다 — 실제로 그렇게 재 봤습니다. 실행은 누구나 할 수 있지만 만드는 건 이 표가 있어야 합니다.

한계: 맥이 자면 아무것도 못 합니다. 화면 잠금은 괜찮습니다(잠근 채로 63회 중 62회 성공, 속도도 같음). 자는 게 벽입니다.

자지 않는 기기가 필요하면 그건 폰입니다. Askew가 잠긴 아이폰에 같은 일을 합니다. 화면을 켜지 않고 3초쯤에 결과가 돌아옵니다. 그건 무료가 아니고 다른 문제입니다 — 푸시 릴레이와 종단 암호화와 앱이 필요합니다. 이 도구는 그게 필요 없는 부분입니다.

來源:README.md,提交 fd25623

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

2
  1. v0.1.2最新Sep 21, 2026
  2. v0.1.1Sep 19, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分