MCP Mac Apps Server

MCP Mac Apps Server

Enables control of macOS applications through natural language, allowing users to launch apps, execute AppleScript commands, manage running applications, and open files with voice or text commands.

Category
Visit Server

README

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured