- Category
- AI Agents
- Rank
- No. 1789Tools index
Previous survey · No. 1730 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- obra
- GitHub
- 30 stars
- Date
About
An MCP server that exposes macOS automation capabilities to AI agents like Claude.
What it does
macMCP lets an AI inspect visible application interfaces, identify controls, and operate them through macOS accessibility features. It can click, type, scroll, capture screenshots, manage applications and windows, navigate menus, send keyboard input, and read or write clipboard content. Communication with compatible clients runs through standard input and output.
Why it's ranked here
The capability set is unusually broad and includes dedicated inspection utilities for understanding what the server sees. The package also defines mocked and real-application test targets. However, the project explicitly calls itself largely untested in production, warns that its documentation may be inaccurate, and grants an AI extensive control under the user’s identity.
What's good
The accessibility-first approach works across many ordinary Mac applications without requiring application-specific integrations. Inspectors expose interface hierarchies, element state, available actions, menus, and windows, which gives developers concrete data for debugging automation. Tests can exercise real applications such as Calculator and TextEdit, while separate mocked tests support narrower checks.
Tradeoffs
It requires macOS 13 or later, Swift 6.1 or later, a source build, and powerful accessibility permission. The repository supplies no license terms. Real interface tests must run serially, and accessibility behavior can depend on live application state. Most importantly, the maintainers describe production use as largely untested and warn that the server can act with the user’s full desktop authority.
How to use it well
Use macMCP for supervised Mac workflows where an MCP client must inspect and operate several desktop applications through their interfaces. Start with the supplied inspectors, narrow exploration by role or element path, and test against disposable applications or data before granting broader access. It does not serve non-macOS automation needs, and its stated maturity makes unattended production control a poor fit.
Technical notes+
MacMCP/Package.swift requires Swift tools 6.1 and macOS 13, producing MacMCP, ax-inspector, and mcp-ax-inspector executables with dependencies on the MCP Swift SDK, ArgumentParser, Logging, and a local SwiftLint build plugin. MacMCP/Sources/MacMCP/main.swift starts MCPServer over StdioTransport directly when invoked without arguments, sends logs to stderr to protect protocol output, and uses ArgumentParser when arguments are present. MacMCP/Tools/MCPAccessibilityInspector/MCPInspector.swift launches the server as a child process, connects an MCP Client over pipes, and calls macos_explore_ui for application, filter, or macos://ui/ path inspection. MacMCP/Sources/MacMCPUtilities/PathNormalizer.swift standardizes accessibility attribute names and element paths. MacMCP/Tools/AccessibilityInspector/Inspector.swift traverses live AXUIElement trees after checking accessibility trust.
Observed
- Primary language
- Swift
- Platform support
- macOS 13 or later
- Build requirement
- Swift 6.1 or later
- Packaging and install surface
- Swift Package Manager source build producing three executable products
- Interfaces
- Stdio MCP server plus two command-line accessibility inspectors
- Testing structure
- Separate test targets for mocked dependencies and real macOS application interaction
- License
- No license information supplied; the README marks it as still to be added
Read from README.md, MacMCP/Package.swift, MacMCP/Sources/MacMCP/main.swift, MacMCP/Plugins/SwiftLintPlugin/Package.swift, MacMCP/Tools/AccessibilityInspector/main.swift, MacMCP/Tools/MCPAccessibilityInspector/main.swift, MacMCP/Sources/MacMCPUtilities/PathNormalizer.swift, MacMCP/Tools/AccessibilityInspector/Inspector.swift, MacMCP/Tools/AccessibilityInspector/ElementPrinter.swift, MacMCP/Tools/AccessibilityInspector/TreeVisualizer.swift, MacMCP/Tools/MCPAccessibilityInspector/MCPInspector.swift, MacMCP/Tools/AccessibilityInspector/OutputFormatters.swift.
What it can do
Control macOS applications
Application commands and parameters → Executed application actions
Automate file system operations
File paths and operation commands → File and folder manipulations
Execute shell commands
Command line instructions → Command execution results
Manage system preferences
System setting parameters → Updated macOS configuration
Control window management
Window positioning and sizing commands → Repositioned and resized application windows
Access system information
System query requests → macOS system data and status
Trigger keyboard and mouse events
Input simulation commands → Automated user interface interactions
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
