Local

234 tools. 103 can modify or destroy data without limits.

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

Last updated:

103 can modify or destroy data
131 read-only
234 tools total

Community server · catalogue entry checked 22/07/2026 · full schemas captured for 200 of 234 tools

How to control Local ↓

What Local exposes to your agents

Read (131) Write / Execute (97) Destructive / Financial (6)

What Local costs in tokens

27,464 tokens of tool definitions, loaded on every request
14% of a 200k context window
336 heaviest tool: report_problem
Critical Risk

The most dangerous Local tools

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

How to control Local

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

Deny destructive operations
{
  "delete_calendar_event": {
    "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
{
  "complete_omnifocus_task": {
    "limits": [
      {
        "counter": "complete_omnifocus_task_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "chrome_list_tabs": {
    "limits": [
      {
        "counter": "chrome_list_tabs_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 Local — 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 LOCAL →

Instant setup, no code required.

All 234 Local tools

EXECUTE 40 tools
Execute chrome_click Clicks the first element matching a CSS selector in the current Google Chrome tab. Returns the tag name and vi Execute chrome_evaluate_js Runs arbitrary JavaScript in the current Google Chrome tab and returns its result. Requires 'Allow JavaScript Execute chrome_fill_form Fills multiple form fields in one shot in the current Google Chrome tab. Pass fields as a JSON object mapping Execute chrome_go_back Navigates the current Google Chrome tab back to the previous page. Execute chrome_navigate Navigates Google Chrome to a URL. Pass new_tab=true to open in a new tab. Execute chrome_type Sets the value of an input/textarea matching a CSS selector in the current Google Chrome tab and fires input/c Execute chrome_wait_for Polls the current Google Chrome tab until a CSS selector appears (or its text matches, if text_match is provid Execute nordvpn_diagnose Run a diagnostic check on NordVPN: installation, login state, connection status, kill switch, and supported pr Execute notion_open_page Opens a Notion page in the desktop app (deep link). Accepts a page id or title. Useful to let the user view or Execute recipe_run Executes a recipe end to end: binds params, runs each step's tool in order via the registry, persists the run Execute run_diagnostics Runs a fast health check of all LMCP integrations on this machine. Shows what works, what doesn't, and how to Execute run_terminal_command Runs a shell command on the user's Mac and returns its output. OFF by default — the user must turn it on in th Execute safari_click Clicks the first element matching a CSS selector in the current Safari tab. Returns the tag name and visible t Execute safari_evaluate_js Runs arbitrary JavaScript in the current Safari tab and returns its result. Requires 'Allow JavaScript from Ap Execute safari_fill_form Fills multiple form fields in one shot. Pass fields as a JSON object mapping CSS selector to value. Execute safari_go_back Navigates the current Safari tab back to the previous page. Execute safari_navigate Navigates Safari to a URL. Pass new_tab=true to open in a new tab. Execute safari_query_selector_all Runs document.querySelectorAll in the current Safari tab and returns a compact summary of each match. Execute safari_type Sets the value of an input/textarea matching a CSS selector and fires input/change events. Execute safari_wait_for Polls the current Safari tab until a CSS selector appears (or its text matches, if text_match is provided). Us Execute screen_record_start Begins a screen recording (ScreenCaptureKit) of a display, window, or region. Single active session in v1 — a Execute screen_record_stop Stops the active recording, finalizes the .mov, and writes the marker timeline JSON (§6) next to it. Returns t Execute setup_install Install LMCP — free Mac app giving the user access to Mail, Calendar, Contacts, Teams, OneDrive, Notes, Remind Execute ui_click Clicks an element (by element_ref, at its center) or a screen coordinate (by coords). button left|right, count Execute ui_keystroke Sends a key combination, e.g. "cmd+shift+5", "return", "cmd+,", "escape". Modifiers: cmd, shift, alt/option, c Execute ui_menu_bar_click Clicks a status-bar (menu bar extra / NSStatusItem) item and optionally follows a nested menu path. Best-effor Execute ui_type Types text into the focused control (or focuses element_ref first, then types). Sends real key events so valid Execute ui_wait_for_element Deterministic synchronization — replaces all sleeps. Polls for an element until it reaches state (present|enab Execute update_local_mcp Checks for and installs LMCP updates. Installing downloads the update and RESTARTS LMCP (the AI client briefly Execute web_click Clicks an element on the current page. target is a CSS selector or visible text (resolved fresh each call). Cl Execute web_eval Runs arbitrary JavaScript in a web session and returns the last expression's value. POWER-USER tool, OFF BY DE Execute web_login Opens a real browser window on the Mac for the user to sign into a website themselves (you never handle their Execute web_navigate Navigates a web session to a URL (using its saved login if any) and returns the resulting URL + page title. Op Execute web_session_close Closes a web-automation session's window and frees it. The saved login stays on disk, so web_login/web_navigat Execute web_show Brings a web session's browser window to the FRONT so the USER can take over directly — solve a CAPTCHA, compl Execute web_wait_for Waits (polls, not a fixed sleep) until a JavaScript condition is truthy on the page, or times out. Use for SPA Execute whatsapp_connect Link WhatsApp to Local MCP by showing a QR code right here in the chat — no Terminal needed. Call this, then o Execute window_focus Brings a window (by window_id from list_windows) to the front and activates its app. window_not_found if it ca Execute window_set_frame Pins a window (by window_id) to fixed bounds {x,y,w,h} in global points, so every take is framed identically a Execute zalo_connect Link Zalo to Local MCP by showing a QR code right here in the chat. Call this, then on your phone open Zalo →
WRITE 57 tools
Write complete_omnifocus_task Marks an OmniFocus task as complete by task ID or name. Requires confirm=true. Write complete_reminder Marks a reminder complete in Apple Reminders (Reminders.app). Requires confirm=true. For Microsoft To Do use t Write connect_m365_account Connect your Microsoft 365 account. Call once to get a login code, then call again after you've authenticated Write connect_servicenow Connect to your ServiceNow instance using your username and password. Credentials are stored locally and never Write create_calendar_event Creates an event in the Mac's Calendar app (Calendar.app). Requires title, start_date, end_date. Optionally in Write create_draft Saves an email to the Mail.app Drafts folder for the user to review and send manually — never sends. Composes Write create_email_folder Creates a new mailbox folder in Mail.app. Write create_note Creates a new note in Apple Notes. The body accepts Markdown (headings, bold/italic, bullet/numbered lists, li Write create_omnifocus_task Creates a new task in OmniFocus. Requires confirm=true to execute. Write create_referral_invites Step 2 of the colleague-invite flow. Given the recipients the user PICKED, records each invite and returns a U Write create_reminder Creates a reminder in Reminders.app. Write create_reminder_list Creates a new list in Apple Reminders (Reminders.app). Requires confirm=true. Write disconnect_m365_account Disconnect your Microsoft 365 account and remove stored tokens. Write disconnect_servicenow Disconnect from ServiceNow and remove stored credentials. Write excel_create Creates a new Excel (.xlsx) file with headers and optional data rows. Write excel_write_cell Writes a value to a specific cell in an Excel file. Write gdrive_write_file Writes or overwrites a text file in the synced Google Drive folder — it uploads automatically via the official Write m365_create_event Create a calendar event in your Microsoft 365 / Outlook calendar. Write m365_reply_email Use this when the user wants to reply to a Microsoft 365 email (message ID from m365_list_emails). Requires a Write m365_send_email Use this when the user wants to send from their Microsoft 365 / Outlook account via the cloud — requires a con Write move_email Moves an email to another mailbox (nested target folders are found by name). Pass account= (returned by list_e Write onedrive_move_file Moves or renames a file/folder within OneDrive. Write onedrive_set_scope Restricts LMCP's OneDrive access to a specific folder. Once set, all OneDrive tools (read, write, list, search Write onedrive_write_file Writes text content to a file in OneDrive. Write ppt_create Creates a PowerPoint (.pptx) file with title and bullet slides. Write recipe_save Saves a user-authored recipe manifest (JSON) to ~/.local/share/local-mcp/recipes/. Must have a name and a non- Write record_marker Drops a named marker into the active recording's timeline. t_ms is elapsed ms since recording start. Provide b Write rename_reminder_list Renames an existing Apple Reminders list. Pass the current list name (or list_id from list_reminder_lists) and Write reply_email Use this when the user wants to reply to an email that lives in the Mac's Apple Mail (message ID from list_ema Write report_problem Report a problem, feature request, or integration request to the LMCP team. IMPORTANT: Do NOT call this tool a Write request_feature Submit a feature request to the LMCP team — a new capability, a tool that doesn't exist yet, or an app/integra Write save_attachment Saves an attachment from an email to disk. Pass account= (and mailbox= if known, both from list_emails/search_ Write send_email Use this when the user wants to send an email from an account configured in the Mac's Apple Mail. Composes and Write send_message Sends an iMessage via the Mac's Messages.app to a recipient handle (phone number with country code, e.g. +1415 Write servicenow_add_comment Add a comment or work note to a ServiceNow incident. Comments are visible to the caller; work notes are intern Write servicenow_create_incident Create a new incident in ServiceNow. Write servicenow_update_incident Update fields on an existing ServiceNow incident — state, priority, assignment. Use sys_id from servicenow_get Write signal_friction Send an ANONYMOUS, content-free signal when an LMCP tool fails, returns nothing useful, the user seems frustra Write signal_send_message Preview (and get send guidance for) a message to a Signal chat. NOTE: Signal Desktop exposes no local send API Write teams_send_channel_message Sends a text message to a Microsoft Teams channel via Graph API. Requires connect_m365_account with Chat.ReadW Write teams_send_message Sends a text message to a Microsoft Teams chat or channel. Requires Microsoft Teams to be running and signed i Write todo_complete_task Marks a Microsoft To Do task as complete (via Reminders sync). Write todo_create_task Creates a task in Microsoft To Do (via Reminders sync). Task appears in To Do automatically once synced. Write update_calendar_event Updates an existing event in the Mac's Calendar app (Calendar.app) by ID. Pass only the fields you want to cha Write update_note Updates an existing note in Apple Notes. Change the title and/or body (the body accepts Markdown, converted to Write update_reminder Updates an existing reminder in Reminders.app. Change the title, due date, notes, priority, or move it to anot Write video_concat Stitches multiple videos end-to-end, in order, into one NEW file (e.g. assemble separate acts). All inputs sho Write video_export_gif Exports a video (or a [start_ms,end_ms] slice of it) to an optimized looping GIF — for README/social. fps (def Write video_trim Trims a video to one or more time ranges (milliseconds), concatenated in order into a NEW file — e.g. keep [{s Write web_type Types text into a form field (input/textarea) on the current page. target is a CSS selector or the field's vis Write whatsapp_disconnect Unlink WhatsApp from Local MCP — logs out the linked device on this Mac (via wacli). Your chats stay on your p Write whatsapp_send_file Sends a file attachment to a WhatsApp chat. The chat_id MUST come from a previous whatsapp_list_chats call — n Write whatsapp_send_message Sends a text message to a WhatsApp chat. The chat_id MUST come from a previous whatsapp_list_chats call — neve Write word_append Appends text to an existing Word (.docx) document. Write word_create Creates a new Word (.docx) document with the given content. Write zalo_disconnect Unlink Zalo from Local MCP (removes the saved session on this Mac). Your chats stay in Zalo; this only disconn Write zalo_send_message Sends a Zalo message to a conversation. WRITE operation with a preview gate: the first call (confirm=false) re
READ 131 tools
Read chrome_list_tabs Lists every open tab across all Google Chrome windows with title, URL, and whether it is active. Read chrome_query_selector_all Runs document.querySelectorAll in the current Google Chrome tab and returns a compact summary of each match. Read chrome_read_tab Reads the rendered text content of a Google Chrome tab. Identify the tab either by url_match (substring match Read chrome_search_tabs Searches the rendered text of every open Google Chrome tab for a substring. Returns each matching tab with the Read chrome_setup_check Reports whether Google Chrome is ready for interactive tools (chrome_click, chrome_type, chrome_evaluate_js, c Read daily_brief Returns a single morning briefing combining today's calendar events, overdue and due-today reminders, unread i Read excel_read Reads data from an Excel (.xlsx) file. Returns sheets and cell values. Read finder_list Lists files and folders at any absolute path (Spotlight-free directory listing, including outside the home fol Read finder_search Searches for files by name anywhere on the filesystem (uses mdfind/Spotlight). Read fs_list Lists files and folders in a local directory. Defaults to the user's home directory. Returns name, path, type Read fs_read Reads a text file from the local filesystem. Supports .txt, .md, .csv, .json, .xml, .log, .yaml, .toml and com Read fs_search Searches for files and folders by name (case-insensitive, partial match) starting from a root directory. Defau Read gdrive_file_info Metadata for a file/folder in the synced Google Drive: size, dates, type. Cheaper than listing the whole direc Read gdrive_list_files Lists files and folders in a Google Drive path (the locally-synced folder). Use gdrive_root first for valid ro Read gdrive_read_file Reads a text file from the synced Google Drive folder (.txt, .md, .csv, .json, code files...). Note: native Go Read gdrive_root Lists the Google Drive folders synced on this Mac (My Drive, Shared drives, per-account mounts). Start here to Read gdrive_search_files Searches the synced Google Drive folder for files by name (recursive). Returns up to max_results matches (defa Read get_audit_log Returns recent LMCP tool call history from the local audit log. Each entry shows timestamp, tool name, call so Read get_config Returns the current LMCP configuration (api_key masked). Read get_contact Gets a contact from the Mac's Contacts app (Contacts.app) by name or ID. Pass name to look up directly by name Read get_datetime Get the current date and time of the machine where LMCP runs — with timezone and UTC offset. Call this wheneve Read get_m365_person Get detailed information about a specific person in your Microsoft 365 directory by their user ID or email add Read get_weather Gets the current weather and a short daily forecast for a location. Pass a city name ('London', 'San Francisco Read list_accounts Lists email accounts configured in Mail.app. Read list_calendar_events Lists events from the Mac's Calendar app (Calendar.app, local/iCloud calendars) in a date range. Defaults to t Read list_calendar_names Lists the calendars in the Mac's Calendar app (Calendar.app, local/iCloud). For Microsoft 365 calendars use th Read list_contacts Lists contacts from the macOS Contacts app. Optionally filter by group. Read list_displays Lists connected displays with bounds (global space, top-left origin, points), backing scale_factor, and which Read list_email_accounts Lists all Mail.app accounts by name. Call this first to discover account names, then use list_emails(account=n Read list_email_folders Lists the full folder (mailbox) tree for Apple Mail (Mail.app) accounts, including nested subfolders. Use this Read list_emails Use this when the user wants to see or triage their inbox on this Mac (Apple Mail — any account added to Mail. Read list_m365_people_insights List the people most relevant to you in Microsoft 365 — based on your communication patterns, collaboration hi Read list_message_chats Lists recent iMessage/Messages.app conversations. Read list_notes Lists notes from Apple Notes app. Optionally filter by folder. Read list_omnifocus_folders Lists folders in OmniFocus. Folders group related projects (e.g. "Work", "Personal"). Use list_omnifocus_proje Read list_omnifocus_projects Lists projects in OmniFocus. Read list_omnifocus_tags Lists all tags defined in OmniFocus. Read list_omnifocus_tasks Lists tasks from OmniFocus. Filter by project, tag, inbox, due today, or flagged status. Read list_referral_candidates Step 1 of recommending LMCP to a colleague. Returns the user's emailable contacts plus a playful invite templa Read list_reminder_lists Lists the lists (folders) in Apple Reminders (Reminders.app) on this Mac. For Microsoft To Do use todo_list_li Read list_reminders Lists reminders from Apple Reminders (Reminders.app) on this Mac. Optionally filter by completion status or li Read list_safari_bookmarks Lists Safari bookmarks (title + URL) from the Mac's Safari (reads ~/Library/Safari/Bookmarks.plist — needs Ful Read list_windows Lists on-screen windows of any app with window_id, owning app bundle id + name, title, bounds (global space, t Read lmcp_state Returns a structured snapshot of the LMCP environment: server/tray/teams-proxy versions, detected AI client, c Read lmcp_welcome ★ START HERE — the user just installed LMCP and has not run a single tool yet. This tool exists ONLY right now Read m365_get_contact Get full details of a specific Microsoft 365 contact by ID. Get the ID from m365_list_contacts or m365_search_ Read m365_list_contacts List contacts from your Microsoft 365 / Outlook address book. Read m365_list_emails Use this when the user wants their Microsoft 365 / Outlook / Exchange inbox via the cloud — requires a connect Read m365_list_events List upcoming calendar events from your Microsoft 365 / Outlook calendar. Read m365_read_email Use this when the user wants the full content of a Microsoft 365 email (message ID from m365_list_emails/m365_ Read m365_search_contacts Search contacts in your Microsoft 365 address book by name, email, or company. Read m365_search_emails Use this when the user wants to find emails in their Microsoft 365 / Outlook mailbox via the cloud — requires Read media_probe Reports duration_ms, width, height, fps, whether it has audio, and file size for a video/audio file. Call it b Read nordvpn_servers Get recommended NordVPN servers by country or specialty. Uses NordVPN public API (no account needed). Returns Read nordvpn_status Check NordVPN connection status: connected/disconnected, auto-connect, snooze, and last known location. Does N Read notion_list_databases Lists Notion databases cached on this Mac with their schema (column names and types). Use notion_read_database Read notion_list_pages Lists Notion pages cached on this Mac (titles, last edited, hierarchy), newest first. Reads the Notion desktop Read notion_list_workspaces Lists the Notion workspaces cached on this Mac with their members (names and emails). Read notion_read_database Reads the cached rows of a Notion database with their properties mapped through the schema. Accepts the databa Read notion_read_page Reads a Notion page from the local cache and returns its content as markdown (headings, lists, to-dos, code, f Read notion_search Searches cached Notion content (page titles and block text) for a phrase, case-insensitive. Returns matching b Read onedrive_file_info Returns metadata for a file or folder: size, modification date, type, and extension. Faster than listing the p Read onedrive_list_files Lists files and folders in a OneDrive path. Use onedrive_root to find valid paths. Returns up to limit entries Read onedrive_read_file Reads a text file from OneDrive or the local filesystem. Supports .txt, .md, .csv, .json, .xml, .log and sever Read onedrive_root Lists all mounted OneDrive directories on this Mac. Read onedrive_search_files Searches for files by name in a OneDrive directory (recursive). Returns up to max_results matches (default 50) Read outlook_diagnose Checks which email accounts are configured in Microsoft Outlook and compares them with Mail.app. If Outlook ha Read pdf_read Reads and extracts text from a PDF file. Read permissions_status Reports the TCC permission state (screen recording, accessibility, microphone) this app needs to capture the s Read ppt_read Reads slide text content from a PowerPoint (.pptx) file. Read read_email Use this when the user wants the full content of an email that lives in the Mac's Apple Mail (message ID from Read read_messages Reads messages from an iMessage conversation by chat ID or contact name. Read read_note Reads the full content of a note by name or ID. Read recipe_get Returns the full manifest of a recipe by name. recipe_not_found if unknown. Read recipe_list Lists available workflow recipes (bundled + user-saved), with name, description and params. Run one with recip Read recipe_runs Shows the history of past recipe runs and their results (recorded by recipe_run), so you can reuse, compare, o Read safari_list_tabs Lists every open tab across all Safari windows with title, URL, and whether it is active. Read safari_read_tab Reads the rendered text content of a Safari tab. Identify the tab either by url_match (substring match against Read safari_search_tabs Searches the rendered text of every open Safari tab for a substring. Returns each matching tab with the surrou Read safari_setup_check Reports whether Safari is ready for interactive tools (safari_click, safari_type, safari_evaluate_js). Returns Read screen_record_status Reports whether a recording is active, with the session_id, elapsed_ms, output path, and marker_count. Read screenshot_capture Captures a single frame of a display, window, or region to a PNG. Requires Screen Recording permission; withou Read search_contacts Searches the Mac's Contacts app (Contacts.app, local/iCloud) by name, email, or phone number. For a Microsoft Read search_emails Use this when the user wants to find specific emails on this Mac (Apple Mail — any account added to Mail.app). Read search_m365_directory Search your organization's Microsoft 365 directory for users by name or email. Returns matching users with the Read search_messages Searches iMessage conversations by content, sender name, or date range. Read search_notes Searches Apple Notes by title or content. Read search_omnifocus_tasks Searches OmniFocus tasks by name or note content. Read servicenow_get_incident Get full details of a specific ServiceNow incident by number or sys_id. Read servicenow_list_my_incidents List incidents assigned to you or opened by you in ServiceNow. Read servicenow_search_incidents Search incidents in ServiceNow by keyword, number, or caller. Read servicenow_search_kb Search the ServiceNow Knowledge Base for articles. Read signal_connect Connect Signal to Local MCP. Reports whether Signal Desktop is installed and signed in, and tells you exactly Read signal_list_chats Lists Signal conversations (chats) with last-active timestamps. Reads from the local Signal Desktop database — Read signal_read_messages Reads messages from a specific Signal chat. The chat_id must come from a previous signal_list_chats call. Retu Read signal_search_messages Full-text search across locally-cached Signal messages. Only messages Signal Desktop has stored on disk are se Read slack_list_channels Lists channels in a Slack workspace, including public channels, private channels, and direct messages (DMs). R Read slack_list_workspaces Lists the Slack workspaces (teams) the user has connected in Slack Desktop. Reads from the local IndexedDB cac Read slack_read_channel_messages Reads recent messages from a Slack channel or DM. Reads from the local IndexedDB cache — only messages that Sl Read slack_search_messages Searches Slack messages across locally-cached channels using full-text substring matching. Only messages that Read stocks_get_chart Gets historical price data for a stock symbol. Range: 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max. Read stocks_get_quote Gets current stock price and market data for one or more symbols (e.g. AAPL, MSFT, BTC-USD). Uses Yahoo Financ Read stocks_search_symbol Searches for a stock ticker symbol by company name. Returns matching symbols and exchanges. Read teams_call_history Reads Microsoft Teams call & meeting history from the Mac's local Teams cache — no Graph API, no token, no adm Read teams_list_channels Lists channels in a Microsoft Teams workspace. Returns channels that are cached in the local Teams client. If Read teams_list_chats Lists Microsoft Teams chats (direct messages and group chats). Read teams_list_teams Lists all Microsoft Teams workspaces the user belongs to. Read teams_read_channel_messages Reads messages from a Microsoft Teams channel. Read teams_read_chat_messages Reads messages from a Teams chat or direct message thread. Read todo_list_lists Lists Microsoft To Do task lists. Requires Microsoft account in Reminders sync (System Settings → Internet Acc Read todo_list_tasks Lists tasks from a Microsoft To Do list (or any Reminders list). Syncs via macOS Reminders. Read ui_find_element Finds an element in an app's accessibility tree by role and/or label. Scope with app_bundle_id or window_id. R Read ui_get_element Re-resolves a previously returned element_ref (its bounds/state may have changed). Returns role, label, bounds Read update_self_diagnosis Returns the self-update health state: current version, last N update attempts (with errors), writability of th Read video_blur_region Pixelates/blurs one or more rectangles over the video — the tool for redacting PII (an email pane, a name) bef Read video_reframe Crops a video to a target aspect ratio (e.g. "9:16" vertical, "1:1" square, "4:5") around a focus point — for Read web_extract Scrapes structured data from the current page. Pass selectors = an object mapping field names to CSS selectors Read web_find Finds elements on the current page of a web session so you can decide what to click or type into. query is a C Read web_read Reads the current page of a web session so you can reason over it. mode='text' (visible text, default), 'a11y' Read web_screenshot Captures a PNG screenshot of the current page of a web session (returned inline so web AIs can see it). Useful Read web_session_list Lists the open web-automation sessions (named login profiles) with each one's current URL and page title. Read whatsapp_list_chats Lists WhatsApp conversations with last message preview. Returns chat IDs, contact names, and recent message sn Read whatsapp_read_messages Reads messages from a specific WhatsApp chat. The chat_id must come from a previous whatsapp_list_chats call. Read whatsapp_search_messages Offline full-text search across all WhatsApp chats. Only locally-cached messages are searched — no network acc Read word_read Reads text content from a Word (.docx) file. Read zalo_diagnose Reports whether Zalo is linked to Local MCP (via zalo_connect). Call it first if Zalo tools aren't working. Read zalo_list_chats Lists your Zalo conversations — friends and groups — so you can pick a recipient. Requires Zalo linked (zalo_c Read zalo_read_messages Reads recent Zalo messages that Local MCP captured while linked. Optionally pass thread (a thread id from zalo Read zalo_search_messages Searches your captured Zalo messages by text. Searches only messages received while Local MCP was linked and l Read zoom_list_recordings Lists Zoom meeting recordings saved locally on this Mac (~/Documents/Zoom), newest first: meeting name, date, Read zoom_read_transcript Reads the text artifacts of a local Zoom recording: the transcript/captions (.vtt or closed_caption.txt, clean

Related servers

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

Questions about Local

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

Yes. The Local server exposes 6 destructive tools including delete_calendar_event, delete_reminder, delete_reminder_list. 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 Local? +

The Local server has 57 write tools including complete_omnifocus_task, complete_reminder, connect_m365_account. 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 Local.

How many tools does the Local MCP server expose? +

234 tools across 4 categories: Destructive, Execute, Read, Write. 131 are read-only. 103 can modify, create, or delete data.

How do I enforce a policy on Local? +

Register the Local 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 Local tool call.

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

Instant setup, no code required.

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

// WHERE THIS COMES FROM

These policies come from Local'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.