5P

54yyyu/pyapple-mcp

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

17 stars 7 forks 质量 79 趋势 29MIT

MCP服务器和用于七个macOS应用程序的CLI——信件,邮件,笔记,日历,提醒,联系人和地图. 原始框架,诚实的截断.

概览

Python为"模型背景协议"(MCP)实施苹果本地化工具,提供与macOS应用的无缝集成. 在同一集成上有两个前端:一个是Claude Desktop和其他MCP客户端的MCP服务器,另一个是pyapple,一个是从一个外壳上驱动同十个工具的命令行. 他们共享一个许可政策,所以你所允许的 在一个你已经允许两者。 它们全部列在下面 工具,以及他们拒绝做的事,都是在值得了解的限度下——在你们依赖其中任何一个之前读一下。 如果您是即将驱动 CLI 的代理, 而不是读取它的人, . claude/ swilling/pyapple/ SKILL. md 是此寄存器的操作指南 : 其中的操作指南是: 第一位的调用, 如何读取退出状态, 以及拒绝绕行相对于报告 。 -:找到对话,读取整个线程,搜索消息文本,列出线程发送的内容,并发送——文本或文件. 阅读通过聊天.

概述(AI 翻译)

Python为"模型背景协议"(MCP)实施苹果本地化工具,提供与macOS应用的无缝集成.

在同一集成上有两个前端: Claude 的 MCP 服务器 桌面和其他 MCP 客户端, 以及 pyapple, 一个用于驱动相同的命令行 10个工具从一壳。 他们共享一个许可政策,所以你允许进入 一个你允许的

** 10个工具的88个业务。 ** 它们全部列在下面 工具,以及他们拒绝做的事 值得了解的限度——在依赖任何 他们。

如果你是即将驾驶CLI的特工 而不是读到它的人 .claude/skills/pyapple/SKILL.md在这个寄存器中是操作指南: 首先,如何读取退出状态,以及哪些拒绝路由 环绕与报告。

□ 特性

  • ** 信息**:找到对话,读取整个线程,搜索信息文本, 列出发送的线索,并发送——文本或文件。 阅读经过 chat.db 直接被聊天 范围所覆盖,所以一个组合线条作为 集团而不是一个参与者的份额

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

PyApple MCP Tools

A Python implementation of Apple-native tools for the Model Context Protocol (MCP), providing seamless integration with macOS applications.

There are two front ends over the same integrations: an MCP server for Claude Desktop and other MCP clients, and pyapple, a command line for driving the same ten tools from a shell. They share one permission policy, so what you allow in one you have allowed in both.

88 operations across ten tools. They are listed in full under The tools, and what they refuse to do is under Limits worth knowing — read that before you rely on any of them.

If you are an agent about to drive the CLI rather than a person reading about it, .claude/skills/pyapple/SKILL.md in this repository is the operator guide: which call to make first, how to read the exit status, and which refusals to route around versus report.

Features

  • Messages: find conversations, read a thread whole, search message text, list what a thread was sent, and send — text or a file. Reads go through chat.db directly and are scoped by chat, so a group thread comes back as the group rather than as one participant’s share
  • Notes: search, list, read, create, append, rename and rewrite — with a gate that refuses any note whose content a round trip would destroy — plus filing a note into another folder, and folders themselves: list them, create one, rename one, delete one. create refuses a folder name that does not exist rather than making a folder out of a typo, and the listing is how you find out what does; folder-delete refuses a folder holding notes unless you pass their exact count, because what it deletes does not go to Recently Deleted
  • Contacts: search by name, go the other way from a number or address to a person, and add, correct or delete a card. Reads and writes both go through the Contacts framework; nothing launches Contacts.app
  • Mail: unread, header search, body search, read one message whole by id, a whole thread in order, what is attached and whether the bytes are here, coverage — what each account can actually answer about — send, reply, forward, the drafted form of each of those three, mark read, file, delete, and list mailboxes and accounts. Reads come from the local Envelope Index rather than through the app
  • Reminders: list, search, create, update, complete, uncomplete and delete, plus creating and deleting the lists themselves, through EventKit
在 GitHub 查看完整 README

安装

npx @modelcontextprotocol/inspector pyapple-mcp
新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "pyapple": { "command": "pyapple-mcp" } } }