Skip to main content
Glama

LMCP — Context and Actions for Your AI

npm macOS Windows

Give your AI the context to get things done. LMCP connects compatible assistants to your apps and accounts through the Model Context Protocol (MCP). Bring together relevant information from email, messages, calendars and files, then use tools to turn that context into useful action — with less searching and copying between apps.

Use it with Claude, ChatGPT, Codex, Cursor and other compatible MCP clients. Available integrations and connection methods vary by assistant, platform and permissions.

Download for Mac or Windows → · Explore the product · Setup guides

This repository contains release information, documentation and the npm wrapper. The core binary is proprietary; documentation and scripts have their own license — see LICENSE.

More than one app's view of your information

An email, a message and a document may each contain only part of the answer. With compatible tools and access you authorize, your assistant can find those pieces across apps and accounts and use them together.

What you ask

How connected context helps

“Tell me everything I still owe the architect — I can't remember her name.”

Search relevant messages, email and files to identify the person and assemble outstanding requests with their sources.

“Help organize my day so I can meet my commitments.”

Combine calendar events, tasks and relevant messages to propose a realistic plan and make supported updates when authorized.

“Prepare replies to customer orders using the inventory and plan dispatch.”

Read accessible order and inventory information, draft replies and use supported scheduling tools. Review proposed actions before authorizing execution.

These illustrate workflows an assistant can build from available tools, not guaranteed autonomous outcomes. Sources must be accessible; assistant capabilities and each tool's permissions still apply.

Related MCP server: Apple MCP

Apps and tools

Explore email, calendars, contacts, messages, tasks, files, documents, browser automation and other integrations. Examples include Apple Mail, Outlook, Microsoft Teams, Slack, WhatsApp, Signal, Google Drive, OneDrive, Microsoft 365, Notes, Reminders, Microsoft To Do, OmniFocus, Notion and ServiceNow.

Not every integration is available on both operating systems. Apple-native tools require macOS; connected services may need their own sign-in or permissions. Some tools use locally cached or synced data rather than a complete cloud account.

For current tools, requirements and platform coverage, use the tool reference and guides rather than a fixed count in this README.

See it work

The recording shows a Mac workflow through Cloud Data Forwarding, not every platform or integration.

Watch the 1-minute overview — what MCP is, how LMCP works, and a real run from email to Excel, Word and a reminder:

Ver en español

Install and connect

  1. Download LMCP for your operating system. Follow the installer and onboarding steps.

  2. Select your assistant and enable the compatible integrations you want to use.

  3. Grant required permissions or sign in where needed, then follow the assistant-specific setup guide.

Cursor plugin

This repository is also a Cursor plugin. It adds the local-mcp MCP server, a rule that tells Cursor's agent when to use LMCP, and skills for email, calendar, messages, files and Office.

LMCP must be installed first (step 1 above): the plugin starts the LMCP server on your computer and does not work without it.

Supports macOS 13+ and Windows 10+ (64-bit).

Choose one installation path:

  • Signed installer for Mac (.pkg) or Windows: download page.

  • macOS terminal: curl -fsSL 'https://www.local-mcp.com/install?ref=github-releases' | bash

  • Windows PowerShell: irm https://www.local-mcp.com/install-windows?ref=github-releases | iex (per-user, no administrator rights or Node.js needed).

  • Claude Desktop extension: one-click .mcpb at www.local-mcp.com/install/mcpb.

  • npm (requires Node.js): npx -y local-mcp@latest setup configures the compatible clients it detects.

Details for agents and each path: llms-install.md. After installing, fully restart your AI client; MCP tools load at startup.

Local desktop/CLI clients and web assistants connect differently. The installer configures the compatible local clients it detects. Web assistants (ChatGPT, Claude.ai, Grok, Perplexity) connect through https://www.local-mcp.com/mcp as a custom connector with OAuth. They need the local app installed and Cloud Data Forwarding enabled in LMCP (off by default); with forwarding off, the connector exposes only setup_install. Follow the web AI guide and the current guides.

An endpoint alone is not a verified connection: complete authorization and check that tools are available in your client.

Install LMCP in your AI tool

Install the LMCP app first (see above); it runs the tools on your computer. Then add LMCP to your assistant. After any of these, fully restart the tool: MCP tools load at startup.

Tool

Copy-paste

Claude Code

claude plugin marketplace add colibird-ai/local-mcp-claude-plugin && claude plugin install local-mcp@local-mcp (inside Claude Code: /plugin marketplace add colibird-ai/local-mcp-claude-plugin then /plugin install local-mcp@local-mcp)

Codex CLI

codex plugin marketplace add colibird-ai/local-mcp-releases && codex plugin add local-mcp@local-mcp (or, MCP server only: codex mcp add local-mcp -- npx -y local-mcp@latest)

GitHub Copilot CLI

copilot plugin marketplace add colibird-ai/local-mcp-claude-plugin && copilot plugin install local-mcp@local-mcp

VS Code (Copilot Chat)

code --add-mcp '{"name":"local-mcp","command":"npx","args":["-y","local-mcp@latest"]}'

Gemini CLI

gemini extensions install https://github.com/colibird-ai/local-mcp-releases

Cursor

npx -y local-mcp@latest setup (or install the Cursor plugin from this repository)

Windsurf, Zed, Claude Desktop

npx -y local-mcp@latest setup configures the clients it detects

LM Studio (0.3.17 and later)

Add to LM Studio

Cline, Continue, Goose, OpenCode and other MCP clients

Add this server to the client's MCP settings: npx -y local-mcp@latest (command npx, arguments -y local-mcp@latest)

Examples for clients that use their own config format:

# Goose
goose session --with-extension "npx -y local-mcp@latest"
// OpenCode: opencode.json
{ "mcp": { "local-mcp": { "type": "local", "command": ["npx", "-y", "local-mcp@latest"] } } }
// Zed: settings.json
{ "context_servers": { "local-mcp": { "command": "npx", "args": ["-y", "local-mcp@latest"] } } }
// Cline (cline_mcp_settings.json), LM Studio (mcp.json), Claude Desktop, Windsurf
{ "mcpServers": { "local-mcp": { "command": "npx", "args": ["-y", "local-mcp@latest"] } } }

These paths need Node.js. Web assistants (ChatGPT, Claude.ai, Grok, Perplexity) connect differently; see above.

How it works

Your assistant → MCP → available tools → relevant apps and accounts → context and actions.

Compatible tools execute on your computer. Some read native data, local caches or synced files; others connect to services requiring authentication and a network connection. Your assistant chooses tools for your request within the access you grant — it does not automatically gain access to every account.

Local tools, clear data boundaries

  • Local execution does not mean a cloud AI receives no data. Your chosen assistant or connected service may receive content needed for your request, including when a desktop client uses a cloud model.

  • Cloud Data Forwarding is optional, off by default, and lets supported web assistants reach tools on your computer. Review its data flow and provider policies before enabling it.

  • Permissions, preview and confirmation support vary by tool. Review behavior and authorize actions before execution; do not assume a universal confirmation dialog.

  • Locally available read operations may work offline. Cloud models, connected services, sending and remote updates can require a network connection.

See Privacy and Security. Compliance depends on your complete workflow and provider agreements, not only on where a tool runs.

Learn more

Releases and support

