
Intents Mcp
io.github.VladUZH由 GitHub 账号 VladUZH 发布v0.1.6更新于 Oct 24, 2026
Your Mac's App Intents (Reminders, Calendar, Notes…) as MCP tools via Shortcuts. Public APIs only.
概览
仅限 macOS 的 MCP 服务器,通过“快捷指令”把提醒事项、日历、备忘录等应用的 App Intents 操作暴露为工具。
- 可以做什么
- 发现并列出本机声明的 App Intents 操作,可按应用或层级筛选,并启用或停用允许智能体使用的操作,名称可疑的操作需额外参数才可启用。创建提醒事项和日历事件,并读回结果确认条目确实已创建。创建备忘录,以及运行“写作工具”的摘要、校对等操作,但不读回结果。从命令行直接运行已启用的工具,并查看智能体调用情况的本地日志。
- 适用场景
- 当你在 Mac 上使用 Claude Code、Codex 或其他 MCP 客户端,希望助手在任务过程中操作本地应用(例如添加提醒事项或日历事件)时使用。如果 Siri 已能满足需求,或需要操作已有的备忘录、提醒事项或列表,则不适合。
- 运行要求
- macOS 26 或更高版本(已在 27.0 测试),并带有 shortcuts 命令。可通过 Homebrew 安装(Apple 芯片有预编译版本;Intel Mac 需从源码构建并需要 Xcode),或从克隆仓库用 Swift 构建。每个工具需在“快捷指令”中点击一次“添加快捷指令”,支持读回的工具还需再添加一个辅助快捷指令。Mac 必须处于唤醒状态。
安装
在 SourceWeft 中
- 打开 控制台中的 Intents Mcp,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
intents-mcp
Your Mac already ships over a thousand app actions. intents-mcp hands the ones you pick to Claude Code, Codex or any MCP client, through Shortcuts, using public APIs only.
https://github.com/user-attachments/assets/3db14186-e1c6-4724-80da-f9aced0f1fb5
Real output from the author's Mac (macOS 27.0, 2026-09-26). Run intents-mcp census to get yours.
Apps describe their actions for Siri and Shortcuts in App Intents metadata. intents-mcp reads that metadata, lets you choose which actions an agent may use, wraps each one in a small signed Shortcut, and serves them as MCP tools over stdio. When the agent calls a tool, the Shortcut runs the app's action, and intents-mcp reads the result back where it can:
What works today
Tools checked on real runs (macOS 27.0, Claude Code 2.1 and Codex 0.157):
Any action in the simple tier (runs in the background, plain text/number/date/choice inputs, returns output) can be enabled from its metadata. Those tools are marked not yet checked on a real run. In testing, 2 of 3 worked first time. The third (Notes "Create Folder") never finished and was disabled, so check a new tool before relying on it.
Install
Intel Macs build from source, which needs Xcode.
No Homebrew yet? Its installer asks for your password, then waits for
RETURN, and can stay quiet for a few minutes while it downloads. That's normal. If you
already have Homebrew, run brew update first.
On macOS 27 this needs a current Homebrew (7.0 or later); older versions build from source
and ask for Xcode 27. Or from a clone: swift build -c release and use
.build/release/intents-mcp.
Needs macOS 26 or later (tested on 27.0) and the shortcuts command, which ships with macOS.
Set up (about a minute per tool)
The manual steps, honestly:
enableopens each wrapper in Shortcuts. Click Add Shortcut once. Shortcuts has no public way to add a shortcut without that click.- The first time a tool runs, Shortcuts may ask for permission. Choose Always Allow. In testing, it asked every time data went into another app (Notes, CotEditor, MacWhisper), and mostly didn't for Reminders and Calendar. It can ask again after you upgrade a wrapper, because an upgraded wrapper is a new shortcut.
Tools that read their result back need a second Add Shortcut click: Reminders and Calendar each add one small read-back helper ("intents-mcp verify.reminders" and "intents-mcp verify.calendar"), shared by all tools of that app. Skip it and those tools still run, but report "not verified".
Claude Code picks up enabled or disabled tools in a running session; other clients (e.g. Codex) may need a restart.
Privacy and safety
- Runs on your Mac. Public APIs only. It reads app metadata files, builds shortcuts,
and runs them with Apple's
shortcutscommand. No private frameworks, no SIP or AMFI changes, no Accessibility clicking. - Signing involves Apple.
shortcuts signuses your iCloud account, and Apple receives a copy of each wrapper for validation (Apple's Shortcuts guide says so). A signed wrapper also carries your Apple Account's signing identity (an account identifier and hashed email address and phone number), so intents-mcp deletes the signed file as soon as it sees the shortcut in your library (afterenable, or on the nextenable,doctor,serveor call of that tool). Don't share signed.shortcutfiles. Added shortcuts live in your Shortcuts library, which syncs through iCloud. - You choose every tool. Nothing is exposed until you
enableit. Actions whose names or descriptions suggest deleting, sending, buying or sharing are flagged and need--allow-risky(a broad word list, so some harmless ones are flagged too). Agents see them markeddestructiveHint. - No telemetry, no network of its own. The MCP server talks only to the client that started it, over stdio.
- Every call is logged locally (
intents-mcp log): tool, time, duration, success, and whether it was verified, written when the call starts and when it ends, so an interrupted call still shows up. Arguments and results are not logged. - Results are read back where a read action exists: the helper finds the item with the
title just used and checks that it was created during the call. (If the app running your
agent already has full Reminders or Calendar access, this is done with EventKit instead;
see PRIVACY.md.) An older item with the
same title, or a different item, reports
verified: false, never a false success. - Unclear outcomes are said. If a run times out or ends without a result, the tool
says the action may still have happened (
outcomeUnknown), so agents check before retrying. A call that never started (cancelled or out of time while queued) says so.
Commands
In a terminal, the text output of census, list, doctor, tools, log, enable and
disable appears one line at a time: about 40 ms apart, adding at most 2 s to a command. Output
over 300 lines (such as a full list), pipes, files and --json print at once.
INTENTS_MCP_LINE_DELAY_MS sets the gap in milliseconds: 0 turns it off, and a larger value
such as 120 is slower, for a screen recording (it may then add up to 10 s to a command).
In a terminal, output also uses a few colors (green for what works, yellow for what needs you,
red for failures). Set NO_COLOR=1 to turn them off; pipes, files and --json never get them.
Limits
- Entity actions aren't supported yet, meaning actions that act on an existing note, reminder or list. On the author's Mac that's 657 of the 945 discoverable actions. A Shortcuts "Find" step that should pick one note once matched the wrong one in testing, so these stay off until they can be matched safely.
- Declared is not the same as usable. Some declared actions are refused by Shortcuts on the Mac, and some ignore their declared parameter names. Reminders and Calendar work through Shortcuts' built-in actions instead.
- The CLI can't delete shortcuts. After
disable, delete the wrapper in the Shortcuts app yourself. - The Mac must be awake. Shortcuts doesn't run while it's asleep. Another project reports runs working with the screen locked; that isn't tested here yet.
- Few third-party apps ship App Intents yet. On the author's Mac, 8 of 50 did.
Why not Siri?
If Siri does what you need, use it. intents-mcp is for the agent you already work in: Claude Code, Codex or any MCP client can act on your Mac in the middle of a task ("add a reminder to follow up on this PR"). You choose each action it gets, every call is logged on your Mac, and results are read back where possible. It works with whichever model and client you use.
How it works
- Index. It reads every
Metadata.appintents/extract.actionsdataunder/Applicationsand/System. No permission is needed. It maps each action to the app you know and sorts it into a tier. - Wrap. Each tool becomes one Shortcut: JSON input → Get Dictionary Value per
argument → the app's action → Get Text → Stop and Output. It is signed with
shortcuts sign --mode people-who-know-me. - Run.
shortcuts run <UUID> --input-path … --output-path …, with stdin from/dev/nulland a timeout. Arguments are checked first, because Shortcuts silently ignores keys it doesn't know. - Serve. A small MCP server over stdio:
initialize,tools/list,tools/call. It works with Claude Code and with current Codex.
License
MIT
来源:README.md,提交 0069d1b
工具
0版本历史
2- v0.1.6最新Sep 26, 2026
- v0.1.2Sep 26, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分