apple-fm-mcp

apple-fm-mcp

MCP server that enables local Apple on-device Foundation Model access via any MCP client, supporting text generation, structured output, and multi-turn chat on macOS.

Category
Visit Server

README

apple-fm-mcp

CI License: MIT Python 3.10+

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

Installation

From source (recommended)

git clone https://github.com/yihan2099/apple-fm-mcp.git
cd apple-fm-mcp
uv sync

You also need the Apple Foundation Models SDK:

pip install git+https://github.com/apple/python-apple-fm-sdk.git

Note: apple-fm-mcp is not yet published to PyPI. uv tool install and pip install from PyPI will be available in a future release.

Usage

Claude Code

claude mcp add apple-fm -- apple-fm-mcp

Cursor / 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-mcp

Tools

Tool Description
check_model_availability Check if the on-device model is available
generate One-shot text generation with optional instructions
generate_structured JSON output matching a provided schema
chat Multi-turn conversation with named sessions
tag_content Content tagging using Apple's CONTENT_TAGGING use case
list_sessions List active conversation sessions
clear_session Delete a named session
clear_all_sessions 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
apple-fm://status Model availability + device info
apple-fm://sessions Active sessions metadata
apple-fm://transcript/{name} Conversation transcript for a session

Prompt Templates

Prompt Parameters Description
summarize text, style (concise/detailed/bullet-points) Summarize text
extract_structured text, fields (comma-separated) Extract named fields as JSON
classify text, categories (comma-separated) 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:

Development

git clone https://github.com/yihan2099/apple-fm-mcp.git
cd apple-fm-mcp
uv sync --dev
uv run pytest

Tests 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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured