# AirMCP MCP server

Agent View of the PolicyLayer registry record for AirMCP: identity, probed posture, risk grade, and all 279 tools classified. HTML page: https://policylayer.com/tools/heznpc-airmcp

## Facts

- Server id: `airmcp`
- Install: `npx -y airmcp`
- Homepage: https://github.com/heznpc/AirMCP
- Registry record: grade F, identity unverified
- Lifecycle: active
- Rate-limited: no
- Tools: 279
- Tool categories present: Destructive, Execute, Read, Write
- Tags: heznpc airmcp, admin, automation
- Record last modified: 2026-06-12T18:30:01.391Z

## Tools (279)

| Tool | Category | Risk | Record |
| --- | --- | --- | --- |
| `close_tab` | Destructive | Critical | https://policylayer.com/tools/heznpc-airmcp/close-tab.md |
| `delete_contact` | Destructive | Critical | https://policylayer.com/tools/heznpc-airmcp/delete-contact.md |
| `delete_event` | Destructive | Critical | https://policylayer.com/tools/heznpc-airmcp/delete-event.md |
| `delete_note` | Destructive | Critical | https://policylayer.com/tools/heznpc-airmcp/delete-note.md |
| `delete_photos` | Destructive | Critical | https://policylayer.com/tools/heznpc-airmcp/delete-photos.md |
| `delete_playlist` | Destructive | Critical | https://policylayer.com/tools/heznpc-airmcp/delete-playlist.md |
| `delete_reminder` | Destructive | Critical | https://policylayer.com/tools/heznpc-airmcp/delete-reminder.md |
| `delete_reminder_list` | Destructive | Critical | https://policylayer.com/tools/heznpc-airmcp/delete-reminder-list.md |
| `delete_shortcut` | Destructive | Critical | https://policylayer.com/tools/heznpc-airmcp/delete-shortcut.md |
| `memory_forget` | Destructive | Critical | https://policylayer.com/tools/heznpc-airmcp/memory-forget.md |
| `move_note` | Destructive | Critical | https://policylayer.com/tools/heznpc-airmcp/move-note.md |
| `quit_app` | Destructive | Critical | https://policylayer.com/tools/heznpc-airmcp/quit-app.md |
| `remove_from_playlist` | Destructive | Critical | https://policylayer.com/tools/heznpc-airmcp/remove-from-playlist.md |
| `semantic_clear` | Destructive | Critical | https://policylayer.com/tools/heznpc-airmcp/semantic-clear.md |
| `semantic_index` | Destructive | Critical | https://policylayer.com/tools/heznpc-airmcp/semantic-index.md |
| `spotlight_clear` | Destructive | Critical | https://policylayer.com/tools/heznpc-airmcp/spotlight-clear.md |
| `system_power` | Destructive | Critical | https://policylayer.com/tools/heznpc-airmcp/system-power.md |
| `trash_file` | Destructive | Critical | https://policylayer.com/tools/heznpc-airmcp/trash-file.md |
| `activate_tab` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/activate-tab.md |
| `ai_agent` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/ai-agent.md |
| `ai_chat` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/ai-chat.md |
| `ai_plan_metrics` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/ai-plan-metrics.md |
| `connect_bluetooth` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/connect-bluetooth.md |
| `disconnect_bluetooth` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/disconnect-bluetooth.md |
| `drop_pin` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/drop-pin.md |
| `duplicate_shortcut` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/duplicate-shortcut.md |
| `edit_shortcut` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/edit-shortcut.md |
| `event_subscribe` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/event-subscribe.md |
| `generate_image` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/generate-image.md |
| `generate_structured` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/generate-structured.md |
| `gws_raw` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/gws-raw.md |
| `import_shortcut` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/import-shortcut.md |
| `keynote_start_slideshow` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/keynote-start-slideshow.md |
| `launch_app` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/launch-app.md |
| `local_llm_generate` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/local-llm-generate.md |
| `minimize_window` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/minimize-window.md |
| `move_window` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/move-window.md |
| `open_address` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/open-address.md |
| `open_url` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/open-url.md |
| `pages_open_document` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/pages-open-document.md |
| `play_playlist` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/play-playlist.md |
| `play_podcast_episode` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/play-podcast-episode.md |
| `play_track` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/play-track.md |
| `playback_control` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/playback-control.md |
| `podcast_playback_control` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/podcast-playback-control.md |
| `prevent_sleep` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/prevent-sleep.md |
| `record_screen` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/record-screen.md |
| `resize_window` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/resize-window.md |
| `rewrite_text` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/rewrite-text.md |
| `run_javascript` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/run-javascript.md |
| `run_shortcut` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/run-shortcut.md |
| `send_file` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/send-file.md |
| `set_brightness` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/set-brightness.md |
| `set_volume` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/set-volume.md |
| `setup_permissions` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/setup-permissions.md |
| `show_notification` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/show-notification.md |
| `system_sleep` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/system-sleep.md |
| `tag_content` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/tag-content.md |
| `toggle_dark_mode` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/toggle-dark-mode.md |
| `toggle_focus_mode` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/toggle-focus-mode.md |
| `toggle_wifi` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/toggle-wifi.md |
| `tv_play` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/tv-play.md |
| `tv_playback_control` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/tv-playback-control.md |
| `ui_click` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/ui-click.md |
| `ui_open_app` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/ui-open-app.md |
| `ui_perform_action` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/ui-perform-action.md |
| `ui_press_key` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/ui-press-key.md |
| `ui_scroll` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/ui-scroll.md |
| `ui_type` | Execute | High | https://policylayer.com/tools/heznpc-airmcp/ui-type.md |
| `generate_plan` | Other | Low | https://policylayer.com/tools/heznpc-airmcp/generate-plan.md |
| `ai_status` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/ai-status.md |
| `audit_log` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/audit-log.md |
| `audit_summary` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/audit-summary.md |
| `capture_area` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/capture-area.md |
| `capture_screen` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/capture-screen.md |
| `capture_window` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/capture-window.md |
| `classify_image` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/classify-image.md |
| `cloud_sync_status` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/cloud-sync-status.md |
| `compare_notes` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/compare-notes.md |
| `discover_tools` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/discover-tools.md |
| `event_status` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/event-status.md |
| `find_related` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/find-related.md |
| `geocode` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/geocode.md |
| `get_battery_status` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/get-battery-status.md |
| `get_bluetooth_state` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/get-bluetooth-state.md |
| `get_brightness` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/get-brightness.md |
| `get_clipboard` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/get-clipboard.md |
| `get_current_location` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/get-current-location.md |
| `get_current_tab` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/get-current-tab.md |
| `get_current_weather` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/get-current-weather.md |
| `get_daily_forecast` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/get-daily-forecast.md |
| `get_directions` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/get-directions.md |
| `get_file_info` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/get-file-info.md |
| `get_frontmost_app` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/get-frontmost-app.md |
| `get_hourly_forecast` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/get-hourly-forecast.md |
| `get_location_permission` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/get-location-permission.md |
| `get_photo_info` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/get-photo-info.md |
| `get_rating` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/get-rating.md |
| `get_screen_info` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/get-screen-info.md |
| `get_shortcut_detail` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/get-shortcut-detail.md |
| `get_track_info` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/get-track-info.md |
| `get_unread_count` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/get-unread-count.md |
| `get_upcoming_events` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/get-upcoming-events.md |
| `get_volume` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/get-volume.md |
| `get_wifi_status` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/get-wifi-status.md |
| `get_workflow` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/get-workflow.md |
| `gws_calendar_list` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/gws-calendar-list.md |
| `gws_docs_read` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/gws-docs-read.md |
| `gws_drive_list` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/gws-drive-list.md |
| `gws_drive_read` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/gws-drive-read.md |
| `gws_drive_search` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/gws-drive-search.md |
| `gws_gmail_list` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/gws-gmail-list.md |
| `gws_gmail_read` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/gws-gmail-read.md |
| `gws_people_search` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/gws-people-search.md |
| `gws_sheets_read` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/gws-sheets-read.md |
| `gws_status` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/gws-status.md |
| `gws_tasks_list` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/gws-tasks-list.md |
| `health_authorize` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/health-authorize.md |
| `health_heart_rate` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/health-heart-rate.md |
| `health_sleep` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/health-sleep.md |
| `health_summary` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/health-summary.md |
| `health_today_steps` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/health-today-steps.md |
| `is_app_running` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/is-app-running.md |
| `keynote_get_slide` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/keynote-get-slide.md |
| `keynote_list_documents` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/keynote-list-documents.md |
| `keynote_list_slides` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/keynote-list-slides.md |
| `list_accounts` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-accounts.md |
| `list_albums` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-albums.md |
| `list_all_windows` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-all-windows.md |
| `list_bluetooth_devices` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-bluetooth-devices.md |
| `list_bookmarks` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-bookmarks.md |
| `list_calendars` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-calendars.md |
| `list_chats` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-chats.md |
| `list_contacts` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-contacts.md |
| `list_directory` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-directory.md |
| `list_events` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-events.md |
| `list_favorites` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-favorites.md |
| `list_folders` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-folders.md |
| `list_group_members` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-group-members.md |
| `list_groups` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-groups.md |
| `list_mailboxes` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-mailboxes.md |
| `list_messages` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-messages.md |
| `list_notes` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-notes.md |
| `list_participants` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-participants.md |
| `list_photos` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-photos.md |
| `list_playlists` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-playlists.md |
| `list_podcast_episodes` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-podcast-episodes.md |
| `list_podcast_shows` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-podcast-shows.md |
| `list_reading_list` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-reading-list.md |
| `list_reminder_lists` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-reminder-lists.md |
| `list_reminders` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-reminders.md |
| `list_running_apps` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-running-apps.md |
| `list_shortcuts` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-shortcuts.md |
| `list_tabs` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-tabs.md |
| `list_tracks` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-tracks.md |
| `list_triggers` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-triggers.md |
| `list_windows` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/list-windows.md |
| `local_llm_status` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/local-llm-status.md |
| `memory_query` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/memory-query.md |
| `memory_stats` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/memory-stats.md |
| `now_playing` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/now-playing.md |
| `numbers_get_cell` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/numbers-get-cell.md |
| `numbers_get_formula` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/numbers-get-formula.md |
| `numbers_list_documents` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/numbers-list-documents.md |
| `numbers_list_sheets` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/numbers-list-sheets.md |
| `numbers_list_tables` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/numbers-list-tables.md |
| `numbers_read_cells` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/numbers-read-cells.md |
| `pages_get_body_text` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/pages-get-body-text.md |
| `pages_list_documents` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/pages-list-documents.md |
| `podcast_now_playing` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/podcast-now-playing.md |
| `proactive_context` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/proactive-context.md |
| `proofread_text` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/proofread-text.md |
| `query_photos` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/query-photos.md |
| `read_chat` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/read-chat.md |
| `read_contact` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/read-contact.md |
| `read_event` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/read-event.md |
| `read_message` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/read-message.md |
| `read_note` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/read-note.md |
| `read_page_content` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/read-page-content.md |
| `read_reminder` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/read-reminder.md |
| `recent_files` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/recent-files.md |
| `reverse_geocode` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/reverse-geocode.md |
| `scan_bluetooth` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/scan-bluetooth.md |
| `scan_document` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/scan-document.md |
| `scan_notes` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/scan-notes.md |
| `search_chats` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/search-chats.md |
| `search_contacts` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/search-contacts.md |
| `search_events` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/search-events.md |
| `search_files` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/search-files.md |
| `search_location` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/search-location.md |
| `search_messages` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/search-messages.md |
| `search_nearby` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/search-nearby.md |
| `search_notes` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/search-notes.md |
| `search_photos` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/search-photos.md |
| `search_podcast_episodes` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/search-podcast-episodes.md |
| `search_reminders` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/search-reminders.md |
| `search_shortcuts` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/search-shortcuts.md |
| `search_tabs` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/search-tabs.md |
| `search_tracks` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/search-tracks.md |
| `semantic_search` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/semantic-search.md |
| `semantic_status` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/semantic-status.md |
| `share_location` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/share-location.md |
| `smart_clipboard` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/smart-clipboard.md |
| `speech_availability` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/speech-availability.md |
| `suggest_next_tools` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/suggest-next-tools.md |
| `summarize_context` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/summarize-context.md |
| `summarize_text` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/summarize-text.md |
| `today_events` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/today-events.md |
| `transcribe_audio` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/transcribe-audio.md |
| `tv_list_playlists` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/tv-list-playlists.md |
| `tv_list_tracks` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/tv-list-tracks.md |
| `tv_now_playing` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/tv-now-playing.md |
| `tv_search` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/tv-search.md |
| `ui_accessibility_query` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/ui-accessibility-query.md |
| `ui_diff` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/ui-diff.md |
| `ui_read` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/ui-read.md |
| `ui_traverse` | Read | Low | https://policylayer.com/tools/heznpc-airmcp/ui-traverse.md |
| `add_bookmark` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/add-bookmark.md |
| `add_contact_email` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/add-contact-email.md |
| `add_contact_phone` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/add-contact-phone.md |
| `add_to_album` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/add-to-album.md |
| `add_to_playlist` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/add-to-playlist.md |
| `add_to_reading_list` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/add-to-reading-list.md |
| `bulk_move_notes` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/bulk-move-notes.md |
| `capture_screenshot` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/capture-screenshot.md |
| `complete_reminder` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/complete-reminder.md |
| `create_album` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/create-album.md |
| `create_contact` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/create-contact.md |
| `create_directory` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/create-directory.md |
| `create_event` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/create-event.md |
| `create_folder` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/create-folder.md |
| `create_note` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/create-note.md |
| `create_playlist` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/create-playlist.md |
| `create_recurring_event` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/create-recurring-event.md |
| `create_recurring_reminder` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/create-recurring-reminder.md |
| `create_reminder` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/create-reminder.md |
| `create_reminder_list` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/create-reminder-list.md |
| `create_shortcut` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/create-shortcut.md |
| `export_shortcut` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/export-shortcut.md |
| `flag_message` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/flag-message.md |
| `generate_text` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/generate-text.md |
| `gws_calendar_create` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/gws-calendar-create.md |
| `gws_gmail_send` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/gws-gmail-send.md |
| `gws_sheets_write` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/gws-sheets-write.md |
| `gws_tasks_create` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/gws-tasks-create.md |
| `import_photo` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/import-photo.md |
| `keynote_add_slide` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/keynote-add-slide.md |
| `keynote_close_document` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/keynote-close-document.md |
| `keynote_create_document` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/keynote-create-document.md |
| `keynote_export_pdf` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/keynote-export-pdf.md |
| `keynote_set_presenter_notes` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/keynote-set-presenter-notes.md |
| `mark_message_read` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/mark-message-read.md |
| `memory_put` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/memory-put.md |
| `move_file` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/move-file.md |
| `move_message` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/move-message.md |
| `numbers_add_sheet` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/numbers-add-sheet.md |
| `numbers_close_document` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/numbers-close-document.md |
| `numbers_create_document` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/numbers-create-document.md |
| `numbers_export_pdf` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/numbers-export-pdf.md |
| `numbers_rename_sheet` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/numbers-rename-sheet.md |
| `numbers_set_cell` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/numbers-set-cell.md |
| `pages_close_document` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/pages-close-document.md |
| `pages_create_document` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/pages-create-document.md |
| `pages_export_pdf` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/pages-export-pdf.md |
| `pages_set_body_text` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/pages-set-body-text.md |
| `reply_mail` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/reply-mail.md |
| `send_mail` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/send-mail.md |
| `send_message` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/send-message.md |
| `set_clipboard` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/set-clipboard.md |
| `set_disliked` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/set-disliked.md |
| `set_favorited` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/set-favorited.md |
| `set_file_tags` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/set-file-tags.md |
| `set_rating` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/set-rating.md |
| `set_shuffle` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/set-shuffle.md |
| `spotlight_sync` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/spotlight-sync.md |
| `update_contact` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/update-contact.md |
| `update_event` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/update-event.md |
| `update_note` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/update-note.md |
| `update_reminder` | Write | Medium | https://policylayer.com/tools/heznpc-airmcp/update-reminder.md |

## Tool descriptions

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

## Related servers

- UnClick (1658 tools) — https://policylayer.com/tools/io-github-malamutemayhem-unclick-mcp-server.md
- Nodebench (824 tools) — https://policylayer.com/tools/io-github-homenshum-nodebench.md
- Yaver (812 tools) — https://policylayer.com/tools/io-github-kivanccakmak-yaver.md
- Binance MCP Server (734 tools) — https://policylayer.com/tools/nirholas-binance-mcp.md
- Crow (587 tools) — https://policylayer.com/tools/kh0pper-crow.md
- Fortimanager (584 tools) — https://policylayer.com/tools/jmpijll-fortimanager-mcp.md
- TinyFn (572 tools) — https://policylayer.com/tools/io-tinyfn-tinyfn.md
- Mcp (571 tools) — https://policylayer.com/tools/io-github-2s-io-mcp.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=heznpc-airmcp · API: https://policylayer.com/registry/api · Recommended policies for every tool: https://policylayer.com/policies/heznpc-airmcp