See GitHub Releases for this repository's history and the download page for current installers. Mac and Windows can have different release versions; a GitHub tag alone is not a fleet-wide deployment signal.

  • Report a problem through LMCP's available feedback tools or open an issue. Include OS and app version, and remove sensitive content from logs.

  • Request a feature through the available feedback tools or GitHub Issues.

  • Contact ctpo@colibird.co for support; see SECURITY.md for vulnerabilities.

  • For current availability, see the website; for license terms, see LICENSE.

If LMCP helps you, star the repository to help others discover it.

Available Tools

364 tools
add_contact_to_groupCInspect

Adds a contact of the Mac's Contacts app (Contacts.app), found by contact_id or by name, to an existing gro...

Inputs: no named parameters.

agent_ackCInspect

Tells the senders that this session read the messages agent_inbox returned, one message_id each, and takes...

Inputs: no named parameters.

agent_authorizeCInspect

Decides whether this computer's installed Agent Mesh contract allows acting on one Mesh message, from the m...

Inputs: no named parameters.

agent_checkinCInspect

Announces this agent session to the mesh: its role, the repo it is working on and what it can do.

Inputs: no named parameters.

agent_inboxCInspect

Reads the messages other agents sent to this machine that this agent_id has not acknowledged yet (it needs...

Inputs: no named parameters.

agent_mesh_createAInspect

Starts a new agent mesh with THIS machine as its first member.

Inputs: no named parameters.

agent_mesh_inviteAInspect

Creates a single-use pairing code (valid 15 minutes) that another of the user's machines can redeem with ag...

Inputs: no named parameters.

agent_mesh_joinAInspect

Enrolls THIS machine into an existing agent mesh using a pairing code the user got from another of their ma...

Inputs: no named parameters.

agent_mesh_leaveBInspect

Takes THIS computer out of its agent mesh, immediately: it stops appearing in the directory and receiving m...

Inputs: no named parameters.

agent_mesh_revokeAInspect

Removes another machine from this mesh, immediately: it stops appearing in the directory, stops receiving m...

Inputs: no named parameters.

agent_mesh_statusAInspect

Shows whether THIS machine belongs to an agent mesh — the group of the user's own machines whose AI agents...

Inputs: no named parameters.

agent_sendAInspect

Sends a coordination message to an agent on ANOTHER of the user's machines (get its handle from agents_list).

Inputs: no named parameters.

agent_sentAInspect

Shows what THIS machine sent and what happened to it: who it was delivered to and who acknowledged it.

Inputs: no named parameters.

agents_listCInspect

Lists the agents currently working across ALL the user's machines in the mesh — which machine each is on, i...

Inputs: no named parameters.

complete_omnifocus_taskBInspect

Marks an OmniFocus task as complete.

Inputs: no named parameters.

complete_reminderBInspect

Marks a reminder complete in Apple Reminders (Reminders.app).

Inputs: no named parameters.

configure_clientsBInspect

Adds Local MCP to the config of the MCP-capable AI apps installed on this Mac, from LMCP's client catalog (...

Inputs: no named parameters.

connect_m365_accountBInspect

Connect a Microsoft 365 account (or add another one, or sign one in again).

Inputs: no named parameters.

connect_servicenowDInspect

Connect ServiceNow.

Inputs: no named parameters.

connect_todoistCInspect

Connect Todoist.

Inputs: no named parameters.

copy_emailAInspect

Copies an email into another mailbox of the Mac's Apple Mail (Mail.app); the original stays where it is.

Inputs: no named parameters.

create_calendar_eventCInspect

Creates an event in the Mac's Calendar app (Calendar.app).

Inputs: no named parameters.

create_contactCInspect

Creates a contact in the Mac's Contacts app (Contacts.app, in its default account, usually iCloud): name, c...

Inputs: no named parameters.

create_contact_groupBInspect

Creates a group in the Mac's Contacts app (Contacts.app), in its default account.

Inputs: no named parameters.

create_draftAInspect

Saves an email to the Mail.app Drafts folder for the user to review and send manually — it never sends.

Inputs: no named parameters.

create_email_folderBInspect

Creates a mailbox folder in the Mac's Apple Mail (Mail.app), in one account.

Inputs: no named parameters.

create_noteBInspect

Creates a new note in Apple Notes.

Inputs: no named parameters.

create_omnifocus_taskCInspect

Creates a task in OmniFocus on this Mac.

Inputs: no named parameters.

create_referral_invitesBInspect

Records referral invites for the colleagues a user chose to invite and returns a unique referral link per p...

Inputs: no named parameters.

create_reminderBInspect

Creates a reminder in Reminders.app.

Inputs: no named parameters.

create_reminder_listCInspect

Creates a new list in Apple Reminders (Reminders.app), in the same account as the default Reminders list (u...

Inputs: no named parameters.

daily_briefCInspect

Returns a single morning briefing combining today's calendar events, overdue and due-today reminders, unrea...

Inputs: no named parameters.

delete_calendar_eventCInspect

Deletes an event from the Mac's Calendar app (Calendar.app) by ID.

Inputs: no named parameters.

delete_noteBInspect

Deletes a note from Apple Notes, by ID or exact title.

Inputs: no named parameters.

delete_reminderAInspect

Permanently deletes a reminder in Apple Reminders (Reminders.app) by ID.

Inputs: no named parameters.

delete_reminder_folderAInspect

Deletes an Apple Reminders list AND all reminders inside it — cannot be undone.

Inputs: no named parameters.

disconnect_m365_accountBInspect

Disconnects ONE Microsoft 365 account and removes its stored sign-in.

Inputs: no named parameters.

disconnect_servicenowBInspect

Disconnects ServiceNow: removes the credentials stored on this computer.

Inputs: no named parameters.

disconnect_todoistAInspect

Disconnects Todoist: removes the API token stored on this computer.

Inputs: no named parameters.

enable_serviceAInspect

Turns a service back ON in LMCP after the user turned it off.

Inputs: no named parameters.

excel_createAInspect

Creates a new Excel spreadsheet (.xlsx file) with headers and optional data rows.

Inputs: no named parameters.

excel_readBInspect

Reads data from an Excel spreadsheet (.xlsx file).

Inputs: no named parameters.

excel_write_cellDInspect

Writes a value to a specific cell in an Excel file.

Inputs: no named parameters.

explorer_listBInspect

Lists files and folders in a directory.

Inputs: no named parameters.

fantastical_add_eventBInspect

(Beta) Adds an event or a task to Fantastical from one sentence, as typed in Fantastical's own field ("Lunc...

Inputs: no named parameters.

file_listAInspect

Lists files and folders in a local directory.

Inputs: no named parameters.

file_readAInspect

Reads a plain text file from the local filesystem by its absolute path — the primary, default tool for read...

Inputs: no named parameters.

file_writeAInspect

Writes text to a local file — create, overwrite, or append.

Inputs: no named parameters.

finder_listAInspect

Lists files and folders in a directory (Spotlight-free).

Inputs: no named parameters.

flag_emailCInspect

Flags an email in the Mac's Apple Mail (Mail.app) with a color, or clears its flag.

Inputs: no named parameters.

gdrive_delete_fileCInspect

Deletes a file or an empty folder from the synced Google Drive folder — Google Drive for Desktop syncs the...

Inputs: no named parameters.

gdrive_disconnectBInspect

Turns one Google Drive folder off in Local MCP: its tools stop reading it until the user turns it back on f...

Inputs: no named parameters.

gdrive_file_infoAInspect

Metadata for a file/folder in the synced Google Drive: size, dates, type.

Inputs: no named parameters.

gdrive_list_filesBInspect

Lists files and folders in a Google Drive path (the locally-synced folder).

Inputs: no named parameters.

gdrive_read_fileBInspect

Reads a text file from the synced Google Drive folder (.txt, .md, .csv, .json, code files...).

Inputs: no named parameters.

gdrive_rootAInspect

Lists the Google Drive folders synced on this Mac (My Drive, Shared drives, per-account mounts).

Inputs: no named parameters.

gdrive_search_filesBInspect

Searches the synced Google Drive folder for files by name (recursive).

Inputs: no named parameters.

gdrive_set_scopeAInspect

Sets the active Google Drive root directory (when multiple accounts are synced).

Inputs: no named parameters.

gdrive_write_fileBInspect

Writes or overwrites a text file in the synced Google Drive folder — it uploads automatically via the offic...

Inputs: no named parameters.

get_audit_logAInspect

Returns recent LMCP tool call history from the local audit log.

Inputs: no named parameters.

get_configBInspect

Returns the current LMCP configuration: connected integrations and feature flags.

Inputs: no named parameters.

get_contactCInspect

Gets a contact from the Mac's Contacts app (Contacts.app) by name or ID.

Inputs: no named parameters.

get_datetimeAInspect

Get the current date and time of the machine where LMCP runs — with timezone and UTC offset.

Inputs: no named parameters.

get_m365_personBInspect

Get detailed information about a specific person in your Microsoft 365 directory by their user ID or email...

Inputs: no named parameters.

get_reminder_foldersAInspect

Lists the lists (folders) in Apple Reminders (Reminders.app) on this Mac.

Inputs: no named parameters.

get_weatherCInspect

Gets the current weather and a short daily forecast for a location.

Inputs: no named parameters.

image_playground_generateCInspect

Generates an image on the Mac from a text prompt with Apple's Image Playground model (Apple Intelligence; n...

Inputs: no named parameters.

list_accountsAInspect

Lists Mail.app email accounts WITH each account's email addresses, server_name and type.

Inputs: no named parameters.

list_calendar_eventsBInspect

Lists events from the Mac's Calendar app (Calendar.app, local/iCloud calendars) in a date range, or reads O...

Inputs: no named parameters.

list_calendar_namesAInspect

Lists the calendars in the Mac's Calendar app (Calendar.app, local/iCloud).

Inputs: no named parameters.

list_contactsAInspect

Lists contacts from the macOS Contacts app.

Inputs: no named parameters.

list_displaysAInspect

Lists connected displays with bounds (global space, top-left origin, points), backing scale_factor, and whi...

Inputs: no named parameters.

list_email_accountsAInspect

Lists all Mail.app account NAMES (fast — cached, no Mail lock).

Inputs: no named parameters.

list_email_foldersAInspect

Lists the full folder (mailbox) tree for Apple Mail (Mail.app) accounts, including nested subfolders.

Inputs: no named parameters.

list_emailsCInspect

Use this when the user wants to see or triage their inbox on this Mac (Apple Mail — any account added to Ma...

Inputs: no named parameters.

list_m365_accountsBInspect

List the Microsoft 365 accounts connected on this computer: email (upn), id, display name, which one is the...

Inputs: no named parameters.

list_m365_people_insightsAInspect

List the people most relevant to you in Microsoft 365 — based on your communication patterns, collaboration...

Inputs: no named parameters.

list_message_chatsAInspect

Lists recent iMessage / Messages.app conversations (chat id, name, service).

Inputs: no named parameters.

list_missing_permissionsCInspect

Returns the macOS privacy (TCC) permissions Local MCP needs that are NOT granted yet, each with a one-click...

Inputs: no named parameters.

list_notesBInspect

Lists notes from Apple Notes app.

Inputs: no named parameters.

list_omnifocus_foldersAInspect

Lists folders in OmniFocus.

Inputs: no named parameters.

list_omnifocus_projectsBInspect

Lists projects in OmniFocus.

Inputs: no named parameters.

list_omnifocus_tagsAInspect

Lists all tags defined in OmniFocus.

Inputs: no named parameters.

list_omnifocus_tasksCInspect

Lists tasks from OmniFocus.

Inputs: no named parameters.

list_referral_candidatesAInspect

Returns the user's emailable contacts plus an invite template, for recommending LMCP to a colleague.

Inputs: no named parameters.

list_remindersAInspect

Lists reminders from Apple Reminders (Reminders.app) on this Mac.

Inputs: no named parameters.

list_windowsAInspect

Lists on-screen windows of any app with window_id, owning app bundle id + name, title, bounds (global space...

Inputs: no named parameters.

lmcp_doctorCInspect

Checks everything LMCP depends on on this Mac — the AI apps connected to it, macOS permissions, each integr...

Inputs: no named parameters.

lmcp_install_upgradeAInspect

Checks for and installs a newer LMCP version — a self-upgrade of the LMCP app itself (not editing any of yo...

Inputs: no named parameters.

lmcp_stateBInspect

Returns a structured snapshot of the LMCP environment: server and tray versions, detected AI client, cloud...

Inputs: no named parameters.

lmcp_upgrade_diagnosticsAInspect

Returns LMCP's self-upgrade health (the LMCP app upgrading itself, not editing your data): current version,...

Inputs: no named parameters.

m365_create_contactBInspect

Use this when the user wants a new contact added to their Microsoft 365 / Outlook contacts.

Inputs: no named parameters.

m365_create_draftBInspect

Use this when the user wants an email prepared in their Microsoft 365 / Outlook account without sending it:...

Inputs: no named parameters.

m365_create_email_folderBInspect

Use this when the user wants a new mail folder in their Microsoft 365 / Outlook account: it is created on t...

Inputs: no named parameters.

m365_create_eventCInspect

Creates an event in the connected Microsoft 365 / Outlook calendar.

Inputs: no named parameters.

m365_delete_eventBInspect

Deletes an event from the connected Microsoft 365 / Outlook calendar by its id (from m365_list_events).

Inputs: no named parameters.

m365_get_contactBInspect

Get full details of a specific Microsoft 365 contact by ID.

Inputs: no named parameters.

m365_list_contactsBInspect

List contacts from your Microsoft 365 / Outlook address book.

Inputs: no named parameters.

m365_list_email_foldersCInspect

Use this when the user wants the mail folders of their Microsoft 365 / Outlook account as the Exchange serv...

Inputs: no named parameters.

m365_list_emailsBInspect

Use this when the user wants their Microsoft 365 / Outlook / Exchange inbox via the cloud — requires a conn...

Inputs: no named parameters.

m365_list_eventsBInspect

List upcoming calendar events from your Microsoft 365 / Outlook calendar.

Inputs: no named parameters.

m365_mark_email_readBInspect

Use this when the user wants emails of their Microsoft 365 / Outlook account marked as read, or as unread w...

Inputs: no named parameters.

m365_move_emailCInspect

Use this when the user wants emails of their Microsoft 365 / Outlook account moved to another folder on the...

Inputs: no named parameters.

m365_read_emailCInspect

Use this when the user wants the full content of a Microsoft 365 email (message ID from m365_list_emails/m3...

Inputs: no named parameters.

m365_reply_emailAInspect

Use this when the user wants to reply to a Microsoft 365 email (message ID from m365_list_emails).

Inputs: no named parameters.

m365_save_attachmentCInspect

Saves the attachments of a Microsoft 365 email to a folder: all of them, or one by attachment_id (the ids m...

Inputs: no named parameters.

m365_search_contactsCInspect

Search contacts in your Microsoft 365 address book by name, email, or company.

Inputs: no named parameters.

m365_search_emailsBInspect

Use this when the user wants to find emails in their Microsoft 365 / Outlook mailbox via the cloud — requir...

Inputs: no named parameters.

m365_send_emailCInspect

Use this when the user wants to send from their Microsoft 365 / Outlook account via the cloud — requires a...

Inputs: no named parameters.

m365_update_contactCInspect

Use this when the user wants to change a contact of their Microsoft 365 / Outlook contacts: only the fields...

Inputs: no named parameters.

mark_email_readBInspect

Use this when the user wants emails in the Mac's Apple Mail (Mail.app) marked as read, or as unread with un...

Inputs: no named parameters.

media_probeBInspect

Reports duration_ms, width, height, fps, whether it has audio, and file size for a video/audio file.

Inputs: no named parameters.

move_emailAInspect

Moves an email to another mailbox (nested target folders are found by name).

Inputs: no named parameters.

music_add_to_playlistCInspect

Adds library tracks to a playlist of the Music app, in the order given.

Inputs: no named parameters.

music_list_playlistsAInspect

Lists the playlists of the Music app: id, name, kind (playlist or folder) and total length.

Inputs: no named parameters.

music_next_trackBInspect

Skips to the next track in the Music app.

Inputs: no named parameters.

music_now_playingCInspect

Reports what the Music app is playing: the player state (playing, paused or stopped), the current track (id...

Inputs: no named parameters.

music_pauseBInspect

Pauses playback in the Music app.

Inputs: no named parameters.

music_playCInspect

Starts playback in the Music app: resumes, or with track_id plays that library track, or with playlist...

Inputs: no named parameters.

music_previous_trackAInspect

Goes back to the previous track in the Music app.

Inputs: no named parameters.

music_search_libraryBInspect

Searches the tracks of the user's Music library.

Inputs: no named parameters.

music_set_volumeBInspect

Sets the Music app's volume, 0 to 100.

Inputs: no named parameters.

nordvpn_diagnoseAInspect

Run a diagnostic check on NordVPN: installation, login state, connection status, kill switch, and supported...

Inputs: no named parameters.

nordvpn_serversCInspect

Get recommended NordVPN servers by country or specialty.

Inputs: no named parameters.

nordvpn_statusAInspect

Check NordVPN connection status: connected/disconnected, auto-connect, snooze, and last known location.

Inputs: no named parameters.

notion_disconnectBInspect

Turns Notion off in Local MCP: its tools stop reading it until the user turns it back on from LMCP's icon →...

Inputs: no named parameters.

notion_list_databasesAInspect

Lists Notion databases cached on this Mac with their schema (column names and types).

Inputs: no named parameters.

notion_list_pagesAInspect

Lists Notion pages cached on this Mac (titles, last edited, hierarchy), newest first.

Inputs: no named parameters.

notion_list_workspacesAInspect

Lists the Notion workspaces cached on this Mac.

Inputs: no named parameters.

notion_open_pageAInspect

Opens a Notion page in the desktop app (deep link).

Inputs: no named parameters.

notion_read_databaseBInspect

Reads the cached rows of a Notion database with their properties mapped through the schema.

Inputs: no named parameters.

notion_read_pageCInspect

Reads a Notion page from the local cache and returns its content as markdown (headings, lists, to-dos, code...

Inputs: no named parameters.

obsidian_list_vaultsBInspect

Lists the Obsidian vaults on this computer, from Obsidian's own list of vaults: id, name, folder path and n...

Inputs: no named parameters.

obsidian_read_noteBInspect

Reads one note of an Obsidian vault: its text, frontmatter, tags, outgoing [[wikilinks]] (each with the not...

Inputs: no named parameters.

obsidian_search_notesCInspect

Searches the notes of an Obsidian vault by text (query: note title and text, case-insensitive), by tag (`...

Inputs: no named parameters.

obsidian_write_noteBInspect

Writes a Markdown note in an Obsidian vault.

Inputs: no named parameters.

onedrive_delete_fileAInspect

Permanently deletes a file or an EMPTY folder inside the OneDrive folder synced on this Mac.

Inputs: no named parameters.

onedrive_disconnectCInspect

Turns one OneDrive folder off in Local MCP: its tools stop reading it until the user turns it back on from...

Inputs: no named parameters.

onedrive_file_infoCInspect

Returns metadata for a file or folder in your OneDrive synced folder: size, modification date, type, and ex...

Inputs: no named parameters.

onedrive_list_filesCInspect

Lists files and folders in a OneDrive path.

Inputs: no named parameters.

onedrive_move_fileBInspect

Moves or renames a file or folder inside the OneDrive folder synced on this Mac; OneDrive syncs the change...

Inputs: no named parameters.

onedrive_read_fileBInspect

Reads a text file from your OneDrive synced folder.

Inputs: no named parameters.

onedrive_rootAInspect

Lists all mounted OneDrive directories on this Mac.

Inputs: no named parameters.

onedrive_search_filesCInspect

Searches for files by name in a OneDrive directory (recursive).

Inputs: no named parameters.

onedrive_set_scopeBInspect

Limits LMCP's access to one OneDrive to a single folder.

Inputs: no named parameters.

onedrive_write_fileCInspect

Writes text content to a file in OneDrive.

Inputs: no named parameters.

outlook_calendar_create_eventBInspect

Creates a calendar event in Microsoft Outlook.

Inputs: no named parameters.

outlook_calendar_delete_eventBInspect

Deletes a calendar event from Outlook by EntryID (it goes to Deleted Items).

Inputs: no named parameters.

outlook_calendar_list_eventsBInspect

Lists upcoming calendar events from Microsoft Outlook on Windows.

Inputs: no named parameters.

outlook_calendar_list_namesBInspect

Lists all calendar folder names in Outlook.

Inputs: no named parameters.

outlook_contacts_listBInspect

Lists contacts from Microsoft Outlook on Windows.

Inputs: no named parameters.

outlook_create_folderBInspect

Creates a new mail folder in Outlook.

Inputs: no named parameters.

outlook_diagnoseAInspect

Checks which email accounts are configured in Microsoft Outlook and compares them with Mail.app.

Inputs: no named parameters.

outlook_flag_emailBInspect

Flags or unflags an Outlook email as important.

Inputs: no named parameters.

outlook_forward_emailCInspect

Forwards an Outlook email to another recipient.

Inputs: no named parameters.

outlook_get_contactCInspect

Gets detailed info for a specific Outlook contact by name.

Inputs: no named parameters.

outlook_list_accountsBInspect

Lists configured email accounts in Outlook.

Inputs: no named parameters.

outlook_list_emailsCInspect

Lists recent emails from Microsoft Outlook on Windows.

Inputs: no named parameters.

outlook_mark_email_readBInspect

Use this when the user wants emails in the classic Outlook app on this PC marked as read, or as unread with...

Inputs: no named parameters.

outlook_move_emailBInspect

Moves an Outlook email to a different folder.

Inputs: no named parameters.

outlook_read_emailCInspect

Reads the full content of an Outlook email by its EntryID.

Inputs: no named parameters.

outlook_reply_allCInspect

Replies to all recipients of an Outlook email.

Inputs: no named parameters.

outlook_reply_emailCInspect

Replies to an Outlook email by its EntryID.

Inputs: no named parameters.

outlook_save_attachmentBInspect

Saves attachments from an Outlook email to a folder.

Inputs: no named parameters.

outlook_search_emailsBInspect

Searches Outlook emails by keyword in subject or body.

Inputs: no named parameters.

outlook_send_emailBInspect

Sends an email via Microsoft Outlook on Windows.

Inputs: no named parameters.

pdf_readAInspect

Reads and extracts text from a PDF document (.pdf file).

Inputs: no named parameters.

permissions_statusCInspect

Reports the TCC permission state (screen recording, accessibility, microphone) this app needs to capture th...

Inputs: no named parameters.

photos_exportCInspect

(Beta) Exports one photo or video from Apple Photos to a folder on this Mac (default ~/Downloads), as Photo...

Inputs: no named parameters.

photos_list_albumsAInspect

(Beta) Lists the albums of Apple Photos on this Mac: id, name and how many photos and videos each has.

Inputs: no named parameters.

ppt_createAInspect

Creates a PowerPoint presentation (.pptx) at path from an array of slides, each {title, bullets:[…]}.

Inputs: no named parameters.

ppt_readBInspect

Reads slide text content from a PowerPoint presentation (.pptx file).

Inputs: no named parameters.

proton_disconnectBInspect

Disconnects one Proton Mail account from Local MCP: removes the Bridge password stored for it from the macO...

Inputs: no named parameters.

proton_list_emailsCInspect

Lists the newest messages of one folder of a Proton Mail account, newest first: id, sender, recipients, sub...

Inputs: no named parameters.

proton_read_emailBInspect

Reads one Proton Mail message by the id proton_list_emails or proton_search_emails returned: sender, recipi...

Inputs: no named parameters.

proton_search_emailsBInspect

Searches one folder of a Proton Mail account for query in the messages' headers and text, newest first.

Inputs: no named parameters.

proton_send_emailBInspect

Sends a plain-text message from a connected Proton Mail address, through Proton Mail Bridge on this computer.

Inputs: no named parameters.

proton_statusCInspect

Reports whether Proton Mail Bridge answers on this computer and which Proton Mail accounts are connected to...

Inputs: no named parameters.

read_emailCInspect

Use this when the user wants the full content of an email that lives in the Mac's Apple Mail (message ID fr...

Inputs: no named parameters.

read_messagesCInspect

Reads messages from an iMessage conversation by chat ID or contact name.

Inputs: no named parameters.

read_noteCInspect

Reads the full content of a note by name or ID.

Inputs: no named parameters.

recipe_deleteBInspect

Use this when the user wants to remove one of THEIR saved recipes/skills (the manifests under ~/.local/shar...

Inputs: no named parameters.

recipe_discoverBInspect

Browses installable community SKILLS — ready-made LMCP workflows other people published (a morning brief, i...

Inputs: no named parameters.

recipe_exportBInspect

Exports a saved SKILL (recipe) as a single portable token the user can send to someone else — paste it in a...

Inputs: no named parameters.

recipe_getBInspect

Returns the full manifest of a recipe by name.

Inputs: no named parameters.

recipe_importCInspect

Installs a SKILL someone shared with you — pass the skill_token from their recipe_export (or a raw recipe m...

Inputs: no named parameters.

recipe_installAInspect

Installs a community SKILL by id (from recipe_discover) onto this Mac so recipe_run can use it.

Inputs: no named parameters.

recipe_listBInspect

Lists the user's reusable SKILLS — saved recipes (an ordered sequence of LMCP tool calls with parameters) —...

Inputs: no named parameters.

recipe_renameCInspect

Renames one of the user's saved recipes.

Inputs: no named parameters.

recipe_runCInspect

Executes a recipe end to end: binds params, runs each step's tool in order via the registry, persists the r...

Inputs: no named parameters.

recipe_runsAInspect

Shows the history of past recipe runs and their results (recorded by recipe_run), so you can reuse, compare...

Inputs: no named parameters.

recipe_saveCInspect

Saves a reusable SKILL — a named recipe (an ordered sequence of LMCP tool calls with parameters) — to this...

Inputs: no named parameters.

recipe_submit_for_reviewCInspect

Submits one of YOUR saved recipes/skills to the community moderation queue for Dario's review — this does N...

Inputs: no named parameters.

record_markerDInspect

Drops a named marker into the active recording's timeline.

Inputs: no named parameters.

rename_reminder_folderCInspect

Renames an existing Apple Reminders list.

Inputs: no named parameters.

reply_emailBInspect

Use this when the user wants to reply to an email that lives in the Mac's Apple Mail (message ID from list_...

Inputs: no named parameters.

report_frictionBInspect

Sends the LMCP team an anonymous signal that an LMCP tool failed, returned nothing useful, or could not do...

Inputs: no named parameters.

report_problemCInspect

Sends a problem report, feature request, or integration request to the LMCP team — for when a user wants to...

Inputs: no named parameters.

request_featureCInspect

Submits a feature request to the LMCP team — a new capability, a tool that doesn't exist yet, or an app/int...

Inputs: no named parameters.

run_diagnosticsBInspect

Runs a fast health check of LMCP on this machine: the Apple apps, macOS permissions and local integrations...

Inputs: no named parameters.

run_terminal_commandBInspect

Runs a shell command on the user's Mac and returns its output.

Inputs: no named parameters.

save_attachmentCInspect

Saves an attachment from an email to disk.

Inputs: no named parameters.

screen_record_startCInspect

Begins a screen recording (ScreenCaptureKit) of a display, window, or region.

Inputs: no named parameters.

screen_record_statusAInspect

Reports whether a recording is active, with the session_id, elapsed_ms, output path, and marker_count.

Inputs: no named parameters.

screen_record_stopAInspect

Stops the active recording, finalizes the .mov, and writes the marker timeline JSON (§6) next to it.

Inputs: no named parameters.

screenshot_captureBInspect

Captures a single frame of a display, window, or region and writes it to a PNG file (a temp file, or `outpu...

Inputs: no named parameters.

search_contactsCInspect

Searches the Mac's Contacts app (Contacts.app, local/iCloud) by name, email, or phone number.

Inputs: no named parameters.

search_emailsBInspect

Use this when the user wants to find specific emails on this Mac (Apple Mail — any account added to Mail.app).

Inputs: no named parameters.

search_m365_directoryDInspect

Search your organization's Microsoft 365 directory for users by name or email.

Inputs: no named parameters.

search_messagesBInspect

Searches iMessage conversations by content, sender name, or date range.

Inputs: no named parameters.

search_notesBInspect

Searches Apple Notes by title or content.

Inputs: no named parameters.

search_omnifocus_tasksCInspect

Searches OmniFocus tasks by name or note content.

Inputs: no named parameters.

send_emailAInspect

Use this when the user wants to send an email from an account configured in the Mac's Apple Mail.

Inputs: no named parameters.

send_messageCInspect

Sends an iMessage via the Mac's Messages.app to a recipient handle (phone number with country code, e.g.

Inputs: no named parameters.

servicenow_add_commentCInspect

Add a comment or work note to a ServiceNow incident.

Inputs: no named parameters.

servicenow_create_incidentBInspect

Creates a real incident in the connected ServiceNow instance; the ticket is visible to the service desk as...

Inputs: no named parameters.

servicenow_get_incidentCInspect

Get full details of a specific ServiceNow incident by number or sys_id.

Inputs: no named parameters.

servicenow_list_my_incidentsAInspect

List incidents assigned to you or opened by you in ServiceNow.

Inputs: no named parameters.

servicenow_search_incidentsCInspect

Search incidents in ServiceNow by keyword, number, or caller.

Inputs: no named parameters.

servicenow_search_kbBInspect

Search the ServiceNow Knowledge Base for articles.

Inputs: no named parameters.

servicenow_update_incidentCInspect

Update fields on an existing ServiceNow incident — state, priority, assignment.

Inputs: no named parameters.

set_always_allowedCInspect

Turns «allowed without asking» on or off for one kind of action that LMCP otherwise confirms first (sending...

Inputs: no named parameters.

set_default_m365_accountAInspect

Choose which connected Microsoft 365 account the Microsoft 365 and Teams tools use when no account is given.

Inputs: no named parameters.

set_default_telegram_accountAInspect

Choose which Telegram account the telegram_* tools use when no account is given.

Inputs: no named parameters.

set_default_whatsapp_accountAInspect

Choose which WhatsApp account the whatsapp_* tools use when no account is given.

Inputs: no named parameters.

sharepoint_list_filesBInspect

Lists a SharePoint site's document libraries, or the files and folders in one.

Inputs: no named parameters.

sharepoint_list_sitesCInspect

Lists the SharePoint sites the connected Microsoft 365 work or school account can open: {"sites": [each sit...

Inputs: no named parameters.

sharepoint_read_fileBInspect

Reads a text file from a SharePoint document library: library from sharepoint_list_files, file its path...

Inputs: no named parameters.

shortcuts_listBInspect

Lists the user's macOS Shortcuts (Atajos), each with its stable identifier — the id shortcuts_run and short...

Inputs: no named parameters.

shortcuts_runCInspect

Runs one of the user's macOS Shortcuts (Atajos) by name or identifier — the way Mac users already automate...

Inputs: no named parameters.

shortcuts_viewAInspect

Opens a shortcut in the Shortcuts app so the user can inspect its actions before running it with shortcuts_...

Inputs: no named parameters.

signal_compose_guidanceAInspect

Composes a Signal message and returns step-by-step guidance for the user to send it themselves.

Inputs: no named parameters.

signal_connectBInspect

Connect Signal to Local MCP.

Inputs: no named parameters.

signal_disconnectBInspect

Turns Signal off in Local MCP: its tools stop reading it until the user turns it back on from LMCP's icon →...

Inputs: no named parameters.

signal_list_chatsAInspect

Lists Signal conversations (chats) with last-active timestamps.

Inputs: no named parameters.

signal_read_messagesCInspect

Reads messages from a specific Signal chat.

Inputs: no named parameters.

signal_search_messagesBInspect

Full-text search across locally-cached Signal messages.

Inputs: no named parameters.

slack_disconnectBInspect

Turns Slack off in Local MCP: its tools stop reading it until the user turns it back on from LMCP's icon →...

Inputs: no named parameters.

slack_list_channelsAInspect

Lists channels in a Slack workspace, including public channels, private channels, and direct messages (DMs).

Inputs: no named parameters.

slack_list_workspacesAInspect

Lists the Slack workspaces (teams) the user has connected in Slack Desktop.

Inputs: no named parameters.

slack_read_channel_messagesBInspect

Reads recent messages from a Slack channel or DM through the Slack Desktop app signed in on this Mac (its o...

Inputs: no named parameters.

slack_search_messagesCInspect

Searches Slack messages.

Inputs: no named parameters.

stocks_get_chartCInspect

Gets historical price data for a stock symbol.

Inputs: no named parameters.

stocks_get_quoteDInspect

Gets current stock price and market data for one or more symbols (e.g.

Inputs: no named parameters.

stocks_search_symbolCInspect

Searches for a stock ticker symbol by company name (e.g.

Inputs: no named parameters.

submit_diagnosticsBInspect

Runs the same health check as run_diagnostics and sends the result to the LMCP team so they can look into a...

Inputs: no named parameters.

survey_respondBInspect

Shows or submits the short in-product survey Local MCP assigned to this machine.

Inputs: no named parameters.

survey_skipAInspect

Skips the short in-product survey Local MCP showed the user, for now — use this when the user doesn't want...

Inputs: no named parameters.

teams_call_historyBInspect

Lists the Microsoft Teams calls and meetings that ended in the account's 50 most recent chats, newest first...

Inputs: no named parameters.

teams_list_channelsAInspect

Lists the channels of a Microsoft Teams team (team_id from teams_list_teams), by name, from Microsoft 365.

Inputs: no named parameters.

teams_list_chatsBInspect

Lists the Microsoft Teams chats of a Microsoft 365 account — direct messages, group chats and meeting chats...

Inputs: no named parameters.

teams_list_teamsAInspect

Lists the Microsoft Teams teams the Microsoft 365 account belongs to, by name.

Inputs: no named parameters.

teams_list_transcriptsCInspect

Lists the Microsoft Teams calls started from a chat and the calendar meetings that have a transcript, newes...

Inputs: no named parameters.

teams_read_channel_messagesBInspect

Reads the most recent posts of a Microsoft Teams channel (team_id from teams_list_teams, channel_id from te...

Inputs: no named parameters.

teams_read_chat_messagesAInspect

Reads the most recent messages of a Microsoft Teams chat (chat_id from teams_list_chats), oldest first, fro...

Inputs: no named parameters.

teams_read_transcriptCInspect

Reads the transcript of a Microsoft Teams call started from a chat or of a calendar meeting (transcript_id...

Inputs: no named parameters.

teams_search_messagesCInspect

Searches the Microsoft Teams chat and channel messages of a Microsoft 365 account with Microsoft Search: by...

Inputs: no named parameters.

teams_send_channel_messageCInspect

Sends a text message to a Microsoft Teams channel via Graph API.

Inputs: no named parameters.

teams_send_messageCInspect

Sends a text message to a Microsoft Teams chat as a connected Microsoft 365 work or school account (connect...

Inputs: no named parameters.

telegram_connectBInspect

Links your own Telegram account to LMCP on this Mac.

Inputs: no named parameters.

telegram_delete_messageBInspect

Deletes ONE message you sent in a Telegram private chat or basic group, for everyone, only after the receiv...

Inputs: no named parameters.

telegram_disconnectBInspect

Disconnects a Telegram account from LMCP on this Mac: signs that session out on Telegram's side and removes...

Inputs: no named parameters.

telegram_list_accountsCInspect

List the Telegram accounts linked to LMCP on this Mac: each one's id (tg1, tg2, …), the label the user gave...

Inputs: no named parameters.

telegram_list_chatsBInspect

Lists your Telegram chats (people, groups, channels) with unread counts and the last message preview, newes...

Inputs: no named parameters.

telegram_read_messagesBInspect

Reads recent messages of one Telegram chat, newest first.

Inputs: no named parameters.

telegram_search_messagesBInspect

Searches your Telegram messages by text, across all chats or (with chat_id from telegram_list_chats) inside...

Inputs: no named parameters.

telegram_send_messageCInspect

Sends a Telegram message from your own account to one chat.

Inputs: no named parameters.

telegram_unwatch_chatsBInspect

Stops the Telegram message notices telegram_watch_chats set up for this session: for account, or for ever...

Inputs: no named parameters.

telegram_watch_chatsBInspect

Asks LMCP to tell this session when new messages arrive in chosen Telegram chats, so you do not have to kee...

Inputs: no named parameters.

telegram_watch_statusCInspect

Says which Telegram chats this session is watching (telegram_watch_chats) and, per account, when they were...

Inputs: no named parameters.

things_complete_todoBInspect

(Beta) Marks a to-do of Things 3 completed, by its id from things_list_todos; it goes to the logbook as whe...

Inputs: no named parameters.

things_create_todoCInspect

(Beta) Creates a to-do in Things 3: in the inbox (default), in today, anytime or someday, or in one project...

Inputs: no named parameters.

things_list_areasAInspect

(Beta) Lists the areas of Things 3: id, title and tags.

Inputs: no named parameters.

things_list_projectsBInspect

(Beta) Lists the open projects of Things 3, or those of one area: id, title, notes, deadline, tags and area.

Inputs: no named parameters.

things_list_todosCInspect

(Beta) Lists to-dos of Things 3: those of one built-in list (inbox, today, anytime, upcoming, someday, logb...

Inputs: no named parameters.

things_update_todoCInspect

(Beta) Changes a to-do of Things 3, by its id from things_list_todos: its title, notes, deadline, start dat...

Inputs: no named parameters.

thunderbird_accounts_statusCInspect

Reports, per mail account of the Thunderbird profile on this computer, whether Local MCP can send from it:...

Inputs: no named parameters.

thunderbird_disconnectCInspect

Stops Local MCP from sending from one Thunderbird account: removes the password Local MCP stored for it fro...

Inputs: no named parameters.

thunderbird_list_accountsBInspect

Lists the mail accounts of the Thunderbird profile on this computer: id, name, address, type (imap, pop3 or...

Inputs: no named parameters.

thunderbird_list_emailsBInspect

Lists the newest messages of one Thunderbird folder, newest first: id, sender, recipients, subject, date, s...

Inputs: no named parameters.

thunderbird_read_emailCInspect

Reads one Thunderbird message by the id thunderbird_list_emails or thunderbird_search_emails returned: send...

Inputs: no named parameters.

thunderbird_search_contactsBInspect

Searches Thunderbird's address books on this computer (the personal one and the collected addresses) for `q...

Inputs: no named parameters.

thunderbird_search_emailsCInspect

Searches one Thunderbird account's messages for query in subject, sender, recipients and body text, ignor...

Inputs: no named parameters.

thunderbird_send_emailBInspect

Sends a plain-text message from one Thunderbird account, through that account's own outgoing mail server, w...

Inputs: no named parameters.

todo_complete_taskAInspect

Marks a Microsoft To Do task as complete.

Inputs: no named parameters.

todo_create_taskCInspect

Creates a task in Microsoft To Do (via Reminders sync).

Inputs: no named parameters.

todo_get_foldersAInspect

Lists Microsoft To Do task lists.

Inputs: no named parameters.

todoist_complete_taskAInspect

Mark a Todoist task complete (closes it).

Inputs: no named parameters.

todoist_create_taskBInspect

Create a Todoist task.

Inputs: no named parameters.

todoist_list_projectsAInspect

List your Todoist projects (id + name).

Inputs: no named parameters.

todoist_list_tasksAInspect

List active (incomplete) Todoist tasks.

Inputs: no named parameters.

todo_list_listsAInspect

Lists task folders/lists in Outlook Tasks, including nested subfolders.

Inputs: no named parameters.

todo_list_tasksCInspect

Lists tasks from a Microsoft To Do list (or any Reminders list).

Inputs: no named parameters.

ui_clickBInspect

Clicks an element (by element_ref, at its center) or a screen coordinate (by coords).

Inputs: no named parameters.

ui_find_elementDInspect

GUI automation — control a native app's interface.

Inputs: no named parameters.

ui_get_elementAInspect

Re-resolves a previously returned element_ref (its bounds/state may have changed).

Inputs: no named parameters.

ui_keystrokeDInspect

Sends a key combination, e.g.

Inputs: no named parameters.

ui_menu_bar_clickCInspect

Clicks a status-bar item (menu bar extra / NSStatusItem, the icons at the right of the menu bar) and option...

Inputs: no named parameters.

ui_read_treeAInspect

Returns a COMPACT accessibility tree of a running native app's labeled + interactive elements (buttons, lin...

Inputs: no named parameters.

ui_typeCInspect

Types text into the focused control (or focuses element_ref first, then types).

Inputs: no named parameters.

ui_wait_for_elementBInspect

Deterministic synchronization — replaces all sleeps.

Inputs: no named parameters.

update_calendar_eventCInspect

Updates an existing event in the Mac's Calendar app (Calendar.app) by ID.

Inputs: no named parameters.

update_contactCInspect

Updates a contact in the Mac's Contacts app (Contacts.app), found by contact_id or by name.

Inputs: no named parameters.

update_local_mcpBInspect

Checks whether an LMCP update is available for this computer and whether one is already downloaded.

Inputs: no named parameters.

update_noteBInspect

Updates an existing note in Apple Notes.

Inputs: no named parameters.

update_reminderCInspect

Updates an existing reminder in Reminders.app.

Inputs: no named parameters.

update_self_diagnosisAInspect

Returns the self-update health state: current version, latest available, pending update status.

Inputs: no named parameters.

video_blur_regionAInspect

Pixelates/blurs one or more rectangles over the video — the tool for redacting PII (an email pane, a name)...

Inputs: no named parameters.

video_concatCInspect

Stitches multiple videos end-to-end, in order, into one NEW file (e.g.

Inputs: no named parameters.

video_export_gifCInspect

Exports a video (or a [start_ms,end_ms] slice of it) to an optimized looping GIF — for README/social.

Inputs: no named parameters.

video_reframeDInspect

Crops a video to a target aspect ratio (e.g.

Inputs: no named parameters.

video_trimCInspect

Trims a video to one or more time ranges (milliseconds), concatenated in order into a NEW file — e.g.

Inputs: no named parameters.

web_clickBInspect

Clicks an element on the current page.

Inputs: no named parameters.

web_evalCInspect

Runs arbitrary JavaScript in a web session and returns the last expression's value, which must be a plain J...

Inputs: no named parameters.

web_extractBInspect

Scrapes structured data from the current page.

Inputs: no named parameters.

web_findAInspect

Finds elements on the current page of a web session so you can decide what to click or type into.

Inputs: no named parameters.

web_loginBInspect

Opens a real browser window on the Mac for the user to sign into a website themselves (you never handle the...

Inputs: no named parameters.

web_navigateBInspect

Navigates a web session to a URL (using its saved login if any) and returns the resulting URL + page title.

Inputs: no named parameters.

web_readAInspect

Reads the current page of a web session so you can reason over it.

Inputs: no named parameters.

web_screenshotBInspect

Captures a PNG screenshot of the current page of a web session (returned inline so web AIs can see it).

Inputs: no named parameters.

web_session_closeAInspect

Closes a web-automation session's window and frees it.

Inputs: no named parameters.

web_session_deleteAInspect

Deletes a SAVED web-automation login profile: closes its window if open, erases its cookies and site data f...

Inputs: no named parameters.

web_session_listAInspect

Lists your web-automation login profiles: every SAVED login (persisted on disk, so web_login/web_navigate c...

Inputs: no named parameters.

web_showAInspect

Brings a web session's browser window to the FRONT so the USER can take over directly — solve a CAPTCHA, co...

Inputs: no named parameters.

web_typeCInspect

Types text into a form field (input/textarea) or a rich-text editor (a contenteditable element) on the curr...

Inputs: no named parameters.

web_wait_forAInspect

Waits (polls, not a fixed sleep) until an element appears on the page, or times out.

Inputs: no named parameters.

whatsapp_connectAInspect

Link WhatsApp to Local MCP by showing a QR code right here in the chat — no Terminal needed.

Inputs: no named parameters.

whatsapp_create_groupCInspect

Creates a WhatsApp group and adds the given participants.

Inputs: no named parameters.

whatsapp_diagnoseBInspect

WhatsApp health check (wacli doctor): which account is linked (number), last sync time, store lock, message...

Inputs: no named parameters.

whatsapp_disconnectAInspect

Unlink WhatsApp from Local MCP — logs out the linked device on this Mac (via wacli).

Inputs: no named parameters.

whatsapp_forward_messageCInspect

Forwards one WhatsApp message (text, document, image, video or voice note/audio) to another chat, marked as...

Inputs: no named parameters.

whatsapp_group_infoBInspect

Fetches a WhatsApp group's live info + participant list.

Inputs: no named parameters.

whatsapp_list_accountsBInspect

List the WhatsApp accounts linked to Local MCP on this Mac: each one's id (wa1, wa2, …), the label the user...

Inputs: no named parameters.

whatsapp_list_chatsAInspect

Lists WhatsApp conversations with last message preview.

Inputs: no named parameters.

whatsapp_list_groupsAInspect

Lists the WhatsApp groups this account is in (from the local store — run whatsapp_sync first if a just-crea...

Inputs: no named parameters.

whatsapp_read_messagesCInspect

Reads messages from a specific WhatsApp chat.

Inputs: no named parameters.

whatsapp_read_pollBInspect

Reads WhatsApp poll results.

Inputs: no named parameters.

whatsapp_save_mediaCInspect

Saves the media of one WhatsApp message (a document such as PDF, DOCX or XLSX, an image, a video, or a voic...

Inputs: no named parameters.

whatsapp_search_contactsCInspect

Searches your WhatsApp contacts (synced metadata) by name or number — use it to resolve a person to their J...

Inputs: no named parameters.

whatsapp_search_messagesBInspect

Offline full-text search across all WhatsApp chats.

Inputs: no named parameters.

whatsapp_send_fileCInspect

Sends a file attachment to a WhatsApp chat.

Inputs: no named parameters.

whatsapp_send_messageBInspect

Sends a text message to a WhatsApp chat.

Inputs: no named parameters.

whatsapp_send_pollCInspect

Sends a poll to a WhatsApp chat/group — everyone in the chat sees it.

Inputs: no named parameters.

whatsapp_syncCInspect

Starts WhatsApp pulling the latest messages, groups and contacts into the local store and returns right awa...

Inputs: no named parameters.

window_focusAInspect

Brings a window (by window_id from list_windows) to the front and activates its app.

Inputs: no named parameters.

window_set_frameDInspect

Pins a window (by window_id) to fixed bounds {x,y,w,h} in global points, so every take is framed identicall...

Inputs: no named parameters.

word_appendAInspect

Appends text to the end of an existing Word (.docx) document at path, preserving the document's existing...

Inputs: no named parameters.

word_createBInspect

Creates a new Word (.docx) document at path with the given text content (and an optional title rendered a...

Inputs: no named parameters.

word_readAInspect

Reads text content from a Word document (.docx file).

Inputs: no named parameters.

zalo_connectAInspect

Link Zalo to Local MCP by showing a QR code right here in the chat.

Inputs: no named parameters.

zalo_diagnoseAInspect

Reports Zalo's link state and what to do next if Zalo tools aren't working.

Inputs: no named parameters.

zalo_disconnectAInspect

Unlink Zalo from Local MCP (removes the saved session on this Mac).

Inputs: no named parameters.

zalo_list_chatsAInspect

Lists your Zalo conversations — friends and groups — so you can pick a recipient.

Inputs: no named parameters.

zalo_read_messagesBInspect

Reads recent Zalo messages that Local MCP captured while linked.

Inputs: no named parameters.

zalo_search_messagesDInspect

Searches your captured Zalo messages by text.

Inputs: no named parameters.

zalo_send_messageCInspect

Sends a Zalo message to a conversation.

Inputs: no named parameters.

zoom_list_recordingsAInspect

Lists Zoom meeting recordings saved locally on this Mac (~/Documents/Zoom), newest first: meeting name, dat...

Inputs: no named parameters.

zoom_read_transcriptCInspect

Reads the text artifacts of a local Zoom recording: the transcript/captions (.vtt or closed_caption.txt, cl...

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.4/5.0

    Scored across 364 tools

    Disambiguation2/5

    Many tools are near-duplicates across backends: four file-list tools (file_list, finder_list, explorer_list, gdrive_list_files/onedrive_list_files), four email stacks (list_emails, m365_list_emails, outlook_list_emails, proton_list_emails, thunderbird_list_emails) with identical verb patterns, and a cluster of diagnostics/self-update tools (run_diagnostics, lmcp_doctor, lmcp_state, lmcp_upgrade_diagnostics, update_self_diagnosis, submit_diagnostics) plus overlapping feedback tools (report_friction, report_problem, request_feature). Descriptions are long and detailed, but from names alone an agent will frequently pick the wrong backend or the wrong diagnostic.

    Naming Consistency3/5

    All snake_case with service prefixes (m365_, teams_, whatsapp_, servicenow_), but the convention is applied unevenly: Apple Mail tools have no prefix (list_emails, read_email, send_email) while every other mail backend is prefixed, and ordering conventions mix (file_list vs gdrive_list_files vs todo_get_folders). It remains readable, but an agent cannot infer the pattern reliably.

    Tool Count1/5

    364 tools is an order of magnitude beyond any reasonable surface, spanning a dozen unrelated domains (mail, chat, calendars, files, media editing, GUI automation, browser automation, VPN, stocks, agent mesh, community recipes). The overload itself becomes the primary source of selection error.

    Completeness3/5

    The overall surface is enormous, yet each sub-domain is only partially covered: Contacts has create/update but no delete; OmniFocus has list/create/complete but no update/delete; several chat integrations lack full CRUD. Agents can usually route around gaps by using a different backend, but individual integrations are not life-cycle complete.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Connect AI with any macOS app. Deep integration with native apps like Calendar, Mail, Notes, plus UI control for all applications. Works with Claude, Cursor, Raycast, and any MCP-compatible AI.
      45
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      426+ MCP tools for macOS, all on-device — local AI inference (llama.cpp on Metal), voice, vision OCR, local RAG, browser automation, and ~140 system actions across 26 macOS domains. Nothing leaves your Mac.
      3
      MIT

    Appeared in Searches