Local MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| agent_ackA | Tells the senders that you actually read the messages agent_inbox gave you. |
| agent_checkinA | Announces YOU (this agent session) to the mesh: your role, the repo you are working on and what you can do. |
| agent_inboxA | Reads the messages other agents sent to this machine since your last poll (check in first with agent_checkin). |
| agent_mesh_createA | Starts a new agent mesh with THIS machine as its first member. |
| agent_mesh_inviteA | Creates a single-use pairing code (valid 15 minutes) that another of the user's machines can redeem with ag... |
| agent_mesh_joinA | Enrolls THIS machine into an existing agent mesh using a pairing code the user got from another of their ma... |
| agent_mesh_revokeA | Removes another machine from this mesh, immediately: it stops appearing in the directory, stops receiving m... |
| agent_mesh_statusA | Shows whether THIS machine belongs to an agent mesh — the group of the user's own machines whose AI agents... |
| agent_sendA | Sends a coordination message to an agent on ANOTHER of the user's machines (get its handle from agents_list). |
| agent_sentA | Shows what THIS machine sent and what happened to it: who it was delivered to and who acknowledged it. |
| agents_listC | Lists the agents currently working across ALL the user's machines in the mesh — which machine each is on, i... |
| complete_omnifocus_taskB | Marks an OmniFocus task as complete. |
| complete_reminderB | Marks a reminder complete in Apple Reminders (Reminders.app). |
| configure_clientsB | Adds Local MCP to the config of the MCP-capable AI apps installed on this Mac, from LMCP's client catalog (... |
| connect_evernoteB | Connect your Evernote account. |
| connect_m365_accountB | Connect a Microsoft 365 account (or add another one, or sign one in again). |
| connect_servicenowD | Connect ServiceNow. |
| connect_todoistC | Connect Todoist. |
| create_calendar_eventC | Creates an event in the Mac's Calendar app (Calendar.app). |
| create_draftA | Saves an email to the Mail.app Drafts folder for the user to review and send manually — it never sends. |
| create_email_folderB | Creates a mailbox folder in the Mac's Apple Mail (Mail.app), in one account. |
| create_noteB | Creates a new note in Apple Notes. |
| create_omnifocus_taskC | Creates a task in OmniFocus on this Mac. |
| create_referral_invitesB | Records referral invites for the colleagues a user chose to invite and returns a unique referral link per p... |
| create_reminderB | Creates a reminder in Reminders.app. |
| create_reminder_listC | Creates a new list in Apple Reminders (Reminders.app), in the same account as the default Reminders list (u... |
| daily_briefC | Returns a single morning briefing combining today's calendar events, overdue and due-today reminders, unrea... |
| delete_calendar_eventC | Deletes an event from the Mac's Calendar app (Calendar.app) by ID. |
| delete_noteB | Deletes a note from Apple Notes, by ID or exact title. |
| delete_reminderA | Permanently deletes a reminder in Apple Reminders (Reminders.app) by ID. |
| delete_reminder_folderA | Deletes an Apple Reminders list AND all reminders inside it — cannot be undone. |
| disconnect_evernoteA | Disconnect your Evernote account and remove stored tokens. |
| disconnect_m365_accountB | Disconnect ONE Microsoft 365 account and remove its stored sign-in. |
| disconnect_servicenowA | Disconnect from ServiceNow and remove stored credentials. |
| disconnect_todoistA | Disconnect Todoist and remove the stored API token. |
| enable_serviceA | Turns a service back ON in LMCP after the user turned it off. |
| evernote_create_noteC | Create a new note in Evernote. |
| evernote_list_notebooksB | List all your Evernote notebooks. |
| evernote_read_noteC | Read the full content of an Evernote note by its GUID. |
| evernote_update_noteB | Update the title or content of an existing Evernote note. |
| excel_createA | Creates a new Excel spreadsheet (.xlsx file) with headers and optional data rows. |
| excel_readB | Reads data from an Excel spreadsheet (.xlsx file). |
| excel_write_cellD | Writes a value to a specific cell in an Excel file. |
| file_listA | Lists files and folders in a local directory. |
| file_readA | Reads a plain text file from the local filesystem by its absolute path — the primary, default tool for read... |
| file_searchB | Searches for files and folders by name (case-insensitive, partial match) starting from a root directory. |
| file_writeA | Writes text to a local file — create, overwrite, or append. |
| finder_listA | Lists files and folders in a directory (Spotlight-free). |
| finder_searchA | Searches for files by name anywhere on this Mac (uses mdfind/Spotlight); pass path= to scope it to one folder. |
| gdrive_delete_fileC | Deletes a file or an empty folder from the synced Google Drive folder — Google Drive for Desktop syncs the... |
| gdrive_file_infoA | Metadata for a file/folder in the synced Google Drive: size, dates, type. |
| gdrive_list_filesB | Lists files and folders in a Google Drive path (the locally-synced folder). |
| gdrive_read_fileB | Reads a text file from the synced Google Drive folder (.txt, .md, .csv, .json, code files...). |
| gdrive_rootA | Lists the Google Drive folders synced on this Mac (My Drive, Shared drives, per-account mounts). |
| gdrive_search_filesB | Searches the synced Google Drive folder for files by name (recursive). |
| gdrive_write_fileB | Writes or overwrites a text file in the synced Google Drive folder — it uploads automatically via the offic... |
| get_audit_logA | Returns recent LMCP tool call history from the local audit log. |
| get_configA | Returns the current LMCP configuration: connected integrations, feature flags and license status. |
| get_contactC | Gets a contact from the Mac's Contacts app (Contacts.app) by name or ID. |
| get_datetimeA | Get the current date and time of the machine where LMCP runs — with timezone and UTC offset. |
| get_m365_personB | Get detailed information about a specific person in your Microsoft 365 directory by their user ID or email... |
| get_reminder_foldersA | Lists the lists (folders) in Apple Reminders (Reminders.app) on this Mac. |
| get_weatherC | Gets the current weather and a short daily forecast for a location. |
| image_playground_generateB | Generates an image on-device from a text prompt using Apple's Image Playground (Apple Intelligence / Core M... |
| list_accountsA | Lists Mail.app email accounts WITH each account's email addresses, server_name and type. |
| list_calendar_eventsB | Lists events from the Mac's Calendar app (Calendar.app, local/iCloud calendars) in a date range, or reads O... |
| list_calendar_namesA | Lists the calendars in the Mac's Calendar app (Calendar.app, local/iCloud). |
| list_contactsA | Lists contacts from the macOS Contacts app. |
| list_displaysA | Lists connected displays with bounds (global space, top-left origin, points), backing scale_factor, and whi... |
| list_email_accountsA | Lists all Mail.app account NAMES (fast — cached, no Mail lock). |
| list_email_foldersA | Lists the full folder (mailbox) tree for Apple Mail (Mail.app) accounts, including nested subfolders. |
| list_emailsC | Use this when the user wants to see or triage their inbox on this Mac (Apple Mail — any account added to Ma... |
| list_m365_accountsB | List the Microsoft 365 accounts connected on this computer: email (upn), id, display name, which one is the... |
| list_m365_people_insightsA | List the people most relevant to you in Microsoft 365 — based on your communication patterns, collaboration... |
| list_message_chatsA | Lists recent iMessage / Messages.app conversations (chat id, name, service). |
| list_missing_permissionsC | Returns the macOS privacy (TCC) permissions Local MCP needs that are NOT granted yet, each with a one-click... |
| list_notesB | Lists notes from Apple Notes app. |
| list_omnifocus_foldersA | Lists folders in OmniFocus. |
| list_omnifocus_projectsB | Lists projects in OmniFocus. |
| list_omnifocus_tagsA | Lists all tags defined in OmniFocus. |
| list_omnifocus_tasksC | Lists tasks from OmniFocus. |
| list_referral_candidatesA | Returns the user's emailable contacts plus an invite template, for recommending LMCP to a colleague. |
| list_remindersA | Lists reminders from Apple Reminders (Reminders.app) on this Mac. |
| list_windowsA | Lists on-screen windows of any app with window_id, owning app bundle id + name, title, bounds (global space... |
| lmcp_doctorC | Checks everything LMCP depends on on this Mac — the AI apps connected to it, macOS permissions, each integr... |
| lmcp_install_upgradeA | Checks for and installs a newer LMCP version — a self-upgrade of the LMCP app itself (not editing any of yo... |
| lmcp_stateB | Returns a structured snapshot of the LMCP environment: server and tray versions, detected AI client, cloud... |
| lmcp_upgrade_diagnosticsA | Returns LMCP's self-upgrade health (the LMCP app upgrading itself, not editing your data): current version,... |
| m365_create_eventC | Creates an event in the connected Microsoft 365 / Outlook calendar. |
| m365_delete_eventB | Deletes an event from the connected Microsoft 365 / Outlook calendar by its id (from m365_list_events). |
| m365_get_contactB | Get full details of a specific Microsoft 365 contact by ID. |
| m365_list_contactsB | List contacts from your Microsoft 365 / Outlook address book. |
| m365_list_emailsB | Use this when the user wants their Microsoft 365 / Outlook / Exchange inbox via the cloud — requires a conn... |
| m365_list_eventsB | List upcoming calendar events from your Microsoft 365 / Outlook calendar. |
| m365_read_emailC | Use this when the user wants the full content of a Microsoft 365 email (message ID from m365_list_emails/m3... |
| m365_reply_emailA | Use this when the user wants to reply to a Microsoft 365 email (message ID from m365_list_emails). |
| m365_search_contactsC | Search contacts in your Microsoft 365 address book by name, email, or company. |
| m365_search_emailsB | Use this when the user wants to find emails in their Microsoft 365 / Outlook mailbox via the cloud — requir... |
| m365_send_emailC | Use this when the user wants to send from their Microsoft 365 / Outlook account via the cloud — requires a... |
| media_probeB | Reports duration_ms, width, height, fps, whether it has audio, and file size for a video/audio file. |
| move_emailA | Moves an email to another mailbox (nested target folders are found by name). |
| nordvpn_diagnoseA | Run a diagnostic check on NordVPN: installation, login state, connection status, kill switch, and supported... |
| nordvpn_serversC | Get recommended NordVPN servers by country or specialty. |
| nordvpn_statusA | Check NordVPN connection status: connected/disconnected, auto-connect, snooze, and last known location. |
| notion_list_databasesA | Lists Notion databases cached on this Mac with their schema (column names and types). |
| notion_list_pagesA | Lists Notion pages cached on this Mac (titles, last edited, hierarchy), newest first. |
| notion_list_workspacesA | Lists the Notion workspaces cached on this Mac. |
| notion_open_pageA | Opens a Notion page in the desktop app (deep link). |
| notion_read_databaseB | Reads the cached rows of a Notion database with their properties mapped through the schema. |
| notion_read_pageC | Reads a Notion page from the local cache and returns its content as markdown (headings, lists, to-dos, code... |
| notion_searchB | Searches cached Notion content (page titles and block text) for a phrase, case-insensitive. |
| onedrive_delete_fileA | Permanently deletes a file or an EMPTY folder inside the OneDrive folder synced on this Mac. |
| onedrive_file_infoC | Returns metadata for a file or folder in your OneDrive synced folder: size, modification date, type, and ex... |
| onedrive_list_filesC | Lists files and folders in a OneDrive path. |
| onedrive_move_fileB | Moves or renames a file or folder inside the OneDrive folder synced on this Mac; OneDrive syncs the change... |
| onedrive_read_fileB | Reads a text file from your OneDrive synced folder. |
| onedrive_rootA | Lists all mounted OneDrive directories on this Mac. |
| onedrive_search_filesC | Searches for files by name in a OneDrive directory (recursive). |
| onedrive_set_scopeB | Limits LMCP's access to one OneDrive to a single folder. |
| onedrive_write_fileC | Writes text content to a file in OneDrive. |
| outlook_diagnoseA | Checks which email accounts are configured in Microsoft Outlook and compares them with Mail.app. |
| pdf_readA | Reads and extracts text from a PDF document (.pdf file). |
| permissions_statusC | Reports the TCC permission state (screen recording, accessibility, microphone) this app needs to capture th... |
| ppt_createA | Creates a PowerPoint presentation (.pptx) at |
| ppt_readB | Reads slide text content from a PowerPoint presentation (.pptx file). |
| read_emailC | Use this when the user wants the full content of an email that lives in the Mac's Apple Mail (message ID fr... |
| read_messagesC | Reads messages from an iMessage conversation by chat ID or contact name. |
| read_noteC | Reads the full content of a note by name or ID. |
| recipe_deleteB | Use this when the user wants to remove one of THEIR saved recipes/skills (the manifests under ~/.local/shar... |
| recipe_discoverB | Browses installable community SKILLS — ready-made LMCP workflows other people published (a morning brief, i... |
| recipe_exportB | Exports a saved SKILL (recipe) as a single portable token the user can send to someone else — paste it in a... |
| recipe_getB | Returns the full manifest of a recipe by name. |
| recipe_importC | Installs a SKILL someone shared with you — pass the skill_token from their recipe_export (or a raw recipe m... |
| recipe_installA | Installs a community SKILL by id (from recipe_discover) onto this Mac so recipe_run can use it. |
| recipe_listB | Lists the user's reusable SKILLS — saved recipes (an ordered sequence of LMCP tool calls with parameters),... |
| recipe_publishC | Submits one of YOUR saved recipes/skills to the community moderation queue for Dario's review — this does N... |
| recipe_runC | Executes a recipe end to end: binds params, runs each step's tool in order via the registry, persists the r... |
| recipe_runsA | Shows the history of past recipe runs and their results (recorded by recipe_run), so you can reuse, compare... |
| recipe_saveC | Saves a reusable SKILL — a named recipe (an ordered sequence of LMCP tool calls with parameters) — to this... |
| record_markerD | Drops a named marker into the active recording's timeline. |
| rename_reminder_folderC | Renames an existing Apple Reminders list. |
| reply_emailB | Use this when the user wants to reply to an email that lives in the Mac's Apple Mail (message ID from list_... |
| report_frictionA | Send an ANONYMOUS, content-free signal when an LMCP tool fails, returns nothing useful, the user seems frus... |
| report_problemC | Sends a problem report, feature request, or integration request to the LMCP team — for when a user wants to... |
| request_featureC | Submits a feature request to the LMCP team — a new capability, a tool that doesn't exist yet, or an app/int... |
| run_diagnosticsB | Runs a fast health check of all LMCP integrations on this machine, including the AI apps connected to LMCP... |
| run_terminal_commandB | Runs a shell command on the user's Mac and returns its output. |
| save_attachmentC | Saves an attachment from an email to disk. |
| screen_record_startC | Begins a screen recording (ScreenCaptureKit) of a display, window, or region. |
| screen_record_statusA | Reports whether a recording is active, with the session_id, elapsed_ms, output path, and marker_count. |
| screen_record_stopA | Stops the active recording, finalizes the .mov, and writes the marker timeline JSON (§6) next to it. |
| screenshot_captureA | Captures a single frame of a display, window, or region to a PNG. |
| search_contactsC | Searches the Mac's Contacts app (Contacts.app, local/iCloud) by name, email, or phone number. |
| search_emailsB | Use this when the user wants to find specific emails on this Mac (Apple Mail — any account added to Mail.app). |
| search_evernoteB | Search your Evernote notes by keyword, tag, or notebook. |
| search_m365_directoryD | Search your organization's Microsoft 365 directory for users by name or email. |
| search_messagesB | Searches iMessage conversations by content, sender name, or date range. |
| search_notesB | Searches Apple Notes by title or content. |
| search_omnifocus_tasksC | Searches OmniFocus tasks by name or note content. |
| send_emailA | Use this when the user wants to send an email from an account configured in the Mac's Apple Mail. |
| send_messageC | Sends an iMessage via the Mac's Messages.app to a recipient handle (phone number with country code, e.g. |
| servicenow_add_commentC | Add a comment or work note to a ServiceNow incident. |
| servicenow_create_incidentB | Creates a real incident in the connected ServiceNow instance; the ticket is visible to the service desk as... |
| servicenow_get_incidentC | Get full details of a specific ServiceNow incident by number or sys_id. |
| servicenow_list_my_incidentsA | List incidents assigned to you or opened by you in ServiceNow. |
| servicenow_search_incidentsC | Search incidents in ServiceNow by keyword, number, or caller. |
| servicenow_search_kbB | Search the ServiceNow Knowledge Base for articles. |
| servicenow_update_incidentC | Update fields on an existing ServiceNow incident — state, priority, assignment. |
| set_default_m365_accountA | Choose which connected Microsoft 365 account the Microsoft 365 and Teams tools use when no |
| set_default_telegram_accountA | Choose which Telegram account the telegram_* tools use when no |
| set_default_whatsapp_accountA | Choose which WhatsApp account the whatsapp_* tools use when no |
| shortcuts_listB | Lists the user's macOS Shortcuts (Atajos), each with its stable identifier — the id shortcuts_run and short... |
| shortcuts_runC | Runs one of the user's macOS Shortcuts (Atajos) by name or identifier — the way Mac users already automate... |
| shortcuts_viewA | Opens a shortcut in the Shortcuts app so the user can inspect its actions before running it with shortcuts_... |
| signal_compose_guidanceA | Composes a Signal message and returns step-by-step guidance for the user to send it themselves. |
| signal_connectB | Connect Signal to Local MCP. |
| signal_list_chatsA | Lists Signal conversations (chats) with last-active timestamps. |
| signal_read_messagesC | Reads messages from a specific Signal chat. |
| signal_search_messagesB | Full-text search across locally-cached Signal messages. |
| slack_list_channelsA | Lists channels in a Slack workspace, including public channels, private channels, and direct messages (DMs). |
| slack_list_workspacesA | Lists the Slack workspaces (teams) the user has connected in Slack Desktop. |
| slack_read_channel_messagesC | Reads recent messages from a Slack channel or DM. |
| slack_search_messagesC | Searches Slack messages. |
| stocks_get_chartC | Gets historical price data for a stock symbol. |
| stocks_get_quoteD | Gets current stock price and market data for one or more symbols (e.g. |
| stocks_search_symbolC | Searches for a stock ticker symbol by company name (e.g. |
| survey_respondB | Shows or submits the short in-product survey Local MCP assigned to this machine. |
| survey_skipA | Skips the short in-product survey Local MCP showed the user, for now — use this when the user doesn't want... |
| teams_call_historyB | Lists the Microsoft Teams calls and meetings that ended in the account's 50 most recent chats, newest first... |
| teams_list_channelsA | Lists the channels of a Microsoft Teams team (team_id from teams_list_teams), by name, from Microsoft 365. |
| teams_list_chatsB | Lists the Microsoft Teams chats of a Microsoft 365 account — direct messages, group chats and meeting chats... |
| teams_list_teamsA | Lists the Microsoft Teams teams the Microsoft 365 account belongs to, by name. |
| teams_read_channel_messagesB | Reads the most recent posts of a Microsoft Teams channel (team_id from teams_list_teams, channel_id from te... |
| teams_read_chat_messagesA | Reads the most recent messages of a Microsoft Teams chat (chat_id from teams_list_chats), oldest first, fro... |
| teams_search_messagesC | Searches the Microsoft Teams chat and channel messages of a Microsoft 365 account with Microsoft Search: by... |
| teams_send_channel_messageC | Sends a text message to a Microsoft Teams channel via Graph API. |
| teams_send_messageC | Sends a text message to a Microsoft Teams chat as a connected Microsoft 365 work or school account (connect... |
| telegram_connectB | Links your own Telegram account to LMCP on this Mac. |
| telegram_disconnectB | Disconnects a Telegram account from LMCP on this Mac: signs that session out on Telegram's side and removes... |
| telegram_list_accountsC | List the Telegram accounts linked to LMCP on this Mac: each one's id (tg1, tg2, …), the label the user gave... |
| telegram_list_chatsB | Lists your Telegram chats (people, groups, channels) with unread counts and the last message preview, newes... |
| telegram_read_messagesB | Reads recent messages of one Telegram chat, newest first. |
| telegram_search_messagesB | Searches your Telegram messages by text, across all chats or (with chat_id from telegram_list_chats) inside... |
| telegram_send_messageC | Sends a Telegram message from your own account to one chat. |
| todo_complete_taskA | Marks a Microsoft To Do task as complete. |
| todo_create_taskC | Creates a task in Microsoft To Do (via Reminders sync). |
| todo_get_foldersA | Lists Microsoft To Do task lists. |
| todo_list_tasksC | Lists tasks from a Microsoft To Do list (or any Reminders list). |
| todoist_complete_taskA | Mark a Todoist task complete (closes it). |
| todoist_create_taskB | Create a Todoist task. |
| todoist_list_projectsA | List your Todoist projects (id + name). |
| todoist_list_tasksA | List active (incomplete) Todoist tasks. |
| ui_clickB | Clicks an element (by element_ref, at its center) or a screen coordinate (by coords). |
| ui_find_elementD | GUI automation — control a native app's interface. |
| ui_get_elementA | Re-resolves a previously returned element_ref (its bounds/state may have changed). |
| ui_keystrokeD | Sends a key combination, e.g. |
| ui_menu_bar_clickC | Clicks a status-bar item (menu bar extra / NSStatusItem, the icons at the right of the menu bar) and option... |
| ui_read_treeA | Returns a COMPACT accessibility tree of a running native app's labeled + interactive elements (buttons, lin... |
| ui_typeC | Types text into the focused control (or focuses element_ref first, then types). |
| ui_wait_for_elementB | Deterministic synchronization — replaces all sleeps. |
| update_calendar_eventC | Updates an existing event in the Mac's Calendar app (Calendar.app) by ID. |
| update_noteB | Updates an existing note in Apple Notes. |
| update_reminderC | Updates an existing reminder in Reminders.app. |
| video_blur_regionA | Pixelates/blurs one or more rectangles over the video — the tool for redacting PII (an email pane, a name)... |
| video_concatC | Stitches multiple videos end-to-end, in order, into one NEW file (e.g. |
| video_export_gifC | Exports a video (or a [start_ms,end_ms] slice of it) to an optimized looping GIF — for README/social. |
| video_reframeD | Crops a video to a target aspect ratio (e.g. |
| video_trimC | Trims a video to one or more time ranges (milliseconds), concatenated in order into a NEW file — e.g. |
| web_clickB | Clicks an element on the current page. |
| web_evalC | Runs arbitrary JavaScript in a web session and returns the last expression's value, which must be a plain J... |
| web_extractB | Scrapes structured data from the current page. |
| web_findA | Finds elements on the current page of a web session so you can decide what to click or type into. |
| web_loginB | Opens a real browser window on the Mac for the user to sign into a website themselves (you never handle the... |
| web_navigateB | Navigates a web session to a URL (using its saved login if any) and returns the resulting URL + page title. |
| web_readA | Reads the current page of a web session so you can reason over it. |
| web_screenshotB | Captures a PNG screenshot of the current page of a web session (returned inline so web AIs can see it). |
| web_session_closeA | Closes a web-automation session's window and frees it. |
| web_session_deleteA | Deletes a SAVED web-automation login profile: closes its window if open, erases its cookies and site data f... |
| web_session_listA | Lists your web-automation login profiles: every SAVED login (persisted on disk, so web_login/web_navigate c... |
| web_showA | Brings a web session's browser window to the FRONT so the USER can take over directly — solve a CAPTCHA, co... |
| web_typeC | Types text into a form field (input/textarea) or a rich-text editor (a contenteditable element) on the curr... |
| web_wait_forA | Waits (polls, not a fixed sleep) until an element appears on the page, or times out. |
| whatsapp_connectA | Link WhatsApp to Local MCP by showing a QR code right here in the chat — no Terminal needed. |
| whatsapp_create_groupC | Creates a WhatsApp group and adds the given participants. |
| whatsapp_diagnoseB | WhatsApp health check (wacli doctor): which account is linked (number), last sync time, store lock, message... |
| whatsapp_disconnectA | Unlink WhatsApp from Local MCP — logs out the linked device on this Mac (via wacli). |
| whatsapp_group_infoB | Fetches a WhatsApp group's live info + participant list. |
| whatsapp_list_accountsB | List the WhatsApp accounts linked to Local MCP on this Mac: each one's id (wa1, wa2, …), the label the user... |
| whatsapp_list_chatsA | Lists WhatsApp conversations with last message preview. |
| whatsapp_list_groupsA | Lists the WhatsApp groups this account is in (from the local store — run whatsapp_sync first if a just-crea... |
| whatsapp_read_messagesC | Reads messages from a specific WhatsApp chat. |
| whatsapp_read_pollB | Reads WhatsApp poll results. |
| whatsapp_search_contactsC | Searches your WhatsApp contacts (synced metadata) by name or number — use it to resolve a person to their J... |
| whatsapp_search_messagesB | Offline full-text search across all WhatsApp chats. |
| whatsapp_send_fileC | Sends a file attachment to a WhatsApp chat. |
| whatsapp_send_messageB | Sends a text message to a WhatsApp chat. |
| whatsapp_send_pollC | Sends a poll to a WhatsApp chat/group — everyone in the chat sees it. |
| whatsapp_syncC | Starts WhatsApp pulling the latest messages, groups and contacts into the local store and returns right awa... |
| window_focusA | Brings a window (by window_id from list_windows) to the front and activates its app. |
| window_set_frameD | Pins a window (by window_id) to fixed bounds {x,y,w,h} in global points, so every take is framed identicall... |
| word_appendA | Appends text to the end of an existing Word (.docx) document at |
| word_createB | Creates a new Word (.docx) document at |
| word_readA | Reads text content from a Word document (.docx file). |
| zalo_connectA | Link Zalo to Local MCP by showing a QR code right here in the chat. |
| zalo_diagnoseA | Reports Zalo's link state and what to do next if Zalo tools aren't working. |
| zalo_disconnectA | Unlink Zalo from Local MCP (removes the saved session on this Mac). |
| zalo_list_chatsA | Lists your Zalo conversations — friends and groups — so you can pick a recipient. |
| zalo_read_messagesB | Reads recent Zalo messages that Local MCP captured while linked. |
| zalo_search_messagesD | Searches your captured Zalo messages by text. |
| zalo_send_messageC | Sends a Zalo message to a conversation. |
| zoom_list_recordingsA | Lists Zoom meeting recordings saved locally on this Mac (~/Documents/Zoom), newest first: meeting name, dat... |
| zoom_read_transcriptC | Reads the text artifacts of a local Zoom recording: the transcript/captions (.vtt or closed_caption.txt, cl... |
| echoB | Echoes the input text back. |
| explorer_listB | Lists files and folders in a directory. |
| explorer_searchB | Searches for files by name recursively. |
| gdrive_disconnectB | Turns one Google Drive folder off in Local MCP: its tools stop reading it until the user turns it back on i... |
| gdrive_set_scopeA | Sets the active Google Drive root directory (when multiple accounts are synced). |
| m365_create_draftA | Create an email DRAFT in the Drafts folder of your Microsoft 365 account, for you to review and send yourself. |
| obsidian_list_vaultsB | Lists the Obsidian vaults on this computer, from Obsidian's own list of vaults: id, name, folder path and n... |
| obsidian_read_noteB | Reads one note of an Obsidian vault: its text, frontmatter, tags, outgoing [[wikilinks]] (each with the not... |
| obsidian_search_notesC | Searches the notes of an Obsidian vault by text ( |
| obsidian_write_noteB | Writes a Markdown note in an Obsidian vault. |
| onedrive_disconnectB | Turns one OneDrive folder off in Local MCP: its tools stop reading it until the user turns it back on in Lo... |
| outlook_calendar_create_eventB | Creates a calendar event in Microsoft Outlook. |
| outlook_calendar_delete_eventC | Deletes a calendar event from Outlook by EntryID. |
| outlook_calendar_list_eventsB | Lists upcoming calendar events from Microsoft Outlook on Windows. |
| outlook_calendar_list_namesB | Lists all calendar folder names in Outlook. |
| outlook_contacts_listB | Lists contacts from Microsoft Outlook on Windows. |
| outlook_contacts_searchC | Searches contacts in Microsoft Outlook by name, email, or company. |
| outlook_create_folderB | Creates a new mail folder in Outlook. |
| outlook_flag_emailB | Flags or unflags an Outlook email as important. |
| outlook_forward_emailC | Forwards an Outlook email to another recipient. |
| outlook_get_contactC | Gets detailed info for a specific Outlook contact by name. |
| outlook_list_accountsB | Lists configured email accounts in Outlook. |
| outlook_list_emailsC | Lists recent emails from Microsoft Outlook on Windows. |
| outlook_move_emailB | Moves an Outlook email to a different folder. |
| outlook_read_emailC | Reads the full content of an Outlook email by its EntryID. |
| outlook_reply_allC | Replies to all recipients of an Outlook email. |
| outlook_reply_emailC | Replies to an Outlook email by its EntryID. |
| outlook_save_attachmentB | Saves attachments from an Outlook email to a folder. |
| outlook_search_emailsB | Searches Outlook emails by keyword in subject or body. |
| outlook_send_emailB | Sends an email via Microsoft Outlook on Windows. |
| proton_connectC | Reports whether Proton Mail Bridge answers on this computer and which Proton Mail accounts are connected to... |
| proton_disconnectA | Disconnects one Proton Mail account from Local MCP: removes the Bridge password stored for it from Windows... |
| proton_list_emailsC | Lists the newest messages of one folder of a Proton Mail account, newest first: id, sender, recipients, sub... |
| proton_read_emailB | Reads one Proton Mail message by the id proton_list_emails or proton_search_emails returned: sender, recipi... |
| proton_search_emailsB | Searches one folder of a Proton Mail account for |
| proton_send_emailB | Sends a plain-text message from a connected Proton Mail address, through Proton Mail Bridge on this computer. |
| run_qaB | Returns a QA test protocol listing every LMCP tool to test, with expected inputs and pass/fail criteria. |
| slack_disconnectA | Turns Slack off in Local MCP: its tools stop reading it until the user turns it back on in Local MCP's Sett... |
| submit_diagnosticsB | Runs the same health check as run_diagnostics and sends the result to the LMCP team so they can look into a... |
| submit_qa_reportB | Submits a QA run report. |
| thunderbird_connectC | Reports, per mail account of the Thunderbird profile on this computer, whether Local MCP can send from it:... |
| thunderbird_disconnectC | Stops Local MCP from sending from one Thunderbird account: removes the password Local MCP stored for it fro... |
| thunderbird_list_accountsB | Lists the mail accounts of the Thunderbird profile on this computer: id, name, address, type (imap, pop3 or... |
| thunderbird_list_emailsB | Lists the newest messages of one Thunderbird folder, newest first: id, sender, recipients, subject, date, s... |
| thunderbird_read_emailC | Reads one Thunderbird message by the id thunderbird_list_emails or thunderbird_search_emails returned: send... |
| thunderbird_search_contactsB | Searches Thunderbird's address books on this computer (the personal one and the collected addresses) for `q... |
| thunderbird_search_emailsC | Searches one Thunderbird account's messages for |
| thunderbird_send_emailB | Sends a plain-text message from one Thunderbird account, through that account's own outgoing mail server, w... |
| todo_list_listsA | Lists task folders/lists in Outlook Tasks, including nested subfolders. |
| update_local_mcpB | Checks whether an LMCP update is available for this computer and whether one is already downloaded. |
| update_self_diagnosisA | Returns the self-update health state: current version, latest available, pending update status. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 323 tools
Many tool families are genuinely near-duplicates with no meaningful boundary (file_list / finder_list / explorer_list all 'list files in a directory', and a thicket of overlapping diagnostics/update tools: run_diagnostics, lmcp_doctor, submit_diagnostics, update_local_mcp, update_self_diagnosis, lmcp_upgrade_diagnostics). Provider prefixes (m365_, outlook_, thunderbird_, proton_, signal_) do help separate account-specific tools, but at 323 tools there are numerous clusters where an agent must guess.
Everything is snake_case, which is good, but the convention is mixed: some tools are verb_noun (create_note, list_emails) while others are noun_verb or bare nouns (agent_inbox, agent_checkin, task families like todo_complete_task vs complete_reminder). Prefixes also vary arbitrarily across the same domain (file_/finder_/explorer_, slack_/teams_).
323 tools is an extreme mismatch for a single server surface, far beyond the 3-15 range and even the 50+ 'extreme' bucket. The volume itself creates selection noise regardless of how well-scoped the individual integrations are.
Coverage across the domains it targets (mail, calendar, tasks, files, messaging, browser/GUI automation, media, Office docs) is broad, with per-provider list/read/create/update/delete lifecycles mostly present. The problem is redundancy rather than missing operations, with only minor gaps (e.g. some provider setup/diagnostic edges).