AirMCP

279 tools. 132 can modify or destroy data without limits.

18 destructive tools with no built-in limits. Policy required.

Last updated:

132 can modify or destroy data
147 read-only
279 tools total

Community server · catalogue entry checked 12/06/2026

How to control AirMCP ↓

What AirMCP exposes to your agents

Read (147) Write / Execute (113) Destructive / Financial (18)
Critical Risk

The most dangerous AirMCP tools

132 of AirMCP's 279 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

How to control AirMCP

PolicyLayer is an MCP gateway — it sits between your AI agents and AirMCP, and nothing reaches the server without passing your rules. These are the rules we recommend:

Deny destructive operations
{
  "close_tab": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Blocked by default. Requires approval."
      }
    ]
  }
}

Destructive tools should never be available to autonomous agents without human approval.

Rate limit write operations
{
  "add_bookmark": {
    "limits": [
      {
        "counter": "add_bookmark_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "ai_status": {
    "limits": [
      {
        "counter": "ai_status_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

Controls API costs and prevents retry loops from exhausting upstream rate limits.

  1. Create a free account and register AirMCP — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON AIRMCP →

Instant setup, no code required.

All 279 AirMCP tools

DESTRUCTIVE 18 tools
Destructive close_tab Close a specific Safari tab. Use list_tabs to find window/tab indices. Destructive delete_contact Delete a contact by ID. This action is permanent. Destructive delete_event Delete a calendar event by ID. This action is permanent. Destructive delete_note Delete a note by ID. The note is moved to Recently Deleted and permanently removed after 30 days. Destructive delete_photos Delete photos by local identifier. Shows macOS confirmation dialog for user approval. Requires macOS 26+ Swift Destructive delete_playlist Delete an existing playlist from Music. Destructive delete_reminder Delete a reminder by ID. This action is permanent. Destructive delete_reminder_list Delete a reminder list by name. This action is permanent and removes all reminders in the list. Destructive delete_shortcut Delete a Siri Shortcut by name. Uses the macOS shortcuts CLI (macOS 13+). This action is permanent and cannot Destructive memory_forget Delete context-memory entries. Provide exactly one selector: Destructive move_note Move a note to a different folder. NOTE: Apple Notes has no native move command, so this copies the note body Destructive quit_app Quit a running application by name. May cause unsaved work to be lost. Destructive remove_from_playlist Remove a track from a playlist. Destructive semantic_clear Delete all indexed data from the local vector store AND remove corresponding entries from macOS Spotlight. Destructive semantic_index Build the local vector index over enabled Apple apps for semantic search — replaces any existing index; embedd Destructive spotlight_clear Remove all AirMCP entries from macOS Spotlight without clearing the local vector store. Requires Swift bridge. Destructive system_power Shutdown or restart the Mac. Use with caution. Destructive trash_file Move a file or folder to the Trash using Finder.
EXECUTE 51 tools
Execute activate_tab Switch to a specific Safari tab. Use list_tabs to find window/tab indices. Execute ai_agent Run a prompt through Apple Execute ai_chat Send a message to an on-device AI session using Apple Foundation Models. Note: each call creates a fresh sessi Execute ai_plan_metrics Run a sample of planner goals against the on-device Foundation Model and report the aggregate score. Execute connect_bluetooth Connect to a BLE device by its UUID. The UUID can be obtained from scan_bluetooth results. Execute disconnect_bluetooth Disconnect a BLE device by its UUID. Execute drop_pin Drop a pin at specific coordinates in Apple Maps. Execute duplicate_shortcut Duplicate an existing Siri Shortcut. Exports the shortcut to a temporary file and re-imports it with a new nam Execute edit_shortcut Open a Siri Shortcut in the Shortcuts app for manual editing. Uses UI automation (System Events) to activate t Execute event_subscribe Start real-time monitoring of Apple data changes: calendar, reminders, clipboard, mail unread count, focus mod Execute generate_image Generate an image from a text description using Apple Intelligence on-device image generation (Image Playgroun Execute generate_structured Generate structured JSON output from Apple Execute gws_raw Execute any Google Workspace CLI command. For advanced use when specific tools don Execute import_shortcut Import a .shortcut file into Siri Shortcuts. Uses the macOS shortcuts CLI to import the shortcut from the spec Execute keynote_start_slideshow Start playing a Keynote slideshow from a specific slide. Execute launch_app Launch an application by name. Lightweight — just activates the app without reading its accessibility tree. Execute local_llm_generate Generate text using a local Ollama model. Runs entirely on your machine — no data sent to any cloud. Execute minimize_window Minimize or restore a window. Execute move_window Move a window to a specific position on screen. Execute open_address Open a specific address in Apple Maps. Execute open_url Open a URL in Safari Execute pages_open_document Open a Pages document from a file path. Execute play_playlist Start playing a playlist by name, with optional shuffle control. Execute play_podcast_episode Play a specific podcast episode by name, optionally from a specific show. Execute play_track Play a specific track by name, optionally from a specific playlist. Execute playback_control Control Music playback: play, pause, nextTrack, previousTrack. Execute podcast_playback_control Control Podcasts playback: play, pause, next, previous. Execute prevent_sleep Prevent the Mac from sleeping for a specified duration using caffeinate. The assertion is transient — it auto- Execute record_screen Record the screen for a specified duration (1-60 seconds). Returns the recording as a .mov file path. Requires Execute resize_window Resize a window to specific dimensions. Execute rewrite_text Rewrite text in a specified tone using Apple Intelligence (on-device Foundation Models). Requires macOS 26+ wi Execute run_javascript Execute JavaScript in a Safari tab. Use list_tabs to find window/tab indices. Returns the result as a string. Execute run_shortcut Run a Siri Shortcut by name. Optionally provide text input. Returns the shortcut Execute send_file Send a file attachment via iMessage/SMS. Requires absolute file path and recipient handle. Execute set_brightness Set the display brightness level. Requires the Execute set_volume Set the system output volume (0-100) and/or mute state. Execute setup_permissions Trigger macOS permission prompts for all Apple apps used by AirMCP. Run this once after installation to grant Execute show_notification Display a macOS system notification with optional title, subtitle, and sound. Execute system_sleep Put the Mac to sleep. Execute tag_content Classify and tag content using Apple Execute toggle_dark_mode Toggle macOS appearance between dark mode and light mode. Execute toggle_focus_mode Toggle Do Not Disturb (Focus mode) on or off. Execute toggle_wifi Turn WiFi on or off. Execute tv_play Play a movie or episode by name. Execute tv_playback_control Control Apple TV playback: play, pause, next, previous. Execute ui_click Click a UI element either by exact screen coordinates (x, y) or by searching for an element containing the giv Execute ui_open_app Open an application by name or bundle ID and return an accessibility tree summary of its windows and top-level Execute ui_perform_action Find a UI element by locator (role + title/value) and perform an accessibility action on it. Execute ui_press_key Send a key or key combination (e.g. Return, Cmd+S, Ctrl+C). Supports modifier keys: command/cmd, shift, option Execute ui_scroll Scroll in the specified direction within the frontmost window. Uses arrow key simulation for cross-app compati Execute ui_type Type text into the currently focused field using simulated keystrokes via System Events. Optionally activate a
WRITE 62 tools
Write add_bookmark DEPRECATED: Safari removed bookmark scripting in macOS 26. This tool returns an error on unsupported hosts. Write add_contact_email Add an email address to an existing contact. Write add_contact_phone Add a phone number to an existing contact. Write add_to_album Add photos to an existing album by photo IDs and album name. Write add_to_playlist Add a track to an existing playlist. Write add_to_reading_list Add a URL to Safari Write bulk_move_notes Move multiple notes to a target folder at once. Same limitations as move_note apply to each successful move (n Write capture_screenshot Capture the screen to an image file at the given path — writes a file; needs macOS Screen Recording permission Write complete_reminder Mark a reminder as completed or un-complete it. Write create_album Create a new photo album. Write create_contact Create a new contact with name and optional email, phone, organization. Write create_directory Create a new directory (and intermediate directories if needed). Write create_event Create a new calendar event. Recurring events cannot be created via automation. Attendees cannot be added prog Write create_folder Create a new folder in Apple Notes — a non-destructive write. Optionally specify which account to create it in Write create_note Create a new note with HTML body. The first line of the body becomes the note title automatically. Optionally Write create_playlist Create a new playlist in Music. Write create_recurring_event Create a recurring calendar event via EventKit. Supports daily, weekly, monthly, and yearly recurrence with co Write create_recurring_reminder Create a recurring reminder via EventKit. Supports daily, weekly, monthly, and yearly recurrence with configur Write create_reminder Create a new reminder. Optionally set notes, due date, priority (0=none, 1-4=high, 5=medium, 6-9=low), and tar Write create_reminder_list Create a new reminder list. Write create_shortcut Create a new empty Siri Shortcut by name — drives the Shortcuts app via UI automation (needs Accessibility per Write export_shortcut Export a Siri Shortcut to a .shortcut file. Uses the macOS shortcuts CLI to save the shortcut to the specified Write flag_message Flag or unflag an email message. Write generate_text Generate text using Apple Write gws_calendar_create Create an event in Google Calendar. Write gws_gmail_send Send an email via Gmail. Encodes the message in RFC 2822 format. Write gws_sheets_write Write values to a Google Sheets range. Write gws_tasks_create Create a task in Google Tasks. Write import_photo Import a photo from a file path into Photos library. Optionally add to an existing album. Requires macOS 26+ S Write keynote_add_slide Add a new slide to a Keynote presentation. Write keynote_close_document Close an open Keynote presentation, optionally saving changes. Write keynote_create_document Create a new blank Keynote presentation. Write keynote_export_pdf Export a Keynote presentation to PDF. Will overwrite an existing file at the same path. Write keynote_set_presenter_notes Set presenter notes on a specific slide. Write mark_message_read Mark an email message as read or unread. Write memory_put Insert or update a context-memory entry. Use Write move_file Move or rename a file or folder to a new location. Write move_message Move a message to another mailbox. Write numbers_add_sheet Add a new sheet to a Numbers spreadsheet. Write numbers_close_document Close an open Numbers spreadsheet, optionally saving changes. Write numbers_create_document Create a new blank Numbers spreadsheet. Write numbers_export_pdf Export a Numbers spreadsheet to PDF. Will overwrite an existing file at the same path. Write numbers_rename_sheet Rename a sheet in place. Numbers does NOT allow duplicate sheet names; the call fails with errJxa when the new Write numbers_set_cell Write a value to a single cell. Write pages_close_document Close an open Pages document, optionally saving changes. Write pages_create_document Create a new blank Pages document. Write pages_export_pdf Export an open Pages document to PDF. Will overwrite an existing file at the same path. Write pages_set_body_text Replace the body text of an open Pages document. Write reply_mail Reply to an email message. Requires allowSendMail config. Write send_mail Compose and send an email via Apple Mail. Requires allowSendMail config. Write send_message Send a text message via iMessage/SMS. Requires a phone number or email as the target handle. Write set_clipboard Write text to the system clipboard, replacing its current content. Write set_disliked Mark or unmark a track as disliked. Write set_favorited Mark or unmark a track as favorited (loved). Write set_file_tags Set Finder tags on a file. Replaces all existing tags. Write set_rating Set the star rating (0-100) for a track. Use multiples of 20 for full stars (0, 20, 40, 60, 80, 100). Write set_shuffle Enable/disable shuffle and set repeat mode (off, one, all). Write spotlight_sync Push semantically indexed data to macOS Core Spotlight, making it discoverable via Spotlight search and Siri. Write update_contact Update contact properties. Only specified fields are changed. Write update_event Update event properties. Only specified fields are changed. Attendees and recurrence rules cannot be modified Write update_note Replace the entire body of an existing note. WARNING: This overwrites all content. Read the note first if you Write update_reminder Update fields of an existing reminder in Apple Reminders — a write to user data; only the fields you pass chan
READ 147 tools
Read ai_status Check availability and status of Apple Read audit_log Query the on-device audit log of tool calls. Reads JSONL rows from ~/.airmcp/audit.jsonl (+ rotated siblings) Read audit_summary Aggregate the audit log over a time window — total call count, error rate, and the busiest tools. Read capture_area Capture a screenshot of a specific rectangular region of the screen. Coordinates are in screen pixels with ori Read capture_screen Capture a full-screen screenshot as a PNG image. Optionally specify a display number for multi-monitor setups Read capture_window Capture a screenshot of the frontmost window. Optionally specify an app name to activate that app first and ca Read classify_image Classify an image using Apple Vision framework. Returns labels with confidence scores Read cloud_sync_status Check iCloud sync status — see what usage data and config is synced across your Apple devices. Read compare_notes Retrieve full plaintext content of 2-5 notes at once for comparison. Use this after scan_notes to safely compa Read discover_tools Search available tools by keyword. Returns matching tools with descriptions. Read event_status Check if real-time event monitoring is active. Read find_related Find items semantically related to a note, event, reminder, or email ID across indexed Apple apps — read-only; Read geocode Convert a place name or address to geographic coordinates. Returns up to 5 matching locations with latitude, l Read get_battery_status Get battery percentage, charging state, power source, and estimated time remaining. Read get_bluetooth_state Check whether Bluetooth is powered on, off, or unauthorized. Read get_brightness Get the current display brightness level. Read get_clipboard Read the current text content of the system clipboard. Read get_current_location Get the device Read get_current_tab Get the title and URL of the active Safari tab. Read get_current_weather Get current weather conditions for a location using coordinates. Read get_daily_forecast Get daily weather forecast for a location. Read get_directions Get directions between two locations in Apple Maps. Read get_file_info Get detailed file information including size, dates, kind, and tags. Read get_frontmost_app Get the name, bundle identifier, and PID of the currently active (frontmost) application. Read get_hourly_forecast Get the hour-by-hour weather forecast (temperature, precipitation, wind) for a latitude/longitude via the Open Read get_location_permission Check the current Location Services authorization status. Read get_photo_info Get detailed metadata for a specific photo by ID. Read get_rating Get the rating, favorited, and disliked status for a track. Read get_screen_info Get display information including resolution, pixel dimensions, and Retina status. Read get_shortcut_detail Get details about a Siri Shortcut including its actions. Read get_track_info Get detailed metadata for a specific track by name. Read get_unread_count Get unread message count across all mailboxes. Read get_upcoming_events Get the next N upcoming events from now (searches up to 30 days ahead). A convenience wrapper that doesn Read get_volume Get the current system output volume level and mute state. Read get_wifi_status Get the current WiFi status including connected network name, signal strength, and channel. Read get_workflow Retrieve a registered MCP prompt by name and return its workflow instructions as text. Read gws_calendar_list List upcoming events from Google Calendar. Read gws_docs_read Read the content of a Google Doc by document ID. Read gws_drive_list List files in Google Drive. Supports query filters. Read gws_drive_read Get metadata for a Google Drive file by ID. Read gws_drive_search Full-text search across Google Drive files by content or name. Read gws_gmail_list List recent Gmail messages. Supports query filters (e.g. Read gws_gmail_read Read a Gmail message by ID. Returns subject, from, to, date, and body. Read gws_people_search Search contacts in Google People/Contacts. Read gws_sheets_read Read cell values from a Google Sheets spreadsheet. Read gws_status Check if Google Workspace CLI (gws) is installed and authenticated. Read gws_tasks_list List tasks from Google Tasks (default task list). Read health_authorize Request read-only HealthKit authorization. Call this first if other health tools return permission errors. Read health_heart_rate Get average resting heart rate over the last 7 days (bpm) from HealthKit. Read health_sleep Get total sleep hours for a given date (defaults to last night). Only counts actual sleep stages, not time in Read health_summary Get a combined health dashboard: today Read health_today_steps Get aggregated step count for today from HealthKit. Read is_app_running Check whether an application is currently running. Returns process details if found. Read keynote_get_slide Get detailed content of a specific slide including all text items and presenter notes. Read keynote_list_documents List all open Keynote presentations. Read keynote_list_slides List all slides in a Keynote presentation with title, body preview, and presenter notes. Read list_accounts List all mail accounts. Read list_albums List all photo albums with name and item count. Read list_all_windows List windows across all running applications with title, size, position, app name, and PID. Read list_bluetooth_devices List paired Bluetooth devices with their connection status. Read list_bookmarks List all Safari bookmarks across all folders, including subfolder paths. Read list_calendars List all calendars with name, color, and writable status. Read list_chats List recent chats in Messages with participants and last update time. Read list_contacts List contacts with name, primary email, and phone. Supports pagination. Read list_directory List files and folders in a directory with metadata (kind, size, modification date). Read list_events List events within a date range. Requires startDate and endDate (ISO 8601). Optionally filter by calendar name Read list_favorites List photos marked as favorites. Read list_folders List all folders across all accounts with note counts. Read list_group_members List contacts in a specific group. Read list_groups List all contact groups. Read list_mailboxes List all mailboxes across accounts with unread counts. Read list_messages List recent messages in a mailbox (e.g. Read list_notes List all notes with title, folder, and dates. Optionally filter by folder name. Supports pagination via limit/ Read list_participants List all participants in a specific chat. Read list_photos List photos in an album with metadata. Use list_albums to find album names first. Read list_playlists List all Music playlists with track counts and duration. Read list_podcast_episodes List episodes of a podcast show with title, date, duration, and played status. Read list_podcast_shows List all subscribed podcast shows with episode counts. Read list_reading_list List all items in Safari Read list_reminder_lists List all reminder lists with reminder counts. Read list_reminders List reminders. Optionally filter by list name and/or completion status. Supports pagination via limit/offset. Read list_running_apps List all running applications with name, bundle identifier, PID, and visibility. Read list_shortcuts List all available Siri Shortcuts on this Mac. Read list_tabs List all open tabs across all Safari windows with title and URL. Read list_tracks List tracks in a playlist with name, artist, album, and duration. Read list_triggers Show all skills with event triggers (calendar_changed, reminders_changed, pasteboard_changed, mail_unread_chan Read list_windows List all visible windows across all running applications. Returns JSON with each window Read local_llm_status Check if a local Ollama LLM is available and list installed models. Read memory_query List non-expired memory entries. All filters are AND-combined. Returns entries Read memory_stats Summarize the context-memory store: counts by kind, oldest/newest timestamps, Read now_playing Get the currently playing track and playback state. Read numbers_get_cell Read a single cell value by address (e.g. Read numbers_get_formula Read the literal formula behind a cell (e.g. Read numbers_list_documents List all open Numbers spreadsheets. Read numbers_list_sheets List all sheets (tabs) in a Numbers spreadsheet. Read numbers_list_tables List every table in a Numbers sheet with its name + dimensions. Read numbers_read_cells Read a range of cells from a sheet. Uses 0-based row/column indices. Read pages_get_body_text Get the body text content of an open Pages document. Read pages_list_documents List all open Pages documents with name, path, and modified status. Read podcast_now_playing Get the currently playing podcast episode and playback state. Read proactive_context Get contextually relevant tool and workflow suggestions based on time of day, day of week, and your usage patt Read proofread_text Proofread and correct grammar/spelling using Apple Intelligence (on-device Foundation Models). Requires macOS Read query_photos Query the Photos library with filters: media type, date range, favorites. Read read_chat Read chat details including participants and last update time by chat ID. Read read_contact Read full details of a contact by ID including all emails, phones, and addresses. Read read_event Read full details of a calendar event by ID. Includes attendees (read-only), location, description, and recurr Read read_message Read full content of an email message by ID. Content length is configurable (default: 5000 chars, max: 100000) Read read_note Read the full content of a specific note by its ID. Returns HTML body and plaintext. Read read_page_content Read the HTML source of a Safari tab. Specify window and tab index from list_tabs. Read read_reminder Read the full details of a specific reminder by ID. Read recent_files Find recently modified files in a folder using Spotlight. Read reverse_geocode Convert geographic coordinates to a place name and address. Read scan_bluetooth Scan for nearby BLE (Bluetooth Low Energy) devices. Returns device names, UUIDs, and signal strength (RSSI). Read scan_document Extract text and structure from an image file using Apple Vision framework OCR. Read scan_notes Bulk scan notes returning metadata and a text preview for each. Supports pagination via offset. Optionally fil Read search_chats Search chats by participant name, handle, or chat name. Read search_contacts Search contacts by name, email, phone, or organization. Read search_events Search events by keyword in title or description within a date range. Read search_files Search files using Spotlight (mdfind). Searches file names and content. Read search_location Search for a place or location in Apple Maps. Read search_messages Search messages by keyword in subject or sender within a mailbox. Read search_nearby Search for places near a location in Apple Maps. If no coordinates are given, searches near the current locati Read search_notes Search notes by keyword in title and body. Returns matching notes with a 200-char preview. Read search_photos Search photos by filename, name, or description keyword. Read search_podcast_episodes Search across all podcast episodes by name or description. Read search_reminders Search reminders by keyword in name or body across all lists (case-insensitive). Read search_shortcuts Search Siri Shortcuts by name keyword. Read search_tabs Search open Safari tabs by title or URL keyword. Read search_tracks Search tracks in Music library by name, artist, or album. Read semantic_search Search across Apple app data by meaning, not just keywords. Read semantic_status Show the current state of the semantic vector index -- total entries, breakdown by source. Read share_location Generate a shareable Apple Maps link for a location. Read smart_clipboard Get clipboard content with automatic type detection (text, URL, email, phone, date, file path, image). More st Read speech_availability Check if on-device speech recognition is available and authorized. Read suggest_next_tools Based on your usage patterns, suggest which tools typically follow a given tool. Read summarize_context Gather recent context from enabled Apple apps and produce a concise briefing via MCP sampling — read-only; the Read summarize_text Summarize text using Apple Intelligence (on-device Foundation Models). Requires macOS 26+ with Apple Silicon. Read today_events Get all calendar events for today. Read transcribe_audio Transcribe an audio file to text using Apple Read tv_list_playlists List all playlists (libraries) in Apple TV app. Read tv_list_tracks List movies/episodes in a TV playlist. Read tv_now_playing Get currently playing content in Apple TV app. Read tv_search Search movies and TV shows by name or show title. Read ui_accessibility_query Search for UI elements by accessibility attributes (role, title, value, description, identifier). Read ui_diff Compare the current UI state against a previous snapshot to detect changes. Read ui_read Read the accessibility tree of the frontmost app (or specified app). Returns structured data about all visible Read ui_traverse Breadth-first traversal of the accessibility tree. Returns a flat list of all UI elements

Related servers

Other MCP servers with similar tools — same risk classification, starter policies for each.

Questions about AirMCP

Can an AI agent delete data through the Air MCP server? +

Yes. The AirMCP server exposes 18 destructive tools including close_tab, delete_contact, delete_event. These permanently remove resources with no undo. PolicyLayer blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through AirMCP? +

The AirMCP server has 62 write tools including add_bookmark, add_contact_email, add_contact_phone. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach AirMCP.

How many tools does the Air MCP server expose? +

279 tools across 4 categories: Destructive, Execute, Read, Write. 147 are read-only. 132 can modify, create, or delete data.

How do I enforce a policy on AirMCP? +

Register the Air MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every AirMCP tool call.

Deterministic rules across all 279 AirMCP tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Instant setup, no code required.

279 AirMCP tools catalogued and risk-classified — across an index of 46,500+ MCP servers.

// WHERE THIS COMES FROM

These policies come from Air's registry record.

The record behind this page: verified identity, auth posture, risk grade, every tool classified, recommended policy — re-checked continuously.

Teams ship this data inside their own products. See what a licence covers →

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.