MCP REFERENCE

Keeploop MCP tools

Every tool a web or phone AI app can call through Keeploop. What it does, what it changes, and when it asks on the Mac first.

Connecting

Setup steps for each AI app: Connect a web or phone AI.

How to read the tables

54 tools: 46 Read, 6 Write, 2 Sensitive write.

Mail

Read Apple Mail's own store on the Mac, limited to the accounts the user chose.

ToolWhat it doesClassSide effectsAsks on the Mac first
list_accountsLists the Mail accounts Keeploop may read, with their labels.ReadNoneNo
list_categoriesLists the labels the user gave accounts and contacts, such as Personal and Work.ReadNoneNo
search_mailSearches mail by sender, subject, date, account or label, and optionally body text.ReadNoneNo
get_emailReads one message in full: headers, recipients, attachments and body text.ReadNoneNo
get_threadLists every message in the same conversation as one message, oldest first.ReadNoneNo
find_attachmentsFinds attachments by file name, kind, sender, date or account.ReadNoneNo
read_attachmentReads one attachment as text, or as an image the AI can see.ReadNoneNo
awaiting_replyLists threads where someone is waiting on the user, or the user is waiting on someone.ReadNoneNo

Calendar

Read the calendars the user shared. The write tools appear only when the user sets Calendar to Read and propose on the Mac.

ToolWhat it doesClassSide effectsAsks on the Mac first
list_calendarsLists the calendars the user shared with Keeploop.ReadNoneNo
list_eventsLists events in a time range across those calendars.ReadNoneNo
get_eventReads one event with its attendees and their answers.ReadNoneNo
find_free_timeFinds open slots of a given length inside working hours.ReadNoneNo
find_invitesLists meeting invites found in mail and whether they still need an answer. It never accepts or declines.ReadNoneNo
list_proposalsLists events proposed with propose_event and what became of each.ReadNoneNo
propose_eventProposes an event for the user's calendar. Nothing is added until the user taps Add on the Mac.WriteShows a notification on the Mac. Adds the event only after the user taps Add. Proposals expire after 24 hours.Always. The event is added only when the user taps Add.
propose_rescheduleFinds new times for a meeting and saves a reply to the invite that lists them.WriteSaves a reply draft in Mail. Sends nothing and does not change the calendar.Yes, by default. The draft goes through the Draft permission (Ask).
cancel_proposalWithdraws a pending proposal.WriteRemoves the proposal's notification on the Mac.No. Refused when the user blocks calendar changes.

Drafts and sending

Replies only. Recipients always come from the message being answered, never from the AI. Draft and send tools appear only when the user sets Mail to Read and write on the Mac.

ToolWhat it doesClassSide effectsAsks on the Mac first
get_voice_profileReturns a short description of how the user writes, for drafting in their voice.ReadNoneNo
list_draftsLists drafts in the shared accounts.ReadNoneNo
save_reply_draftSaves a reply to an existing message in Mail's Drafts.WriteCreates a draft in Mail. Never sends.Yes, by default (Draft permission: Ask).
send_replySends a reply to an existing message now.Sensitive writeSends email from the user's account. If the send is refused or fails, the reply stays in Drafts.Yes, by default (Send permission: Ask). Rules can block it per person, label, account or AI app.

Monitors

Monitors watch for new items on the Mac, record matches and can notify the user. They never send anything. create_monitor and cancel_monitor are listed by default, even with Mail at Read only.

ToolWhat it doesClassSide effectsAsks on the Mac first
list_monitorsLists the user's monitors and their status.ReadNoneNo
check_monitorReturns the matches a monitor recorded, optionally only the new ones.ReadNoneNo
create_monitorWatches mail, texts, calendar, Slack or Notes for new items that match, and records each match.WriteCreates a monitor on the Mac. Each match can notify the user. It never sends, changes or deletes anything.No, by default (Monitor permission: Allow). The user can set it to Ask or Block.
cancel_monitorStops a monitor. Its recorded matches stay readable.WriteStops the monitor.No. Refused when the user blocks monitors.

Messages, Slack, Notes and other sources

Each source's tools appear only when the user turns that source on in Keeploop. All are read only from web and phone AI apps.

