内容
# Orbit MCP

Orbit MCP 是一款 macOS 菜单栏应用程序,通过本地 Streamable HTTP 服务器向兼容 MCP 的客户端公开本地 Apple 提醒事项、 日历、 记事本和日期/时间实用程序。
服务器绑定到 `127.0.0.1`,适用于克劳德桌面、光标、克莱恩、LM 工作室、Codex 或任何其他支持 HTTP MCP 服务器的本地客户端。
下载当前的 macOS 二进制文件: [Orbit MCP v1.0.zip](https://raw.githubusercontent.com/rusudinu/orbit-mcp/main/binaries/Orbit%20MCP%20v1.0.zip)


## 目录
- [功能](#features)
- [要求](#requirements)
- [安装](#installation)
- [从源代码构建](#build-from-source)
- [用法](#usage)
- [权限](#permissions)
- [安全模型](#security-model)
- [开发](#development)
- [贡献](#contributing)
## 功能
- **Apple 提醒事项**:列出提醒列表,搜索提醒,创建提醒,更新提醒,完成提醒和删除提醒。
- **Apple 日历**:列出日历,搜索事件,创建事件,更新事件和删除事件。
- **Apple 记事本**:列出帐户和文件夹,搜索笔记,读取笔记,创建笔记,更新笔记和删除笔记。
- **日期和时间实用程序**:获取当前时间,转换时区,添加持续时间,计算差异和格式化日期。
- **本地控制**:启用或禁用工具组从菜单栏,无需重启服务器。
- **Bearer-token 保护**:需要 `Authorization: Bearer <token>` 在 `/mcp` 请求中默认。
- **破坏性操作切换**:隐藏和拒绝更新/删除工具,当破坏性操作被禁用。
## 要求
- macOS
- Xcode,如果从源代码构建
- EventKit 支持的工具的日历和提醒权限
- Notes 工具的 Apple Events 自动化权限
## 安装
从上面的链接下载并解压 macOS 二进制文件,然后启动 Orbit MCP。应用程序从菜单栏运行,并显示本地 MCP 端点和客户端配置。
如果 macOS 在第一次启动时阻止应用程序,请从 Finder 中使用 Control-click 打开它,选择 **打开**,并确认您要运行它。
## 从源代码构建
在 Xcode 中打开 `Orbit MCP.xcodeproj` 并运行 `Orbit MCP` 方案,或从命令行构建:
```sh
xcodebuild build -project "Orbit MCP.xcodeproj" -scheme "Orbit MCP" -destination "platform=macOS"
```
已检查的 Xcode 项目使用 `AAAAAAAA` 作为占位符 Apple 开发团队 ID。在分发签名构建之前,请在 Xcode 的 Signing & Capabilities 设置中将其替换为自己的团队 ID,或通过构建环境传递签名设置。
## 用法
1. 启动 Orbit MCP。
2. 在菜单栏弹出窗口中确认服务器正在运行。
3. 启用您要公开的工具组:提醒事项、日历、记事本和日期/时间。
4. 授予 macOS 权限时出现提示。
5. 从菜单栏 UI 复制生成的客户端配置。
6. 将其粘贴到您的 MCP 客户端配置中。
启用 bearer-token 保护后,复制的配置如下所示:
```json
{
"mcpServers": {
"orbit": {
"url": "http://127.0.0.1:<port>/mcp",
"headers": {
"Authorization": "Bearer <generated-token>"
}
}
}
}
```
bearer 令牌在第一次启动时生成并存储在本地。您可以从菜单栏中旋转它。您也可以关闭客户端无法发送自定义标头的令牌要求,但这样允许 Mac 上的其他本地进程调用相同的工具(如果它知道端口)。
Orbit MCP 记得上次绑定的端口,以便现有的 MCP 客户端配置在可能的情况下在启动之间继续运行。如果该端口不可用,应用程序会回退到另一个本地端口,并在菜单栏中显示更新后的端点。
## 权限
Orbit MCP 在其运行的 Mac 上操作本地个人数据。它不需要托管后端。
- 提醒事项访问通过 EventKit 处理。
- 日历访问通过 EventKit 处理。
- 记事本访问使用 macOS 自动化来控制 Apple Notes。
仅启用您要公开给 MCP 客户端的服务。如果您在菜单栏中禁用工具组,Orbit MCP 将停止宣传和接受该组的工具。
## 安全模型
Orbit MCP 设计仅用于本地使用。 除非您了解给予另一个进程访问 Mac 上个人数据所带来的风险,否则请勿将 HTTP 端点公开给网络接口、反向代理、隧道、共享帐户或远程自动化设置。
默认情况下,服务器需要 `Authorization: Bearer <token>` 在每个 `/mcp` 请求上。令牌在启动时生成,包含在复制的客户端配置中,可以从菜单栏中旋转。
服务器还拒绝来自 loopback 源外部的浏览器跨源请求,并限制请求大小以减少本地滥用风险。
参见 [SECURITY.md](SECURITY.md) 了解漏洞报告和安全期望。
## 开发
运行测试:
```sh
xcodebuild test -project "Orbit MCP.xcodeproj" -scheme "Orbit MCP" -destination "platform=macOS"
```
UI 测试目标目前是轻量级启动测试。
## 贡献
参见 [CONTRIBUTING.md](CONTRIBUTING.md) 了解开发设置、拉取请求期望和安全敏感的更改指南。