MCP Hub
Back to servers

MCP Mac Apps Server

A specialized MCP server for macOS that enables LLMs to control the operating system by launching apps, executing AppleScript commands, and managing running processes.

Tools
5
Updated
Dec 25, 2025

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)

  1. Make sure you have Python 3.7+ installed

  2. Install dependencies:

pip install -r requirements.txt
  1. Server is ready to use! No compilation required.

TypeScript Version (Alternative)

  1. Make sure you have Node.js (v18+) and npm installed

  2. Install dependencies:

npm install
  1. Build the project:
npm run build

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

{
  "mcpServers": {
    "mac-apps": {
      "command": "python3",
      "args": ["/Users/olegzaichkin/Documents/MCP/src/server.py"]
    }
  }
}

Or for development using tsx:

{
  "mcpServers": {
    "mac-apps": {
      "command": "npm",
      "args": ["run", "dev"],
      "cwd": "/Users/olegzaichkin/Documents/MCP"
    }
  }
}

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

Open Safari

2. Get List of Applications

What applications are currently running?

3. Execute AppleScript

In Safari, open a new tab

4. Close Application

Close Calculator

5. Open File

Open file ~/Documents/example.txt in TextEdit

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 name
  • script (string) - AppleScript command

AppleScript Examples:

  • Safari: make new document - create a new tab
  • Finder: open folder "Documents" - open a folder
  • TextEdit: 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 URL
  • appName (string) - application name

Testing

To test the server:

node test-mcp-server.js

Or test manually:

npm run build
npm start

Development

For development with auto-reload:

npm run dev

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

Reviews

No reviews yet

Sign in to write a review