ToolWhat it doesClassSide effectsAsks on the Mac first
search_messagesSearches iMessage, SMS and RCS messages on the Mac.ReadNoneNo
get_conversationReads the newest messages in one Messages conversation.ReadNoneNo
search_whatsappSearches messages the WhatsApp desktop app stored on the Mac.ReadNoneNo
get_whatsapp_chatReads the newest messages in one WhatsApp chat.ReadNoneNo
search_slackSearches the Slack messages Keeploop keeps on the Mac.ReadNoneNo
get_slack_threadReads one Slack thread with its replies.ReadNoneNo
list_slack_channelsLists the Slack conversations Keeploop can read.ReadNoneNo
search_notesSearches Apple Notes by title and text. Locked notes are never read.ReadNoneNo
get_noteReads one Apple Note in full.ReadNoneNo
search_contactsSearches Contacts by name, company, email or phone.ReadNoneNo
get_contactReads one contact in full. Contact notes are never read.ReadNoneNo
recent_callsLists phone and FaceTime call history.ReadNoneNo
get_voicemailsReads voicemails with their transcripts.ReadNoneNo
recent_notificationsLists notifications apps posted on the Mac.ReadNoneNo
notification_appsLists which apps posted notifications, with counts.ReadNoneNo

Setup and account

Help the AI explain what it can do, and why something does not work.

ToolWhat it doesClassSide effectsAsks on the Mac first
check_setupChecks each part of the Keeploop setup and says how to fix what fails.ReadNone. A few checks test network connections (the connection service, ntfy, Slack).No
check_permissionsReports which macOS permissions Keeploop has and what is missing.ReadNoneNo
get_policyReads the user's permission rules (Block, Ask or Allow) with plain summaries.ReadNoneNo
explain_policySays what would happen if the AI tried an action now, and why.ReadNoneNo
explain_accessSays what this connection can read, and why something is hidden.ReadNoneNo
get_settings_summarySummarizes what this connection can read now.ReadNoneNo

Cards

Interactive cards for AI apps that show them (MCP Apps). Tools marked card only are called by the card, not the model.

ToolWhat it doesClassSide effectsAsks on the Mac first
keeploop_inboxOpens Keeploop's Inbox card: replies owed, today's events, monitors and recent mail.ReadNoneNo
show_mailShows up to 8 emails as a card.ReadNoneNo
show_todayShows today's brief: next events, replies owed and monitor matches.ReadNoneNo
show_free_timeShows open calendar slots as a card the user can pick from.ReadNone. Adding a slot uses keeploop_card_action.No
show_draftShows a draft as a card with Save and Send buttons. It saves and sends nothing itself.ReadNone. Its buttons use keeploop_card_action.No
keeploop_card_threadCard only: loads one conversation for a card.ReadNoneNo
keeploop_card_statusCard only: reports the state of a card button's run.ReadNoneNo
keeploop_card_actionCard only: runs the tool behind a card button: save_reply_draft, send_reply or propose_event.Sensitive writeThose of the tool it runs, which can send email.The same as the tool it runs. Each is checked exactly as a direct call.

Not available from web and phone AI apps

These work only from AI apps on the Mac itself: new emails to any address, editing or deleting drafts, texts, Slack posts, notes, saving attachments to disk, waiting for new mail, editing or deleting monitors, and any change to permissions or settings. A web or phone AI app can at most reply in an existing Mail thread, under the user's rules.

Errors

Errors come back as a tool result with isError: true and a plain sentence the AI can repeat to the user. Requests other than tool calls get a JSON-RPC error with the same sentence.

Mac off, asleep or Keeploop not running
Your Mac is offline or asleep, so Keeploop can't reach it. Wake the Mac and make sure Keeploop is running, then try again. JSON-RPC code -32001 for requests other than tool calls. initialize, ping and tools/list still answer, so the connection stays healthy. Nothing is queued for later.
No Mac paired yet
Keeploop isn't connected to a Mac yet. Open Keeploop on your Mac and pair it in Settings > Remote access.
A tool call the Mac did not finish within 55 seconds
Your Mac didn't answer in time. The result is unknown; check on your Mac before retrying.
Write tools not allowed for this connection
send_reply is off for remote apps: Mail is Read only. The user can change it on the Mac in Keeploop > Settings > Remote access.
Blocked by the user's permissions
send_reply is blocked for remote apps by Keeploop's permissions. The user can change them on the Mac in Keeploop > Settings > Permissions. A plain reason follows.
The user said no on the Mac
The user said no on this Mac. Nothing was done; do not retry unless they ask you to.
A tool that works only on the Mac
send_email is not available to remote apps. It works from apps on the Mac itself.
Keeploop was updated while the app was connected
Keeploop was updated. Reconnect it in your AI app.
No Pro or trial on the account
Remote access needs Keeploop Pro. Open Keeploop on your Mac to see your options. tools/list returns no tools until the user has Pro or the trial.
Too many requests at once
Too many requests to your Mac at once. Try again in a moment. HTTP 429, JSON-RPC code -32002, Retry-After: 2.

Limits

Data

Keeploop reads the user's data on their Mac. Requests and results pass through Keeploop's connection service in memory on the way between the AI app and the Mac. They are never stored. Once an AI app receives a result, that app's own data policy applies. Details: Privacy policy and Security.

Questions: [email protected].