Osa Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Osa Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Give your AI access to every scriptable app on your Mac.
osa-mcp is an MCP server that automatically discovers all scriptable macOS apps (Mail, Calendar, Finder, Music, Notes, Safari, &c.) and serves their scripting dictionaries to your AI. No configuration, no hardcoded app list. Just connect and go.
claude mcp add my-mac -- npx -y osa-mcpclaude mcp add my-mac -- bunx osa-mcpbrew install MayCXC/osa-mcp/osa-mcp
claude mcp add my-mac -- osa-mcpIf your AI runs on a different machine, connect to your Mac over SSH. Enable Remote Login in System Settings > General > Sharing first.
claude mcp add my-mac -- npx -y osa-mcp --ssh [email protected]All of the above can also be added to your MCP settings file directly:
{
"mcpServers": {
"my-mac": {
"type": "stdio",
"command": "npx",
"args": ["-y", "osa-mcp"]
}
}
}For SSH, add "--ssh", "[email protected]" to the args.
osa-mcp serves every scriptable app on your Mac through two tools:
apps, where each app has the commands, classes, record types, value types and enumerations its dictionary defines.Your AI reads only what its code selects, so osa-mcp stays light in its context however many apps you have. On a Mac with 33 scriptable apps, the two tools take 21 tokens when the client loads tool definitions on demand, as Claude Code does, and about 2,100 when it loads them all up front.
A search for the Mail commands whose descriptions mention a mailbox:
async () => apps.find(a => a.name === 'Mail').commands
.filter(c => c.description.toLowerCase().includes('mailbox'))
.map(c => c.name)A JXA script for the names of the disks Finder sees:
Application("Finder").disks.name()git clone https://github.com/MayCXC/osa-mcp.git
cd osa-mcp
bun install
claude mcp add my-mac -- bun "$PWD/src/mcp.ts"Requires Bun.
BSD 3-Clause. See LICENSE.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.