苹果fm mcp
  
适用于Apple的MCP服务器,适用于Foundation型号的设备。从Mac上本地免费运行的任何MCP客户端(Claude Code、Cursor、Windsurf)使用Apple Intelligence。
需求
- 启用了Apple Intelligence的macOS 26+(Tahoe)
- 苹果硅Mac(M1+)
- Python 3.10+
apple-fm-sdk--Apple的Python SDK用于设备上的基础模型
安装
来源(推荐)
git clone https://github.com/yihan2099/apple-fm-mcp.git
cd apple-fm-mcp
uv sync您还需要Apple Foundation Models SDK:
pip install git+https://github.com/apple/python-apple-fm-sdk.git注:apple-fm-mcp尚未发布到PyPI。uv tool install和pip installPyPI将在未来的版本中提供。
用法
克劳德代码
claude mcp add apple-fm -- apple-fm-mcp光标/风帆
添加到MCP配置(~/.cursor/mcp.json 或同等):
{
"mcpServers": {
"apple-fm": {
"command": "apple-fm-mcp"
}
}
}MCP检查员
npx @modelcontextprotocol/inspector apple-fm-mcp工具
| 工具 | 说明 |
|---|---|
check_model_availability | 检查设备上的型号是否可用 |
generate | 带有可选指令的一次性文本生成 |
generate_structured | JSON输出与提供的模式匹配 |
chat | 具有命名会话的多回合对话 |
tag_content | 使用Apple的Content_TAGING用例进行内容标记 |
list_sessions | 列出活动对话会话 |
clear_session | 删除命名会话 |
clear_all_sessions | 删除所有会话 |
例子
生成文本:
“使用apple fm解释Swift中的闭包是什么”
结构化输出:
“使用apple fm generate_structured从以下文本中提取{姓名、电子邮件、公司}:…”
多回合聊天:
“启动一个名为“代码审查”的apple fm聊天会话,并要求它审查此功能” “在‘代码审查’环节中,请它提出改进建议”
资源
| URI | 描述 |
|---|---|
apple-fm://status | 型号可用性+设备信息 |
apple-fm://sessions | 活动会话元数据 |
apple-fm://transcript/{name} | 会话会话记录 |
提示模板
| 提示 | 参数 | 说明 |
|---|---|---|
summarize | text, style (简明/详细/要点) | 总结文本 |
extract_structured | text, fields (逗号分隔) | 将命名字段提取为JSON |
classify | text, categories (逗号分隔) | 单标签分类 |
局限性
- 仅限macOS --Apple Foundation型号需要Apple Silicon和macOS 26+
- 无流媒体 --MCP工具返回完整的响应
- 内存会话 --服务器重新启动时,对话状态丢失
- 设备型号限制 --该模型针对短任务(摘要、提取、分类)而不是长表单生成进行了优化
- 无图像/音频 --仅文本;多模式支持可能会出现在未来的SDK版本中
SDK文档
此项目已完成 apple-fm-sdk.主要参考文献:
发展
git clone https://github.com/yihan2099/apple-fm-mcp.git
cd apple-fm-mcp
uv sync --dev
uv run pytest模拟测试 apple_fm_sdk 所以它们可以在任何平台上运行。
代码检查
uv run ruff check src/ tests/
uv run ruff format src/ tests/贡献
看 贡献.md 作为指导方针。
许可证
麻省理工学院
