Enables management and automation of macOS applications through launching apps, listing running applications, executing AppleScript commands, quitting applications, and opening files in specific applications.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Mac Apps Serveropen a new tab in Safari and go to google.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Mac Apps Server
MCP server for managing macOS applications through LLM. Allows launching applications, managing them via AppleScript, and getting information about running applications.
π€ Voice Control: Use voice_client.py to control applications by voice! See VOICE_SETUP.md
Features
π Launch Applications - open any applications on Mac
π List Running Applications - get list of active applications
π€ AppleScript Automation - execute commands in applications
β Close Applications - quit applications
π Open Files - open files in specific applications
Installation
Python Version (Recommended)
Make sure you have Python 3.7+ installed
Install dependencies:
Server is ready to use! No compilation required.
TypeScript Version (Alternative)
Make sure you have Node.js (v18+) and npm installed
Install dependencies:
Build the project:
Configuration for Use with MCP Clients
Claude Desktop
Add configuration to the MCP client settings file. For Claude Desktop this is usually the MCP configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json
Or for development using tsx:
Other LLMs and Clients
Available options:
Claude Desktop (recommended) - full MCP support
Ollama β - local models (installed, models loaded) - see OLLAMA_SETUP.md
LM Studio - graphical interface for local LLMs
DeepSeek - see DEEPSEEK_SETUP.md
π Detailed list of compatible LLMs and instructions: COMPATIBLE_LLM.md
Usage
After configuration, the LLM will be able to use the following tools:
1. Open Application
2. Get List of Applications
3. Execute AppleScript
4. Close Application
5. Open File
Available Tools
open_application
Opens an application by name.
Parameters:
appName(string) - application name (e.g., "Safari", "Calculator")
get_running_applications
Returns a list of all running applications.
run_applescript
Executes an AppleScript command in the specified application.
Parameters:
appName(string) - application namescript(string) - AppleScript command
AppleScript Examples:
Safari:
make new document- create a new tabFinder:
open folder "Documents"- open a folderTextEdit:
make new document- create a new document
quit_application
Closes the specified application.
Parameters:
appName(string) - application name to close
open_file_with_app
Opens a file or URL in the specified application.
Parameters:
path(string) - path to file or URLappName(string) - application name
Testing
To test the server:
Or test manually:
Development
For development with auto-reload:
Security
β οΈ Warning: This server allows executing commands on your system. Use it only with trusted LLM clients and in a secure environment.
For macOS, you may need permission to control other applications:
System Settings β Privacy & Security β Automation
Allow access for Terminal/Node.js
License
MIT