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]
https://honeycrisp-5z5lkwsg5-kennyo.vercel.app/api/mcpExplore
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.