Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Zero-dependency macOS desktop automation for AI agents. 18 tools via MCP. macOS 13+.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"mac-use": {
"command": "npx",
"args": [
"-y",
"mac-use-mcp"
]
}
}
}Run this in your terminal
claude mcp add mac-use -- npx -y mac-use-mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"mac-use": {
"command": "npx",
"args": [
"-y",
"mac-use-mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"mac-use": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mac-use-mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account antbotlab, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.1.1) reached the registry 8 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, sync. labs
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Lipsync videos, dub them into other languages, make talking videos and open sync. Studio.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
[!WARNING]
This tool has full control over mouse, keyboard, and screen. Please use in a sandboxed environment to protect your privacy and avoid accidental data loss by your agents. You are responsible for any actions performed through this tool.
Zero-native-dependency macOS desktop automation via MCP.
Give AI agents eyes and hands on macOS — click, type, screenshot, and inspect any application.
get_ui_elements, validate screen content via screenshotopen_application, fill forms with type_text, navigate menus via click_menuscreenshot for visual diffing or alertingget_ui_elements for QA and compliance checksscreenshot, click, type_text, and morenpx mac-use-mcp and grant two macOS permissions. No node-gyp, no Xcode tools, no build step.Requirements: macOS 13+ and Node.js 22+. The server communicates over stdio transport.
This package only works on macOS. It will refuse to install on other operating systems.
No build steps. No native dependencies. Just run:
npx mac-use-mcp
npxwill prompt to install the package on first run. Usenpx -y mac-use-mcpto skip the confirmation.
[!TIP]
Model selection matters. Desktop automation involves screenshot–action loops that add up in token usage. A fast model with solid reasoning, good vision, and reliable tool calling is recommended:
| Model | Provider |
|-------|----------|
| Gemini 3 Flash | Google |
| Claude Sonnet 4.6 | Anthropic |
| GPT-5 mini | OpenAI |
| MiniMax-M2.5 | MiniMax |
| Kimi K2.5 | Moonshot AI |
| Qwen3.5 | Alibaba |
| GLM-4.7 | Zhipu AI |
mac-use-mcp requires two macOS permissions to function. Grant them once and you're set.
Required for mouse and keyboard control.
Required for screenshots.
After granting both permissions and configuring your MCP client (see next section), use the check_permissions tool to confirm everything is working:
> check_permissions
✓ Accessibility: granted ✓ Screen Recording: granted
Claude Code
claude mcp add mac-use-mcp -- npx mac-use-mcp
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": { "mac-use-mcp": { "command": "npx", "args": ["mac-use-mcp"] } } }
OpenAI Codex
Add to ~/.codex/config.toml:
[mcp_servers.mac-use]
command = "npx" args = ["-y", "mac-use-mcp"]
Or via CLI:
codex mcp add mac-use -- npx -y mac-use-mcp
Google Antigravity
Add to ~/.gemini/antigravity/mcp_config.json:
{
"mcpServers": { "mac-use-mcp": { "command": "npx", "args": ["mac-use-mcp"] } } }
Gemini CLI
Add to ~/.gemini/settings.json:
{
"mcpServers": { "mac-use-mcp": { "command": "npx", "args": ["mac-use-mcp"] } } }
VS Code / Copilot
Add to .vscode/mcp.json in your workspace (or open the Command Palette and run MCP: Open User Configuration for global setup):
{
"servers": { "mac-use-mcp": { "command": "npx", "args": ["mac-use-mcp"] } } }
Cursor
Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project-level):
{
"mcpServers": { "mac-use-mcp": { "command": "npx", "args": ["mac-use-mcp"] } } }
Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": { "mac-use-mcp": { "command": "npx", "args": ["mac-use-mcp"] } } }
Cline
Open Cline's MCP settings (in the Cline extension panel, click the MCP servers icon), then add:
{
"mcpServers": { "mac-use-mcp": { "command": "npx", "args": ["mac-use-mcp"] } } }
Kiro
Add to ~/.aws/amazonq/mcp.json:
{
"mcpServers": { "mac-use-mcp": { "command": "npx", "args": ["mac-use-mcp"] } } }
This Node.js MCP server exposes 18 tools for mouse, keyboard, and screen control to any MCP-compatible client.
| Tool | Description |
|---|---|
screenshot | Capture the screen, a region, or a window by title (PNG or JPEG) |
get_screen_info | Get display count, resolution, origin, and scale factor for each display |
get_cursor_position | Get current cursor coordinates |
| Tool | Description |
|---|---|
click | Click at screen coordinates with button, click count, and modifier options |
move_mouse | Move the cursor to a position |
scroll | Scroll up, down, left, or right at a position |
drag | Drag from one point to another over a configurable duration |
type_text | Type text at the cursor position (supports Unicode, CJK, and emoji) |
press_key | Press a key or key combination (e.g., "cmd+c", "Return") |
| Tool | Description |
|---|---|
list_windows | List all visible windows with positions and sizes |
focus_window | Activate an app and bring a specific window to the front |
open_application | Launch an application by name |
click_menu | Click a menu bar item by path (e.g., "File > Save As...") |
App names support fuzzy matching — "chrome" resolves to "Google Chrome", "code" to "Code", etc.
| Tool | Description |
|---|---|
get_ui_elements | Query UI elements via Accessibility API — find buttons, text fields, and other controls by role or title |
| Tool | Description |
|---|---|
clipboard_read | Read the current system clipboard as plain text |
clipboard_write | Write text to the system clipboard |
| Tool | Description |
|---|---|
wait | Pause for a specified duration (in milliseconds, 0–10 000, default 500) |
check_permissions | Verify Accessibility and Screen Recording access |
Common workflow patterns using mac-use-mcp tools:
1. focus_window({ app: "Safari" })
1. get_ui_elements({ app: "Finder", role: "AXButton" })
→ finds "OK" button at position (500, 300)
1. open_application({ name: "TextEdit" })
1. focus_window({ app: "Safari" })
key code), window focus, and menu clicksSystem Events key code) as a workaround, which may behave differently in some edge cases.Permission prompts keep appearing
Grant Accessibility and Screen Recording permissions to your terminal app in System Settings > Privacy & Security. A restart of the terminal may be required.
macOS Sequoia permission dialogs
macOS 15 (Sequoia) introduced stricter permission prompts. Allow the prompts when they appear. The check_permissions tool can verify your current permission status.
Secure input fields
Some password fields and secure text inputs block programmatic key events. This is a macOS security feature. Use clipboard_write + press_key("cmd+v") as a workaround.
Screen recording shows black screenshots
Ensure Screen Recording permission is granted to your terminal app (not just Accessibility). Restart the terminal after granting.
Only the beginning is shown; read the rest in the repo