使用说明
麦基特
来自命令行的本机macOS数据。使用带有结构化JSON输出的Apple原生框架(EventKit、contacts、ScriptingBridge)读写日历、提醒、联系人、邮件等。包括用于AI代理集成的MCP服务器。
没有啊。只是快速,原生Swift。
安装
发布:
tmp=$(mktemp -d) && curl -fsSL https://github.com/feedthejim/macos-kit/releases/latest/download/mackit-macos-universal.tar.gz | tar xz -C "$tmp" && "$tmp/install.sh"
来源:
git clone https://github.com/feedthejim/macos-kit.git && cd macos-kit && scripts/install-mackit.sh
安装人员放置 MacKit.app 在 ~/Applications 和 mackit 在
~/.local/bin。权限敏感命令会自动启动应用程序。
用法
日历
# Today's remaining events
mackit cal
# Tomorrow / this week
mackit cal tomorrow
mackit cal week
# Next event + meeting URL
mackit cal next
open $(mackit cal next --url)
# Free time slots
mackit cal free --date tomorrow --duration 30m
mackit cal free --work-start 8am --work-end 6pm --buffer 15m -c Work
# Filter by calendar and date range
mackit cal -c Work --from monday --to friday
# Create event
mackit cal create "Coffee with Sarah" --date tomorrow --from 3pm --to 3:30pm
mackit cal create "Design Review" --date friday --from 2pm --to 3pm -c Work --location "Room 4"
# Reschedule
mackit cal move <event-id> --date friday --from 3pm
# Update / delete
mackit cal update <event-id> --notes "Bring laptop"
mackit cal update <event-id> --clear-location
mackit cal update <event-id> --timed --from 9am --to 10am
mackit cal delete <event-id> --yes
mackit cal delete <event-id> --scope future --yes
# JSON with field selection
mackit cal --json title,startDate,meetingURL
提醒事项
# List (incomplete by default)
mackit rem
mackit rem -l Shopping
mackit rem overdue
# Add
mackit rem add "Buy milk" --list Shopping
mackit rem add "Review PR" --list Work --due tomorrow --priority high
# Complete (fuzzy title match)
mackit rem done "milk"
# Move between lists
mackit rem move "Buy eggs" --to Groceries
# Delete
mackit rem delete <id> --yes
联系人
mackit contacts search "John"
mackit contacts search "John" --email # Just emails, one per line
mackit contacts search "John" --phone # Just phones
mackit contacts birthdays --days 7
邮件
# List recent messages (default: INBOX)
mackit mail
mackit mail list --unread
mackit mail list -m "Sent Mail" -a Gmail -n 5
# Read a message
mackit mail read <id> -m INBOX -a iCloud
# Search
mackit mail search "invoice"
mackit mail search "meeting" -a Gmail -n 10
mackit mail search "invoice" --sender stripe --from monday --to today
# Pagination and thread grouping
mackit mail list -n 25 --offset 25
mackit mail list --group-threads
# Attachment metadata without downloading files
mackit mail list -n 5 --json id,subject,attachmentCount,attachments
# Mailboxes and accounts
mackit mail mailboxes
mackit mail mailboxes -a iCloud
mackit mail accounts
# Send
mackit mail send --to bob@test.com --subject "Hello" --body "Hi Bob"
mackit mail send --to a@test.com --cc b@test.com --subject "FYI" --body "See this"
# Mark read/unread
mackit mail mark-read <id> -a iCloud
mackit mail mark-unread <id> -a iCloud
# Move / delete
mackit mail move <id> --to Archive -a iCloud
mackit mail delete <id> -a iCloud --yes
# JSON with field selection
mackit mail list --json id,subject,sender,isRead
列表/搜索JSON输出包括分页元数据。已选择字段 --json
输出仍然是shell管道的数组。部分帐户失败是
报告为警告,同时保留成功的帐户结果。
专注/请勿打扰
mackit focus
mackit focus --quiet && echo "DND is on" # Exit code for scripting
诊断
mackit doctor
MACKIT_TIMEOUT=90 mackit mail search "large query"
托管命令默认为45秒的截止日期。 MACKIT_TIMEOUT 接受5至
300秒。主机限制并发性和输出,取消断开连接的客户端,
并在中记录仅元数据诊断
~/Library/Application Support/MacKit/host.jsonl.
通知
mackit notify "Build Complete" "All tests passed"
mackit notify "Deploy" "v2.1.0" --subtitle "us-east-1" --sound default
MCP 服务器
mackit包括一个内置的MCP服务器,用于AI代理集成(Claude Code、Claude Desktop等)。
设置
Claude 代码 (项目 .mcp.json):
{
"mcpServers": {
"mackit": {
"command": "mackit",
"args": ["mcp"]
}
}
}
Claude 桌面版 (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"mackit": {
"command": "/Users/YOUR_USERNAME/.local/bin/mackit",
"args": ["mcp"]
}
}
}
可用的MCP工具
| 工具 | 说明 |
|---|---|
calendar_list |
按日期范围、日历筛选器列出事件 |
calendar_next |
带有会议URL的下一个即将举行的活动 |
calendar_free |
用于日程安排的空闲时间段 |
calendar_calendars |
列出所有日历 |
calendar_create |
创建日历事件 |
calendar_delete |
删除事件 |
calendar_update |
更新事件字段 |
calendar_move |
重新安排活动 |
reminders_list |
按列表、状态、到期日期列出提醒 |
reminders_overdue |
所有逾期提醒 |
reminders_lists |
列出所有带有计数的提醒列表 |
reminders_add |
创建提醒 |
reminders_complete |
按标题匹配或ID填写 |
reminders_delete |
删除提醒 |
reminders_move |
移动到另一个列表 |
contacts_search |
按姓名、电子邮件、电话搜索 |
contacts_birthdays |
即将到来的生日 |
mail_list |
使用过滤器列出邮件,紧凑视图 |
mail_search |
按关键字搜索邮件 |
mail_read |
阅读完整消息内容 |
mail_mailboxes |
列出具有未读计数的邮箱 |
mail_accounts |
列出邮件帐户 |
mail_send |
发送电子邮件 |
mail_mark_read |
将邮件标记为已读 |
mail_mark_unread |
将邮件标记为未读 |
mail_move |
将邮件移动到另一个邮箱 |
mail_delete |
删除消息 |
focus_status |
检查聚焦/DND模式 |
notify_send |
发送macOS通知 |
输出格式
自动检测:终端中的文本,管道传输时的JSON。覆盖 --format json|text|table.
JSON字段选择 (比如 gh --json):
mackit cal --json title,startDate,meetingURL
mackit contacts search "John" --json givenName,emailAddresses
权限
MacKit.app 拥有稳定的macOS权限标识。CLI和MCP服务器
通过仅限用户的本地套接字连接到它,因此访问不依赖于哪个
终端或代理启动 mackit.
| 命令 | 权限 |
|---|---|
cal |
日历 |
rem |
提醒事项 |
contacts |
联系人 |
notify |
通知 |
mail |
自动化(Mail.app) |
focus |
没有 |
mcp |
全部(按需) |
建筑学
mackit CLI / MCP client
│
│ private Unix socket
▼
MacKit.app
│
▼
Calendar, Reminders, Contacts, Mail, Notifications
插座处于模式 600 主机验证客户端是否具有相同的用户
身份证件。 MacKitCore 仍然基于协议,并且可以使用模拟进行独立测试。
需求
- macOS 13(Ventura)或更高版本
- Swift 6.0+
许可证
麻省理工学院
