内容
# MCP-x-Mac Seed
**一款自我进化的MCP服务器,使AI代理能够控制任何macOS应用程序 — 包括没有API的应用程序。**
无需硬编码集成。无需每个应用程序的插件。代理自己发现功能,自己编写工具,并在应用程序更新时修复它们。
```
71个整合的每个应用程序工具,涵盖50多个macOS应用程序。自我修复。生产就绪。
```
[](https://swift.org)
[](https://apple.com/macos)
[](#)
[](LICENSE)
## 功能描述
给予AI代理这8个基本工具,它可以构建其他所有工具:
```
┌──────────────────────┐ stdio/JSON-RPC ┌───────────────────────────┐
│ AI 代理 │ ◄─────────────────────► │ MCP-x-Mac Seed 服务器 │
│ (OpenClaw, Claude, │ │ (Swift 6.3 二进制) │
│ Cursor, Copilot) │ └─────────────┬─────────────┘
└──────────────────────┘ │
┌──────────────────────────────────────────┼──────────────────────┐
│ │ │
┌───────▼────────┐ ┌───────────▼────────┐ ┌─────────▼──────────┐
│ SQLite + NL │ │ 三重威胁执行引擎 │ │ 屏幕上下文 │
│ 嵌入 │ │ │ │ │
└───────┬────────┘ └─────────┬──────────┘ └─────────────────────┘
│ │
┌───────────────┼───────────────┐ ┌────────────┼───────────────┐
│ │ │ │ │ │
┌───▼────┐ ┌──────▼──────┐ ┌────▼─────┐ ┌─▼──────────┐ ┌▼──────────┐ ┌─▼──────────────┐
│ 工具 │ │ 修复 │ │ 语义搜索 │ │ 应用程序意图 │ │ 苹果脚本│ │ 无障碍访问 │
│ 表 │ │ 历史 │ │ │ │ 资源管理器 │ │ SDEF 解析│ │ 扫描器 │
└────────┘ └─────────────┘ └──────────┘ └────────────┘ └────────────┘ └────────────────┘
```
### 递归元编译模式
1. **发现** — 代理扫描应用程序的功能(应用程序意图,SDEF,无障碍访问)
2. **优化** — 代理分析原始模式与应用程序自己的文档
3. **注册** — 清洁,类型化的工具存储在SQLite中,并带有版本控制
4. **执行** — 三重威胁:应用程序意图 → 苹果脚本 → 无障碍访问
5. **修复** — 失败触发修复循环;代理修复自己的工具
### 三重威胁执行
每个命令尝试三种策略,按顺序:
| 层级 | 策略 | 适用情况 |
|------|----------|-----------------|
| 1 | **应用程序意图** | 现代应用程序,支持Siri/快捷方式 |
| 2 | **苹果脚本(SDEF)** | 专业Mac应用程序,旧版软件 |
| 3 | **无障碍访问API** | Electron应用程序,Java应用程序,任何具有UI的应用程序 |
### 自我修复
当工具失败时,修复程序捕获错误上下文 — 包括应用程序的脚本字典 — 并生成一个结构化提示,教导代理如何修复它。断路器防止修复循环(最多3次尝试)。
## 快速入门
```bash
# 克隆并构建
git clone https://github.com/YOUR_USER/mcp-x-mac-seed.git
cd mcp-x-mac-seed
swift build
# 与您的MCP客户端注册(示例:OpenClaw)
openclaw mcp set mcp-x-mac-seed \
'{"command":"'$(pwd)'/.build/arm64-apple-macosx/debug/MCPxMacSeed","args":[]}'
openclaw gateway restart
# 也适用于Claude Desktop,Cursor,VS Code,任何MCP客户端
```
在第一次运行时,服务器会自动发现Mac上的所有应用程序:
```
[Bootstrap] 首次运行 — 扫描所有应用程序的功能...
[Bootstrap] 完成。388个工具自动发现。
```
## 8个种子工具
| # | 工具 | 描述 |
|---|------|-------------|
| 1 | `scan_for_intents` | 为任何应用程序发现应用程序意图 |
| 2 | `register_tool` | 将优化的工具模式保存到持久注册表中 |
| 3 | `list_registered_tools` | 查询工具(精确匹配或语义搜索) |
| 4 | `execute_intent` | 三重威胁执行,带有同意门控 |
| 5 | `fetch_scripting_dictionary` | 从任何应用程序中提取完整的苹果脚本字典 |
| 6 | `get_ui_tree` | 无障碍访问API备用 — 扫描任何应用程序的UI元素 |
| 7 | `request_human_approval` | 人在环中的同意,用于破坏性操作 |
| 8 | `capture_screen_context` | 活动窗口,应用程序,显示配置(给代理“眼睛”) |
## 安全
- **同意门控** — 破坏性操作(发送,删除,格式化)暂停以供人类批准
- **安全过滤器** — 在执行之前扫描苹果脚本以查找危险模式
- **审计跟踪** — 每个批准/拒绝都被记录
- **断路器** — 每个工具最多3次修复尝试
- **无网络暴露** — stdio传输,无开放端口
- **设备嵌入** — 语义搜索使用Apple的NLContextualEmbedding,零数据离开机器
## 要求
- macOS 15+(Sequoia或更高版本)
- Swift 6.3工具链(Xcode 16+)
- 对于无障碍扫描:在系统设置中授予无障碍权限
- 对于苹果脚本自动化:为目标应用程序授予自动化权限
## 架构
```
Sources/MCPxMacSeed/
├── main.swift # 入口点
├── MCPServer.swift # MCP服务器引导 + StdioTransport
├── Database/
│ ├── Registry.swift # SQLite支持的工具存储(GRDB.swift)
│ ├── Models.swift # ToolRecord,RepairEntry,ApprovalRecord
│ └── EmbeddingService.swift # NLContextualEmbedding语义搜索
├── AppIntents/
│ ├── IntentExplorer.swift # 应用程序意图发现(Info.plist,AssistantSchemas)
│ ├── SDEFExtractor.swift # 苹果脚本字典解析器(XML → 结构化)
│ ├── AccessibilityScanner.swift # AXUIElement UI树遍历
│ ├── ScreenContext.swift # CGWindowList活动窗口 + 显示捕获
│ ├── ApprovalGate.swift # HITL同意管道,带有超时
│ ├── ExecutionEngine.swift # 三重威胁执行(AppIntent→AS→AX)
│ ├── Repairman.swift # 自我修复循环,带有断路器
│ ├── SystemBootstrap.swift # 首次运行自动发现
│ └── TrustClassifier.swift # 基于模式的动作分类
└── Tools/
└── ToolRegistrations.swift # 所有8个MCP工具处理程序 + JSON模式构建器
```
## MCP客户端兼容性
与任何MCP兼容的客户端配合使用:
- **OpenClaw** — 原生stdio传输
- **Claude Desktop** — 添加到 `claude_desktop_config.json`
- **Cursor** — 添加到 `.cursor/mcp.json`
- **VS Code** — GitHub Copilot,Continue.dev,Cline
- **任何MCP客户端** — 标准JSON-RPC over stdio
## 许可证
MIT — 请参阅 [LICENSE](LICENSE) 以获取详细信息。
---
*使用递归元编译模式构建:代理编写自己的工具,修复自己,从不陷入僵局。*