Skip to main content
Glama

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

  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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/TrueOleg/MCP-expirements'

If you have feedback or need assistance with the MCP directory API, please join our Discord server