MCP Tools

Live registry of all MCP tools exposed by the server, including schemas and usage examples. Clients automatically detect AppleScript responses and route them to the local executor for real macOS automation.

⚠️

Authentication Required

The endpoints shown below require authentication for tool calls. For actual usage, create an API key and use the authenticated URL format:/api/mcp/[YOUR_UID]/[YOUR_TOKEN]

→ Get your API key and setup instructions here

Endpoint: https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
Total tools: 46
Protocol: JSON-RPC (MCP)

Explore

Showing 46 of 46 tools

Initialize

Clients should initialize the MCP connection, then list tools.

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "initialize",
  "params": {
    "capabilities": {
      "tools": { }
    },
    "clientInfo": {
      "name": "example",
      "version": "1.0.0"
    },
    "protocolVersion": "2024-11-05"
  }
}

The server returns serverInfo.instructions with auto-execution guidance for AppleScript.

app_activate

Apps

Activate (bring to front) a specific application

Input Schema

{
  "properties": {
    "appName": {
      "description": "Name of the application",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "appName"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "app_activate"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

app_is_running

Apps

Check if a specific application is currently running

Input Schema

{
  "properties": {
    "appName": {
      "description": "Name of the application",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "appName"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "app_is_running"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

app_quit

Apps

Quit a specific application

Input Schema

{
  "properties": {
    "appName": {
      "description": "Name of the application",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "appName"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "app_quit"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

brightness_set_level

System

Set display brightness level

Input Schema

{
  "properties": {
    "level": {
      "description": "Brightness level 0-1",
      "maximum": 1,
      "minimum": 0,
      "type": "number"
    }
  },
  "required": [
    "level"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "brightness_set_level"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

calendar_create_event_basic

Calendar

Create a basic calendar event with date and time

Input Schema

{
  "properties": {
    "description": {
      "description": "Event description",
      "type": "string"
    },
    "durationMinutes": {
      "default": 60,
      "description": "Event duration in minutes",
      "minimum": 15,
      "type": "number"
    },
    "location": {
      "description": "Event location",
      "type": "string"
    },
    "startDate": {
      "description": "Start date (YYYY-MM-DD)",
      "type": "string"
    },
    "startTime": {
      "description": "Start time (HH:MM)",
      "type": "string"
    },
    "title": {
      "description": "Event title",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "title",
    "startDate"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "calendar_create_event_basic"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

compile_applescript

Diagnostics

Syntax-check AppleScript using osacompile (no execution).

Input Schema

{
  "properties": {
    "script": {
      "description": "AppleScript code to validate",
      "type": "string"
    }
  },
  "required": [
    "script"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "compile_applescript"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

diagnose_permissions

Diagnostics

Common permission causes and fixes for AppleScript failures.

Input Schema

{
  "properties": { },
  "required": [ ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "diagnose_permissions"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

finder_ensure_folders_tree

Files & Finder

Ensure a nested folder tree exists (Finder-only, no shell).

Input Schema

{
  "properties": {
    "basePath": {
      "description": "Base path for folder tree",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "basePath"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "finder_ensure_folders_tree"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

finder_move_to_trash

Files & Finder

Move file or folder to trash using Finder.

Input Schema

{
  "properties": {
    "path": {
      "description": "Path to move to trash",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "path"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "finder_move_to_trash"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

finder_open_location

Files & Finder

Open a location in Finder.

Input Schema

{
  "properties": {
    "path": {
      "description": "Path to open in Finder",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "path"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "finder_open_location"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

headless_chrome_fetch

Web & Safari

Fetch a URL with headless Chrome/Chromium and return the fully-rendered DOM (no GUI, no Apple Events). Useful for pages requiring JavaScript.

Input Schema

{
  "properties": {
    "chromePath": {
      "description": "Path to Chrome binary (optional)",
      "type": "string"
    },
    "extraArgs": {
      "description": "Extra Chrome arguments (optional)",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "maxChars": {
      "default": 20000,
      "description": "Maximum characters in response",
      "maximum": 25000,
      "minimum": 1000,
      "type": "number"
    },
    "timeoutMs": {
      "description": "Timeout in milliseconds",
      "maximum": 120000,
      "minimum": 5000,
      "type": "number"
    },
    "url": {
      "description": "URL to fetch",
      "format": "uri",
      "type": "string"
    },
    "userAgent": {
      "description": "Custom user agent (optional)",
      "type": "string"
    }
  },
  "required": [
    "url"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "headless_chrome_fetch"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

health_check

Diagnostics

Verify osascript availability and macOS info.

Input Schema

{
  "properties": { },
  "required": [ ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "health_check"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

keynote_build_presentation

iWork Suite

Create a new Keynote presentation with slides.

Input Schema

{
  "properties": {
    "slides": {
      "description": "Array of slide objects",
      "items": {
        "properties": {
          "content": {
            "description": "Slide content",
            "type": "string"
          },
          "title": {
            "description": "Slide title",
            "type": "string"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "theme": {
      "default": "White",
      "description": "Presentation theme",
      "type": "string"
    },
    "title": {
      "description": "Presentation title",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "title",
    "slides"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "keynote_build_presentation"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

mail_send

Communication

Send an email using the Mail app.

Input Schema

{
  "properties": {
    "bcc": {
      "description": "BCC email (optional)",
      "type": "string"
    },
    "body": {
      "description": "Email body",
      "minLength": 1,
      "type": "string"
    },
    "cc": {
      "description": "CC email (optional)",
      "type": "string"
    },
    "subject": {
      "description": "Email subject",
      "minLength": 1,
      "type": "string"
    },
    "to": {
      "description": "Recipient email",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "to",
    "subject",
    "body"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "mail_send"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

maps_directions

Maps & Location

Get directions between two locations in Apple Maps.

Input Schema

{
  "properties": {
    "from": {
      "description": "Starting location",
      "minLength": 1,
      "type": "string"
    },
    "to": {
      "description": "Destination location",
      "minLength": 1,
      "type": "string"
    },
    "transportType": {
      "default": "driving",
      "description": "Transportation type",
      "enum": [
        "driving",
        "walking",
        "transit"
      ],
      "type": "string"
    }
  },
  "required": [
    "from",
    "to"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "maps_directions"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

maps_search

Maps & Location

Search for a location in Apple Maps.

Input Schema

{
  "properties": {
    "query": {
      "description": "Location search query",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "query"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "maps_search"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

messages_send

Communication

Send a text message to a phone number.

Input Schema

{
  "properties": {
    "message": {
      "description": "Message text",
      "minLength": 1,
      "type": "string"
    },
    "phoneNumber": {
      "description": "Phone number",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "phoneNumber",
    "message"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "messages_send"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

music_add_tracks_to_playlist

Music

Add tracks to an existing playlist by searching for them.

Input Schema

{
  "properties": {
    "playlistName": {
      "description": "Name of existing playlist",
      "type": "string"
    },
    "trackQueries": {
      "description": "Array of search queries for tracks to add",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "playlistName",
    "trackQueries"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "music_add_tracks_to_playlist"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

Music tip: search first to get a persistentId, then play using that ID for precise playback.

music_control_playback

Music

Control Music app playback (play, pause, next, previous, stop).

Input Schema

{
  "properties": {
    "action": {
      "description": "Playback action to perform",
      "enum": [
        "play",
        "pause",
        "next",
        "previous",
        "stop"
      ],
      "type": "string"
    }
  },
  "required": [
    "action"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "music_control_playback"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

Music tip: search first to get a persistentId, then play using that ID for precise playback.

music_create_playlist

Music

Create a new playlist in Music app.

Input Schema

{
  "properties": {
    "playlistName": {
      "description": "Name for the new playlist",
      "type": "string"
    }
  },
  "required": [
    "playlistName"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "music_create_playlist"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

Music tip: search first to get a persistentId, then play using that ID for precise playback.

music_play

Music

Play a specific track in Music. Prefer passing persistentId from music_search. Alternatively, you may pass exact name with optional artist/album.

Input Schema

{
  "properties": {
    "album": {
      "description": "Album name (optional)",
      "type": "string"
    },
    "artist": {
      "description": "Artist name (optional)",
      "type": "string"
    },
    "name": {
      "description": "Exact track name (if no persistentId)",
      "type": "string"
    },
    "persistentId": {
      "description": "Persistent ID from music_search (preferred)",
      "type": "string"
    }
  },
  "required": [ ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "music_play"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

Music tip: search first to get a persistentId, then play using that ID for precise playback.

music_search

Music

Search the Music library and return tracks (persistentId, name, artist, album, duration). Use this first, then pass a selected persistentId to music_play.

Input Schema

{
  "properties": {
    "limit": {
      "default": 25,
      "description": "Maximum number of results",
      "maximum": 100,
      "minimum": 1,
      "type": "number"
    },
    "query": {
      "description": "Search query",
      "type": "string"
    },
    "searchBy": {
      "default": "any",
      "description": "Field to search by",
      "enum": [
        "any",
        "name",
        "artist",
        "album"
      ],
      "type": "string"
    }
  },
  "required": [
    "query"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "music_search"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

Music tip: search first to get a persistentId, then play using that ID for precise playback.

note_selector_create

Notes & Writing

Create a note with app selection dialog.

Input Schema

{
  "properties": {
    "apps": {
      "default": [
        "Notes",
        "Obsidian"
      ],
      "description": "Apps to choose from",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "content": {
      "description": "Note content",
      "minLength": 1,
      "type": "string"
    },
    "title": {
      "description": "Note title",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "title",
    "content"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "note_selector_create"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

notes_create_enhanced

Notes & Writing

Create a new note with enhanced formatting support

Input Schema

{
  "properties": {
    "body": {
      "description": "Note body content",
      "minLength": 1,
      "type": "string"
    },
    "folderName": {
      "default": "Claude",
      "description": "Folder to create note in",
      "type": "string"
    },
    "title": {
      "description": "Note title",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "title",
    "body"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "notes_create_enhanced"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

notes_from_markdown

Notes & Writing

Create or append a Note from Markdown. Markdown is converted to safe HTML.

Input Schema

{
  "properties": {
    "append": {
      "default": true,
      "description": "Append to existing note if found",
      "type": "boolean"
    },
    "folder": {
      "description": "Folder name (optional)",
      "type": "string"
    },
    "markdown": {
      "description": "Markdown content",
      "minLength": 1,
      "type": "string"
    },
    "title": {
      "description": "Note title",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "title",
    "markdown"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "notes_from_markdown"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

numbers_create_and_populate

iWork Suite

Create a new Numbers spreadsheet and populate it with data.

Input Schema

{
  "properties": {
    "data": {
      "description": "2D array of data for the spreadsheet",
      "items": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "type": "array"
    },
    "headers": {
      "description": "Column headers (optional)",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "title": {
      "description": "Spreadsheet title",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "title",
    "data"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "numbers_create_and_populate"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

obsidian_append_note

Obsidian

Append content to an existing note in Obsidian. Creates the note if it doesn't exist.

Input Schema

{
  "properties": {
    "content": {
      "description": "Content to append",
      "minLength": 1,
      "type": "string"
    },
    "folder": {
      "description": "Folder path (optional)",
      "type": "string"
    },
    "heading": {
      "description": "Append under specific heading (optional)",
      "type": "string"
    },
    "title": {
      "description": "Note title",
      "minLength": 1,
      "type": "string"
    },
    "vault": {
      "description": "Vault name (optional)",
      "type": "string"
    }
  },
  "required": [
    "title",
    "content"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "obsidian_append_note"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

obsidian_create_note

Obsidian

Create a new note in Obsidian. Supports markdown content and vault/folder organization.

Input Schema

{
  "properties": {
    "content": {
      "description": "Markdown content",
      "minLength": 1,
      "type": "string"
    },
    "folder": {
      "description": "Folder path (optional)",
      "type": "string"
    },
    "title": {
      "description": "Note title",
      "minLength": 1,
      "type": "string"
    },
    "vault": {
      "description": "Vault name (optional)",
      "type": "string"
    }
  },
  "required": [
    "title",
    "content"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "obsidian_create_note"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

obsidian_open_note

Obsidian

Open an existing note in Obsidian.

Input Schema

{
  "properties": {
    "folder": {
      "description": "Folder path (optional)",
      "type": "string"
    },
    "line": {
      "description": "Line number to jump to (optional)",
      "type": "number"
    },
    "title": {
      "description": "Note title",
      "minLength": 1,
      "type": "string"
    },
    "vault": {
      "description": "Vault name (optional)",
      "type": "string"
    }
  },
  "required": [
    "title"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "obsidian_open_note"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

pages_create_document

iWork Suite

Create a new Pages document with content.

Input Schema

{
  "properties": {
    "content": {
      "description": "Document content",
      "minLength": 1,
      "type": "string"
    },
    "template": {
      "default": "Blank",
      "description": "Document template",
      "type": "string"
    },
    "title": {
      "description": "Document title",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "title",
    "content"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "pages_create_document"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

photos_import

Apps

Import photos into the Photos app.

Input Schema

{
  "properties": {
    "paths": {
      "description": "Array of photo file paths to import",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "paths"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "photos_import"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

preview_open_file

Apps

Open a file in Preview app.

Input Schema

{
  "properties": {
    "filePath": {
      "description": "Path to file",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "filePath"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "preview_open_file"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

run_shortcut

Workflow

Run a macOS Shortcut by name

Input Schema

{
  "properties": {
    "input": {
      "description": "Input to pass to shortcut",
      "type": "string"
    },
    "shortcutName": {
      "description": "Name of the shortcut",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "shortcutName"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "run_shortcut"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

safari_extract_content

Web & Safari

Extract URL, title, rendered text, selected text, HTML source, meta description, and links from Safari tabs. Perfect for web research - can extract from current tab, front window, or all windows. Note: Content extraction requires 'Allow JavaScript from Apple Events' in Safari Developer settings.

Input Schema

{
  "properties": {
    "dryRun": {
      "description": "Preview extraction scope without executing",
      "type": "boolean"
    },
    "include": {
      "default": [
        "url",
        "title",
        "text"
      ],
      "description": "Content fields to extract",
      "items": {
        "enum": [
          "url",
          "title",
          "text",
          "selection",
          "html",
          "meta",
          "links"
        ],
        "type": "string"
      },
      "type": "array"
    },
    "maxCharsPerField": {
      "default": 200000,
      "description": "Maximum characters per field",
      "minimum": 1000,
      "type": "number"
    },
    "scope": {
      "default": "current",
      "description": "Scope of content extraction",
      "enum": [
        "current",
        "frontWindow",
        "allWindows"
      ],
      "type": "string"
    },
    "urlIncludes": {
      "description": "Filter tabs by URL substring",
      "type": "string"
    }
  },
  "required": [ ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "safari_extract_content"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

safari_open_many

Web & Safari

Open multiple URLs in Safari (ensures a window, adds tabs).

Input Schema

{
  "properties": {
    "inNewWindow": {
      "default": false,
      "description": "Open in new window instead of current window",
      "type": "boolean"
    },
    "urls": {
      "description": "URLs to open in Safari tabs",
      "items": {
        "format": "uri",
        "type": "string"
      },
      "minItems": 1,
      "type": "array"
    }
  },
  "required": [
    "urls"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "safari_open_many"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

system_get_running_applications

System

Get list of currently running applications

Input Schema

{
  "properties": { },
  "required": [ ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "system_get_running_applications"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

system_restart

System

Restart the system with optional force and delay

Input Schema

{
  "properties": {
    "delay": {
      "description": "Delay in seconds",
      "type": "number"
    },
    "force": {
      "description": "Force restart",
      "type": "boolean"
    }
  },
  "required": [ ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "system_restart"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

system_shutdown

System

Shutdown the system with optional force and delay

Input Schema

{
  "properties": {
    "delay": {
      "description": "Delay in seconds",
      "type": "number"
    },
    "force": {
      "description": "Force shutdown",
      "type": "boolean"
    }
  },
  "required": [ ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "system_shutdown"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

system_sleep

System

Put the system or displays to sleep

Input Schema

{
  "properties": {
    "displaysOnly": {
      "description": "Sleep displays only",
      "type": "boolean"
    }
  },
  "required": [ ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "system_sleep"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

take_screenshot_enhanced

System

Take a screenshot with various options

Input Schema

{
  "properties": {
    "delay": {
      "description": "Delay before capture in seconds",
      "type": "number"
    },
    "interactive": {
      "description": "Interactive selection mode",
      "type": "boolean"
    },
    "path": {
      "description": "Screenshot save path",
      "type": "string"
    },
    "selection": {
      "description": "Capture selection area",
      "type": "boolean"
    },
    "window": {
      "description": "Capture specific window",
      "type": "boolean"
    }
  },
  "required": [ ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "take_screenshot_enhanced"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

things_create_task

Workflow

Create a new task in Things 3 app.

Input Schema

{
  "properties": {
    "list": {
      "description": "List to add task to (optional)",
      "type": "string"
    },
    "notes": {
      "description": "Task notes (optional)",
      "type": "string"
    },
    "title": {
      "description": "Task title",
      "minLength": 1,
      "type": "string"
    },
    "when": {
      "description": "When to do the task (optional)",
      "type": "string"
    }
  },
  "required": [
    "title"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "things_create_task"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

volume_get_info

System

Get comprehensive volume information (output, input, alert, mute status)

Input Schema

{
  "properties": { },
  "required": [ ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "volume_get_info"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

volume_set_level

System

Set volume level for output, input, or alert sounds

Input Schema

{
  "properties": {
    "level": {
      "description": "Volume level 0-100",
      "maximum": 100,
      "minimum": 0,
      "type": "number"
    },
    "type": {
      "description": "Volume type",
      "enum": [
        "output",
        "input",
        "alert"
      ],
      "type": "string"
    }
  },
  "required": [
    "level"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "volume_set_level"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

web_search

Web & Safari

Perform a web search using Safari (simplified version).

Input Schema

{
  "properties": {
    "numResults": {
      "default": 3,
      "description": "Number of results to return",
      "type": "number"
    },
    "query": {
      "description": "Search query",
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "query"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "web_search"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

workflow_full_json

Workflow

Execute a complex workflow from JSON configuration.

Input Schema

{
  "properties": {
    "workflow": {
      "description": "JSON workflow configuration",
      "type": "object"
    }
  },
  "required": [
    "workflow"
  ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "workflow_full_json"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.

workflow_setup_workspace

Workflow

Set up a workspace by opening multiple applications and files.

Input Schema

{
  "properties": {
    "apps": {
      "description": "List of applications to open",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "files": {
      "description": "List of files to open",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "urls": {
      "description": "List of URLs to open",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [ ],
  "type": "object"
}

MCP Call Example

POST https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcp
{
  "id": 2,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": { },
    "name": "workflow_setup_workspace"
  }
}

Local Executor Example

POST http://localhost:1092/execute
{
  "appleScript": "tell application "Music" to play"
}

Clients detect the AppleScript envelope ({"_hc_type":"applescript",...}), decode Base64, then POST {appleScript} to the local executor.