macgic-mcp
macOS Accessibility MCP Server — gives AI "hands and eyes" on macOS.
An MCP server that exposes macOS Accessibility and Core Graphics APIs as tools, allowing AI systems (Claude, etc.) to fully control a Mac: clicking, typing, drawing, reading UI elements, launching apps, and taking screenshots.
Requirements
- macOS
- Python 3.13+
- Accessibility permission granted to your terminal/IDE
- Screen Recording permission (for screenshots)
Usage
Add to your MCP client config (e.g. Claude Code ~/.claude/mcp_servers.json or Claude Desktop):
{
"mcpServers": {
"macgic": {
"command": "uvx",
"args": ["macgic-mcp"],
"type": "stdio"
}
}
}
Tools
Vision / Context
| Tool | Description |
|---|---|
screenshot |
Capture full screen, specific display, or region as PNG |
list_displays |
List connected displays with IDs, resolutions, positions |
list_apps |
List running applications (name, bundle ID, PID) |
get_ui_elements |
Read accessibility tree for an app (role, title, value, position, size) |
Mouse Control
| Tool | Description |
|---|---|
mouse_click |
Click at x,y (left/right, single/double) |
mouse_move |
Move cursor to x,y |
mouse_drag |
Drag between points with smooth interpolation (enables drawing!) |
scroll |
Scroll at position (horizontal + vertical) |
Keyboard Control
| Tool | Description |
|---|---|
type_text |
Type a string of text character by character |
key_press |
Press key combinations (e.g. cmd+c, cmd+shift+z, enter) |
App Management
| Tool | Description |
|---|---|
open_app |
Launch an app by name or bundle ID |
activate_app |
Bring an app to the foreground |
Permissions
Grant these in System Settings > Privacy & Security:
- Accessibility — required for mouse/keyboard control and reading UI elements
- Screen Recording — required for screenshots
License
MIT
Metadata
Release files for macgic-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| macgic_mcp-0.1.0.tar.gz | 6.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| macgic_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.7 kB
Release files / macgic_mcp-0.1.0.tar.gz
| Download URL | macgic_mcp-0.1.0.tar.gz |
|---|---|
| Size | 6.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bf135a9bb9a9701ba760ce5330dc583dc53b5433bc524f94dd2296146903f89f
|
|
BLAKE2b-256 checksum How to use checksums |
493cdfbeb51bd1656ba3f630793ad8ce22fe152eb4ca5b031d24194b3ea61fea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.5
|
Release files / macgic_mcp-0.1.0-py3-none-any.whl
| Download URL | macgic_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 11.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7b41689c4a696a468b0b45ddd80e8a5d39891818ca667e5f5c463edead3b0e6c
|
|
BLAKE2b-256 checksum How to use checksums |
201f47b3a09f722579979230bf108fde39e4632161ef83e8a832e9110d20cfb6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.5
|
Security for macgic-mcp 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.