Labsco
MCP SERVER

MCP Osascript

by m0rvayne

Controls a Mac through AppleScript: windows, menus, clipboard, keystrokes and browser tabs, as twelve typed tools.

Desktop & OS Automation
Summary
Typed tools first, raw AppleScript as the escape hatch.

Moving a window, clicking a menu item and reading the clipboard each have their own validated tool, which is more predictable than generating AppleScript from scratch every time. run_osascript is still there for whatever the twelve do not cover.

What it is

An MCP server that wraps osascript in twelve typed tools with input validation, so a client can move windows, click menu items, type, read the clipboard and enumerate browser tabs on macOS.

What you get
  • Windows moved, resized and targeted by index, and the frontmost app reported with its bundle ID (manage_windows, get_frontmost_app)
  • The menu bar introspected and its items clicked, so a buried command is reachable (app_menu)
  • Text typed and individual keys or shortcut combinations pressed (type_text, press_key)
  • The clipboard read and written (get_clipboard, set_clipboard)
  • Browser tabs listed with their titles and URLs (get_browser_tabs)
  • Applications launched and URLs opened, and native macOS notifications posted (open_app, open_url, send_notification)
  • Raw AppleScript run for the cases the typed tools do not cover (run_osascript)
Requirements

A current macOS and a recent Node; runs with npx -y mcp-osascript. macOS automation permissions have to be granted, and errors are classified so a permission refusal reads differently from a failure.

Setup effort

One command — claude mcp add osascript -- npx -y mcp-osascript