MCP ExplorerExplorer

Swift Mcp Gui

@NakaokaReion a year ago
29 MIT
FreeCommunity
AI Systems
MCP server that can execute commands such as keyboard input and mouse movement on macOS

Overview

What is Swift Mcp Gui

swift-mcp-gui is a Model Context Protocol (MCP) server designed to control macOS through programmatic mouse and keyboard inputs using SwiftAutoGUI.

Use cases

Use cases include automating repetitive tasks, creating custom workflows, and enhancing accessibility for users who require assistive technologies.

How to use

To use swift-mcp-gui, clone the repository, install the package, and configure your MCP client to connect to the server by adding the appropriate command in the configuration file.

Key features

Key features include mouse movement, mouse clicks, keyboard input, and scrolling capabilities, allowing for comprehensive control of macOS through MCP clients.

Where to use

undefined

Content

Swift MCP GUI Server

A Model Context Protocol (MCP) server that allows controlling Mac OS X through SwiftAutoGUI. This server provides tools for programmatically controlling the mouse and keyboard through MCP clients.

Requirements

  • macOS 15.0 or later
  • Swift 6.0 or later
  • Xcode 16.0 or later

Installation

  1. Clone this repository:
git clone https://github.com/NakaokaRei/swift-mcp-gui.git
cd swift-mcp-gui
  1. Install
swift package experimental-install
  1. Add command to your MCP client.
{
  "mcpServers": {
    "swift-mcp-gui": {
      "command": "/Users/USERNAME/.swiftpm/bin/swift-mcp-gui"
    }
  }
}

Available Tools

The server provides the following tools for controlling macOS:

1. Mouse Movement

  • Tool name: moveMouse
  • Input:
    • x: double (x-coordinate)
    • y: double (y-coordinate)
  • Moves the mouse cursor to the specified coordinates

2. Mouse Clicks

  • Tool name: mouseClick
  • Input:
    • button: String (“left” or “right”)
  • Performs a mouse click at the current cursor position

3. Keyboard Input

  • Tool name: sendKeys
  • Input:
    • keys: Array of strings (key names)
  • Sends keyboard shortcuts or key combinations
  • Example keys: “command”, “control”, “option”, “shift”, “return”, “space”, “a”, “1”, etc.

4. Scrolling

  • Tool name: scroll
  • Input:
    • direction: String (“up”, “down”, “left”, “right”)
    • clicks: Integer (number of scroll clicks)
  • Performs scrolling in the specified direction

Security Considerations

This server has full control over your mouse and keyboard. Be careful when running it and only connect trusted MCP clients.

License

MIT License

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers