Skip to main content
Glama
avanomme

MCP Server for macOS

by avanomme

MCP (Master Control Program) Server for macOS

A modern, extensible MCP server that allows you to control and interact with various macOS applications through a unified interface.

Features

  • 🚀 Modern Python-based architecture

  • 🔌 Plugin system for easy extension

  • 🔒 Secure communication protocol

  • 📱 Native macOS integration

  • 🛠️ Easy to extend and customize

  • 📊 Built-in monitoring and logging

Related MCP server: OpenAra

Project Structure

mcp_mac/
├── src/
│   ├── core/           # Core MCP functionality
│   ├── plugins/        # Application-specific plugins
│   ├── utils/          # Utility functions
│   └── api/            # API endpoints
├── tests/              # Test suite
├── config/             # Configuration files
└── docs/              # Documentation

Requirements

  • Python 3.9+

  • macOS 10.15+

  • pip (Python package manager)

Installation

  1. Clone the repository:

git clone https://github.com/yourusername/mcp_mac.git
cd mcp_mac
  1. Create and activate a virtual environment:

python -m venv venv
source venv/bin/activate
  1. Install dependencies:

pip install -r requirements.txt

Usage

  1. Start the MCP server:

python src/main.py
  1. The server will start on localhost:8080 by default.

  2. To add new application support, create a new plugin in the plugins directory.

Creating Custom Plugins

  1. Create a new Python file in the plugins directory

  2. Inherit from the base Plugin class

  3. Implement the required methods

  4. Register your plugin in the plugin registry

Example plugin structure:

from core.plugin import Plugin

class MyAppPlugin(Plugin):
    def __init__(self):
        super().__init__("my_app")
    
    def initialize(self):
        # Initialize your plugin
        pass
    
    def handle_command(self, command):
        # Handle incoming commands
        pass

Configuration

The server can be configured through the config/config.yaml file. Available options:

  • port: Server port (default: 8080)

  • host: Server host (default: localhost)

  • log_level: Logging level (default: INFO)

  • plugins: List of enabled plugins

Security

  • All communication is encrypted using TLS

  • Authentication required for all API endpoints

  • Rate limiting enabled by default

  • Secure plugin sandboxing

Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Commit your changes

  4. Push to the branch

  5. Create a Pull Request

License

MIT License - see LICENSE file for details

Support

For support, please open an issue in the GitHub repository or contact the maintainers.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A Python server that enables interaction with macOS native applications (Contacts, Notes, Mail, Messages, Reminders, Calendar, and Maps) through AppleScript, featuring asynchronous operations and type-safe interfaces.
    16
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    An open-source local MCP server for macOS that provides desktop control tools (click, type, scroll, etc.) callable from any MCP-aware client.
    8
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    A macOS automation MCP server providing 40+ tools for controlling Messages, Contacts, Notes, Reminders, Calendar, Files, Clipboard, Windows, Safari, Chrome, screenshots, and system settings via natural language.
    91
    169
    Apache 2.0
  • F
    license
    Not graded
    quality
    B
    maintenance
    A minimal macOS GUI-automation MCP server providing tools to see app state, perform actions, manage apps, send notifications, and run AppleScripts with security boundaries.
    -