About Mr.Apple
Mr.Apple is an MCP server published by Hamid-K in the Developer Tools category: an AI agent and chatbot wrapper for python-apple-fm-sdk.
The repository has 2 stars and 0 forks, with the last commit 8 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/Hamid-K/Mr.AppleThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Mr.Apple
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
Mr.Apple
Mr.Apple is a standalone terminal assistant built on top of Apple's python-apple-fm-sdk.
It supports:
- Interactive chat with the local Apple model
chatmode andagentmode- Automatic tool calls (shell + filesystem)
- Manual shell execution (
!<command>) - Parallel sub-agents (
spawn_subagents) - Standard MCP tool integration (
tools/list,tools/callover stdio) - Named sessions you can save and resume
- Textual TUI + plain CLI
- CLI tab auto-complete for commands and key subcommands
Requirements
Mr.Apple depends on Apple Foundation Models through apple-fm-sdk:
- macOS 26.0+
- Xcode 26.0+ (and accepted Xcode/SDK agreement)
- Python 3.10+
- Apple Intelligence enabled on a compatible Mac
Optional but recommended:
rg(ripgrep) for fastersearch_files
Install
1) Install apple-fm-sdk first
If already installed and importable, skip this step.
git clone https://github.com/apple/python-apple-fm-sdk
cd python-apple-fm-sdk
uv venv
source .venv/bin/activate
uv sync
uv pip install -e .
2) Install Mr.Apple
git clone git@github.com:Hamid-K/Mr.Apple.git
cd Mr.Apple
uv pip install -e .
Usage
Launch TUI (default)
mr-apple --workspace /path/to/workspace
Launch plain CLI
mr-apple --ui cli --workspace /path/to/workspace
Start in agent mode
mr-apple --mode agent --workspace /path/to/workspace
Start with a named session
mr-apple --session my-task --workspace /path/to/workspace
If my-task exists in the session store, it is resumed automatically.
MCP Support (Standard Protocol)
Mr.Apple supports standard MCP stdio servers using a config file with top-level mcpServers.
For remote MCP over HTTP/SSE/Streamable HTTP, use a stdio bridge such as mcp-remote.
Example mcp_servers.json:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/you/work"
]
},
"git": {
"command": "uvx",
"args": ["mcp-server-git"]
},
"ghidra": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://localhost:8888/mcp"
],
"stdio_mode": "ndjson"
}
}
}
stdio_mode is optional:
content-length(default for regular stdio servers)ndjson(recommended formcp-remote)
Mr.Apple auto-detects mcp-remote and uses ndjson automatically when stdio_mode is omitted.
Run with MCP config:
mr-apple --workspace /path/to/workspace --mcp-config /path/to/mcp_servers.json
A template config is available at examples/mcp_servers.example.json.
If --mcp-config is omitted, Mr.Apple auto-loads:
<workspace>/.mr_apple/mcp_servers.json(if present)
Commands
/helpshow help/mode [chat|agent]switch runtime behavior/stream [on|off]toggle streamed generation mode/trace [on|off]show/hide tool-event logs/showcase "prompt"run prompt in chat mode then agent mode/toolslist model-callable tools/cwd [path]show or set working directory/save [path]save transcript JSON/resetstart a fresh model session/session listlist saved sessions/session name <name>set active session name/session save [name]save named session/session load <name>resume named session/mcp statusshow MCP server status/mcp serverslist configured MCP servers from config/mcp add <name> <command> [args...]add/update an MCP server in config and reload/mcp remove <name>remove MCP server from config and reload/mcp toolslist loaded MCP tools/mcp reloadreload MCP config and rebuild tool set/exitquit!<shell command>execute a shell command directly
Model Tools
Built-in model tools:
run_commandread_filewrite_filelist_filessearch_filesspawn_subagents
When MCP is enabled, additional model tools are exposed with names like:
mcp_<server>__<tool>
All built-in filesystem tools are restricted to the configured workspace root.
Session and Context
- Session context is preserved across prompts until
/reset. - Named sessions persist user/assistant history and user facts.
- Status bar tracks estimated context usage and marks overflow with
OVERFLOW. - On context overflow, Mr.Apple automatically compacts history and retries once.
- MCP tool payloads are size-limited before being returned to the model to reduce overflow risk.
- When many MCP tools are loaded, Mr.Apple automatically switches to compact MCP mode:
list_mcp_toolsfor discoverycall_mcp_toolfor invocation- This keeps context size low and avoids immediate overflow.
Notes
stream=offreturns a single final assistant response.trace=offhides progressive tool logs.- If context overflows, use
/resetor reduce prompt/tool output size.
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.