apple-fm-mcp
Provides tools to interact with Apple's on-device Foundation Models for text generation, structured output, chat, content tagging, and session management.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@apple-fm-mcpExplain the concept of recursion with an example"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
apple-fm-mcp
MCP server for Apple on-device Foundation Models. Use Apple Intelligence from any MCP client — Claude Code, Cursor, Windsurf — running locally on your Mac for free.
Built on python-apple-fm-sdk and the Model Context Protocol.
Requirements
macOS 26+ (Tahoe) with Apple Intelligence enabled
Apple Silicon Mac (M1+)
Python 3.10+
apple-fm-sdk— Apple's Python SDK for on-device Foundation Models
Related MCP server: apple-fm-mcp
Installation
From source (recommended)
git clone https://github.com/yihan2099/apple-fm-mcp.git
cd apple-fm-mcp
uv syncYou also need the Apple Foundation Models SDK:
pip install git+https://github.com/apple/python-apple-fm-sdk.gitNote:
apple-fm-mcpis not yet published to PyPI.uv tool installandpip installfrom PyPI will be available in a future release.
Usage
Claude Code
claude mcp add apple-fm -- apple-fm-mcpCursor / Windsurf
Add to your MCP config (~/.cursor/mcp.json or equivalent):
{
"mcpServers": {
"apple-fm": {
"command": "apple-fm-mcp"
}
}
}MCP Inspector
npx @modelcontextprotocol/inspector apple-fm-mcpTools
Tool | Description |
| Check if the on-device model is available |
| One-shot text generation with optional instructions |
| JSON output matching a provided schema |
| Multi-turn conversation with named sessions |
| Content tagging using Apple's CONTENT_TAGGING use case |
| List active conversation sessions |
| Delete a named session |
| Delete all sessions |
Examples
Generate text:
"Use apple-fm to explain what a closure is in Swift"
Structured output:
"Use apple-fm generate_structured to extract {name, email, company} from this text: ..."
Multi-turn chat:
"Start an apple-fm chat session called 'code-review' and ask it to review this function" "In the 'code-review' session, ask it to suggest improvements"
Resources
URI | Description |
| Model availability + device info |
| Active sessions metadata |
| Conversation transcript for a session |
Prompt Templates
Prompt | Parameters | Description |
|
| Summarize text |
|
| Extract named fields as JSON |
|
| Single-label classification |
Limitations
macOS only — Apple Foundation Models require Apple Silicon and macOS 26+
No streaming — MCP tools return complete responses
In-memory sessions — conversation state is lost when the server restarts
On-device model limits — the model is optimized for short tasks (summarization, extraction, classification), not long-form generation
No image/audio — text-only; multimodal support may come in future SDK versions
SDK Documentation
This project wraps apple-fm-sdk. Key references:
Official SDK docs — getting started, guides, full API reference
Local API reference — curated extract of the classes and enums used by this MCP server
Development
git clone https://github.com/yihan2099/apple-fm-mcp.git
cd apple-fm-mcp
uv sync --dev
uv run pytestTests mock apple_fm_sdk so they run on any platform.
Linting
uv run ruff check src/ tests/
uv run ruff format src/ tests/Contributing
See CONTRIBUTING.md for guidelines.
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/yihan2099/apple-fm-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server