Provides native macOS integration for controlling and interacting with various macOS applications through a unified interface with plugin support for extending functionality.
Built on a modern Python-based architecture, allowing for development of custom plugins and extensions to control macOS applications.
Supports configuration through YAML files, allowing customization of server settings including port, host, logging level, and enabled plugins.
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: Python Apple MCP
Project Structure
Requirements
Python 3.9+
macOS 10.15+
pip (Python package manager)
Installation
Clone the repository:
Create and activate a virtual environment:
Install dependencies:
Usage
Start the MCP server:
The server will start on
localhost:8080by default.To add new application support, create a new plugin in the
pluginsdirectory.
Creating Custom Plugins
Create a new Python file in the
pluginsdirectoryInherit from the base
PluginclassImplement the required methods
Register your plugin in the plugin registry
Example plugin structure:
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
Fork the repository
Create a feature branch
Commit your changes
Push to the branch
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.