Releases: cyanheads/macos-mcp-server
Release list
v0.1.5: mcp-ts-core 0.12.3, battery/display parsing fixes
mcp-ts-core 0.12.3, battery/display parsing fixes
- mcp-ts-core crosses the 0.12.0 SDK-v2 window: strict tool inputs (additionalProperties: false), 2020-12 JSON Schema, an outputSchema that declares the error envelope, protocol revision 2026-07-28, and resource subscriptions + the logging capability
- macos_get_info no longer mislabels a charged battery on AC as "on battery," and no longer reports a discharging battery as charging (#6)
- macos_manage_displays / macos://displays: current_config and origin/rotation parsing fixed against displayplacer's real output shape
- community-health docs, a bunfig.toml supply-chain install guard, dev tooling bumps (TypeScript, Vitest, Biome)
- deps:
@cyanheads/mcp-ts-core^0.10.6 → ^0.12.3
v0.1.4: mcp-ts-core 0.10.6 adoption and semantic error codes
mcp-ts-core 0.10.6 adoption and semantic error codes
Framework refresh with a corrected JSON-RPC error contract on the macOS tools and new release/bundle tooling.
Dependency bumps:
@cyanheads/mcp-ts-core^0.9.9 → ^0.10.6@biomejs/biome^2.4.15 → ^2.5.0@types/node^25.9.1 → ^25.9.3vitest^4.1.7 → ^4.1.8
Changed:
createApp()setsnameandtitleexplicitly to macos-mcp-serverformatsplit into safeformatandformat:unsafe
Fixed:
- not_running and finder_not_open now return NotFound; path_not_writable and the screencapture guards return ValidationError (were InvalidParams)
Added:
release:github+ scripts/release-github.ts, scripts/clean-mcpb.ts bundle cleaner, scripts/check-skill-versions.ts- .claude-plugin and .codex-plugin manifests; manifest.json repository/homepage/license
231 tests pass; bun run devcheck clean.
v0.1.3: scripts migrated to bun run, funding config, npm badge, tsx removed
scripts migrated to bun run, funding config, npm badge, tsx removed
Maintenance pass to align with ecosystem conventions.
Changed:
- Scripts migrated from
tsx scripts/*.tstobun run scripts/*.ts; start scripts usebun ./dist/index.js authorlinks tohttps://github.com/cyanheads/macos-mcp-server#readmefilesarray cleaned — removed non-existentAGENTS.md,Dockerfile,changelog/
Added:
.github/FUNDING.yml— GitHub Sponsors and Buy Me a Coffeefundingarray inpackage.json- npm badge in README
Removed:
tsxdevDependency
bun run devcheck clean.
v0.1.2: macOS 26.1 compatibility fixes
macOS 26.1 compatibility fixes
Three bugs surfaced on macOS 26.1 and one cross-tool error-message leak, all found in field testing.
Fixed:
- audio: SwitchAudioSource -f dict not supported in v1.2.2 — switched to -f json, parallelised current-device lookups
- windows minimize: win.minimized setter throws 'Can't convert types' (-1700) — replaced with AXMinimizeButton click
- screenshot target=window: ObjC.deepUnwrap broken on macOS 26.1 — replaced with per-key castRefToObject + objectForKey unwrap for CGWindowList entries
- error messages: raw CLI invocations leaked into error output on macos_manage_apps, macos_manage_finder, macos_manage_focus — mapped to typed McpError codes with recovery hints
231 tests pass; bun run devcheck clean.
v0.1.1: First functional release — macOS system controls via MCP
First functional release — macOS system controls via MCP
13 tools, 3 resources, and 5 services for controlling macOS system state, apps, windows, audio, displays, screenshots, notifications, and Focus mode.
Added:
- 13 tools: macos_get_info, macos_check_permissions, macos_manage_apps, macos_manage_windows, macos_control_volume, macos_control_audio, macos_control_appearance, macos_control_system, macos_take_screenshot, macos_manage_displays, macos_send_notification, macos_manage_focus, macos_manage_finder
- 3 resources: macos://system/info, macos://audio/devices, macos://displays
- 5 services: osascript, system-info, audio (SwitchAudioSource), display (displayplacer), screencapture
- macos_manage_windows: resilient minimized property, display_index via NSScreen for multi-monitor
bun run devcheck clean.