MCP ExplorerExplorer

Mcp Mac Use

@Shayan5422on 9 months ago
1 MIT
FreeCommunity
AI Systems
MCP_MAC_USE is an MCP server for controlling macOS via AI, supporting AppleScript, mouse, keyboard, and LLM integration.

Overview

What is Mcp Mac Use

MCP_MAC_USE is a Model Context Protocol (MCP) server designed to control macOS through an AI interface, enabling users to execute AppleScript, control mouse and keyboard actions, and retrieve system information.

Use cases

Use cases include automating repetitive tasks on macOS, creating custom workflows using AppleScript, enabling voice control for accessibility, and integrating with AI systems for enhanced user interaction.

How to use

To use MCP_MAC_USE, install the required dependencies using ‘npm install’, start the server with ‘npm start’, and for LLM integration, set your LLM API key and run the LLM server with ‘npm run serve’. Access the web interface at ‘http://localhost:3000’ to issue natural language commands.

Key features

Key features include executing arbitrary AppleScript commands, controlling mouse movements and clicks, simulating keyboard input, opening applications, retrieving system information, and controlling your Mac using natural language through LLM integration.

Where to use

MCP_MAC_USE can be utilized in various fields such as software development, automation tasks, accessibility solutions, and AI-driven applications that require interaction with macOS.

Content

Mac Control MCP Server

This is a Model Context Protocol (MCP) server that allows controlling macOS through an AI interface. It provides tools for executing AppleScript, controlling the mouse and keyboard, and retrieving system information.

Features

  • Execute arbitrary AppleScript commands
  • Control mouse movement and clicks
  • Simulate keyboard input
  • Open applications
  • Retrieve system information
  • New: Control your Mac using natural language with LLM integration

Setup

  1. Install dependencies:

    npm install
    
  2. Run the MCP server:

    npm start
    
  3. For LLM integration: Set your LLM API key and run the LLM server:

    export LLM_API_KEY=your-api-key-here
    npm run serve
    

Using the LLM Interface

We’ve added a web interface that allows you to control your Mac using natural language commands through an LLM. To use it:

  1. Run the LLM server:

    npm run serve
    
  2. Open your browser and navigate to http://localhost:3000

  3. Enter natural language commands like:

    • “Open the Notes application”
    • “Type ‘Hello World’”
    • “Click at position x=500, y=300”
    • “Show system information”

For more detailed instructions, see the LLM Integration Guide.

Configuration

The server can be configured through environment variables or through the Smithery configuration panel:

  • ENABLE_MOUSE_CONTROL: Enable or disable mouse control functions (default: true)
  • ENABLE_KEYBOARD_CONTROL: Enable or disable keyboard input functions (default: true)
  • ENABLE_APPLESCRIPT: Enable or disable AppleScript execution (default: true)

Implementation Details

This MCP server follows the standard MCP protocol:

  • Uses STDIO for communication (stdin/stdout)
  • Expects JSON messages in a specific format
  • Returns JSON responses with tool results
  • Can be integrated with any LLM or AI system that supports the MCP protocol

Protocol Format

Input Format

{
  "type": "tool_call",
  "data": {
    "id": "unique-id",
    "name": "tool_name",
    "params": {
      "param1": "value1"
    }
  }
}

Output Format

{
  "type": "tool_result",
  "data": {
    "id": "unique-id",
    "result": {
      "key": "value"
    }
  }
}

Available Tools

AppleScript Tools

  • run_applescript: Execute an arbitrary AppleScript command
  • open_application: Open a macOS application
  • get_system_info: Get basic system information

Keyboard Control Tools

  • type_text: Type text via keyboard
  • key_press: Press a keyboard key with optional modifier

Mouse Control Tools

  • mouse_click: Perform a mouse click at specific coordinates
  • mouse_move: Move the mouse to a position

Deployment on Smithery

This repository includes the necessary configuration files for deployment on Smithery:

  • Dockerfile: Defines the container build
  • smithery.yaml: Configuration for the Smithery platform

Security Considerations

Since this MCP server can control your Mac, it should be used with caution:

  • Be careful about allowing arbitrary AppleScript execution in production
  • Consider using configuration options to disable features you don’t need
  • Run in a secure environment with appropriate access controls

License

MIT

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers