Borrowing it
Nothing to install: this file belongs to neverprepared/macos-ecosystem-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/neverprepared/macos-ecosystem-mcp/main/CLAUDE.mdgit clone --depth 1 https://github.com/neverprepared/macos-ecosystem-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/neverprepared/macos-ecosystem-mcp/claude-md)<a href="https://agentmods.dev/instructions/neverprepared/macos-ecosystem-mcp/claude-md"><img src="https://agentmods.dev/badge/instructions/neverprepared/macos-ecosystem-mcp/claude-md/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/neverprepared/macos-ecosystem-mcp/claude-md"><img src="https://agentmods.dev/badge/instructions/neverprepared/macos-ecosystem-mcp/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.01433 | $0.01433 |
| Opus 5.5 | $0.00573 | $0.00573 |
| Sonnet 5.5 | $0.00287 | $0.00287 |
| Haiku 4.5 | $0.00143 | $0.00143 |
Grade A, and why
macos-ecosystem-mcp CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 103 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CLAUDE.md
Guidance for Claude Code when working in this repository.
Overview
macos-ecosystem-mcp is a native Swift Model Context Protocol (MCP) server that
exposes macOS productivity apps — Reminders, Calendar, Contacts, Notes and iMessage — to
MCP clients over stdio. It compiles to a single self-contained binary (macos-mcp);
there is no Node.js runtime at run time.
- Package name:
macos-mcp(executable target of the same name) - Server identity:
macos-ecosystem-mcp, version0.7.0(hard-coded inApp.swift) - Platform: macOS 13+, Swift tools 5.9
- Sole dependency:
modelcontextprotocol/swift-sdk(from: 0.9.0) - Linked:
CoreLocation,Contactsframeworks +sqlite3
Architecture
All source lives in one flat target: Sources/macos-mcp/.
| File | Role |
|---|---|
App.swift |
@main entry point. Boots managers, requests permissions, registers ListTools/CallTool handlers, and contains the single switch tool dispatcher. Also defines log(). |
ToolDefinitions.swift |
let allTools: [Tool] — every tool's name, description and JSON input schema. |
EventKitManager.swift |
Reminders + Calendar via EventKit (no subprocess). |
ContactsManager.swift |
Contacts via the Contacts framework. |
NotesHandler.swift |
Notes via osascript (Notes.framework is private). Static methods, no instance. |
MessagesManager.swift |
iMessage: reads query ~/Library/Messages/chat.db (SQLite, read-only); sends go through osascript. |
Design notes worth knowing before editing:
- stdout is reserved for the MCP protocol. All diagnostics go to stderr via
log(). Neverprint()to stdout. - Every tool handler has the shape
func name(args: [String: Value]) async throws -> Stringand returns a plain-text string;dispatchinApp.swiftwraps it inCallTool.Resultand converts thrown errors intoisError: trueresults. - Permissions (
EventKit,Contacts) are requested once at startup, before any request is served. - iMessage sending is fail-closed: it is disabled until an allowlist is configured via
the
MACOS_MCP_IMESSAGE_ALLOWLISTenv var (comma-separated) and/or~/.config/macos-mcp/imessage-allowlist.json({"allow": [...]}). Phone numbers match on the last 10 digits. Attachments from~/.config/macos-mcpand~/Library/Messagesare refused. Readingchat.dband sending both require Full Disk Access.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 103 lines · 1,433 tokens per session scan A f2a523332468
macos-ecosystem-mcp CLAUDE.md is an instructions file published in the GitHub repository neverprepared/macos-ecosystem-mcp (1 stars, last pushed 1mo ago), licensed MIT. It adds 1,433 tokens to every session, about $0.0057 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-09.
macos-ecosystem-mcp CLAUDE.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| macos-ecosystem-mcp CLAUDE.mdneverprepared/macos-ecosystem-mcp | Instructions file | 1 | 1mo ago | MIT | A | 1,433 | Claude Code |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 9,719 | GitHub Copilot |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 5,516 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | yesterday | MIT | A | 7,461 | Codex, OpenCode |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | today | MIT | A | 4,680 | Codex, OpenCode |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 3,093 | GitHub Copilot |
| vscode model-prompts.instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 2,022 | GitHub Copilot |