Skip to main content
Glama
680,581 tools. Updated 2026-10-20 10:17

"How to access iCloud contacts" matching MCP tools:

  • Applies a tag to one or more contacts (max 100). Get the `tagId` from list_tags (or from create_tag for a new one). Idempotent: contacts already tagged are ignored. Each application emits the contact.tag_added event: use list_automations to see which automations listen to that event before writing.
    ConnectorAPI key
  • Search the user's Google Contacts (saved contacts + Google's auto-collected "other contacts") across all connected Google accounts, by name (or partial name/email). Returns each match's name, primary email, full email list (for people with several addresses), and source ('contact' = saved, 'other' = auto-collected). Use this to resolve a person's NAME to an email address before composing/sending a message — on 0 matches, fall back to searching past message history or ask the user directly; on multiple matches, ask the user which one before proceeding. Accounts without the contacts scope are skipped and reported in `errors` with a reconnect hint. Call list_accounts to learn account labels. Read-only — no contact writes.
    ConnectorOAuth
  • Browse ALL of the user's SAVED Google Contacts for one account, one page at a time — unlike search_contacts, no query is needed, so this is how to see the whole address book (or find someone when a name search comes up empty/ambiguous). Returns each contact's name, primary email, full email list, and a `next_page_token`: pass that back as `page_token` to fetch the next page, and stop once it's null. Only ONE account per call (pagination is per-account) — pass `account` when more than one Contacts-enabled Google account is connected (call list_accounts to learn labels); it auto-resolves when only one is connected.
    ConnectorOAuth
  • Built-in product help — a natural-language "how do I…" question about Fastio returns a grounded, product-aware answer (or a short clarifying question) in one call. EXPLAIN-ONLY / ADVISORY: it returns GUIDANCE TEXT and performs NO platform action (it will not create shares, move files, or change anything); the actions themselves are on the other tools. Answers are grounded in Fastio's own how-to knowledge AND phrased in terms of these MCP tools — they name the concrete `<tool> action="…"` calls, in place of guessed endpoints or exploratory calls. Q&A over the user's uploaded files (RAG) is the `ai_manage` tool; `how-to` answers questions about Fastio ITSELF. Costs no credits; needs only an authenticated user (no org needed). action='describe' gives the full action/param reference.
    ConnectorNo auth
  • Finds events by text across the calendars shared with this access — case-insensitive substring match on title, location and description. The search only sees what this access may see: it filters the same visibility-rendered data `get_availability` returns. Calendars limited to free/busy expose no text and therefore can never match — when such calendars are part of this access, a warning says so. "No match" is thus NOT proof that no such event exists. A match in a calendar the user allowed managing carries `event_id`, `calendar_id`, `is_organizer` and `is_recurring` — everything `update_event`, `delete_event` and `respond_to_event` need. Act on those directly instead of calling `get_availability` again for the same appointment. The range works like `get_availability` (single span of at most 92 days, lookback bounded to one year). Without `from`/`to` the search covers the last 7 days plus the next 85. Cancelled events are not searchable. Matches include events that do not block time (`blocks_time: false`) — notably every all-day event from Apple/iCloud. They are ordinary appointments and belong in the answer; do not filter them out when the user asked what is in their calendar. Check `status` first: `credits_exhausted` means this call was NOT performed. Only `warnings` and credit information are returned in that case; no result data or write confirmation. Tell the user how to restore credits; do not retry automatically.
    ConnectorAPI key
  • Puts contacts back at the START of the automation, on the version published today. Only needed for STRUCTURAL errors: whoever entered on a version with an extra node or a wrong branch cannot be reached in any other way, because enrollment pins the version and one enrollment per contact prevents re-entering. Not needed for a TEXT error: message content is re-read at every send, so update_automation is enough. WARNING, this is DESTRUCTIVE: the running workflow is terminated and the contact starts over, so **they will see again the emails they already received**. That is why `confirm: true` is required. The response says how many contacts were actually inside the flow (`contacts`) and how many never entered it (`notEnrolled`). The step log and the messages already sent remain readable: the old run is marked as superseded, not deleted.
    Connector
    Destructive
    API key

Matching MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables access to iCloud mail, calendars, and contacts over MCP through IMAP/SMTP, CalDAV, and CardDAV, with configurable read/write and deletion permissions.
    2
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    A self-hosted MCP server that provides secure access to iCloud Mail, Calendar, and Contacts, enabling agents to read and send email, manage calendar events, and search contacts with safety controls like approval for outgoing messages.
    50
    96 PyPI
    4
    MIT

Matching MCP Connectors

  • Automatically send an approved template to every NEW contact with a tag, e.g. a welcome message whenever a lead tagged "new-lead" is added (by add_or_update_contact, import_contacts, the REST API, or a Zapier/Make integration calling it). Only contacts created AFTER the automation qualify, each at most once: re-importing or tagging existing contacts never triggers it. To message existing contacts, use a broadcast; the response's existing_tagged_contacts says how many already have the tag. Only add contacts who agreed to receive WhatsApp messages. The template must be APPROVED with every {{n}} placeholder mapped (set_template_variables). One automation per tag. delay_minutes (0 to 10080) waits before sending. Returns the automation with live stats and any warnings (e.g. no WhatsApp number connected) that would make sends fail.
    ConnectorOAuth
  • Lists events from the Mac's Calendar app (Calendar.app, local/iCloud calendars) in a date range, or reads ONE event in full via event_id. List entries preview notes (200 chars, notes_truncated flag) and cap attendees; pass event_id to get the complete notes and full roster. Defaults to today + 7 days. For a Microsoft 365 calendar use m365_list_events instead.
    ConnectorOAuth
  • Lists all Mail.app account NAMES (fast — cached, no Mail lock). This is the preferred way to get account names: call it first to discover them, then use list_emails(account=name) to fetch messages from a specific account. If you also need each account's email addresses or type (imap/pop/iCloud), use list_accounts instead.
    ConnectorOAuth
  • Rolodex overview: how many contacts the subscriber has, how many have a phone or email, and the top industries and tags. Answers "how many contacts do I have?" and "what industries are my contacts in?" Use get_contact_history to look up specific people.
    ConnectorNo auth
  • Fetch bounded public security.txt text without following contacts. Use only for public HTTP(S) resources; it does not execute JavaScript or bypass access controls. Pass url as an absolute public HTTP(S) URL. Keep fresh=false to allow cache reuse; set fresh=true only when a new upstream fetch is required.
    ConnectorNo auth
  • Live SMTP RCPT probe (HELO + MAIL FROM + RCPT TO; no DATA). Reports deliverability verdict (deliverable / catch_all / undeliverable / greylisted / inconclusive). Catch-all detection via random-fake-RCPT comparison. Skipped automatically for Gmail / Outlook / Yahoo / iCloud / Fastmail / ProtonMail. ~3-8s latency.
    ConnectorNo auth
  • Import 1 to 50 contacts into the CRM per call. Chunk larger sets into multiple proposals. Existing contacts are matched by email and skipped or attached to the event, never duplicated. This NEVER emails anyone. Use invite_to_portal afterward when portal access is needed. Depending on the organization's settings, this either executes immediately or files a proposal for approval; the response status field says which happened.
    ConnectorNo auth
  • Query the user's HubSpot contacts — the people synced from the HubSpot portals they've connected. Use this for any question about their CRM contacts: engagement filters ('show me people with more than 10 page views'), lifecycle and pipeline ('how many customers do I have?', 'leads with an open deal'), firmographics ('contacts at Google', 'people in Boston'), attribution ('which source brought the most contacts?'), email activity, deal amounts, lead scores, or form conversions. Answered by generating a read-only SQL query over the synced contact table, so it returns columns and rows rather than prose — summarize the rows for the user, and say how many there were. If it reports no contacts synced, tell them to import at /hubspot/import. Keep the question under 500 characters.
    ConnectorNo auth
  • Overview of the user's synced HubSpot data: which portals they have connected, how many contacts and companies came from each, and when each was last synced. Use this for questions about how much HubSpot data they have, which portals are connected, or whether their data is up to date — and to check they have any data before promising an answer. For questions about the records themselves, use ask_about_hubspot_contacts or ask_about_hubspot_companies.
    ConnectorNo auth
  • How an AI agent gets access to The Continental: the free Porch pass (no human needed: hashcash + Ed25519), and membership through an operator (price, limits, the three steps they take, the text to forward to them). Also how to configure this server once you have a key. Call this first if you have no key.
    ConnectorNo auth
  • Take contacts OUT of a named lead list after reviewing them (e.g. with get_contact_profile / get_lead_context you decide a lead does not belong). Because every contact must live in exactly one list, this MOVES them back to the default 'CRM Imports' bucket rather than deleting anything — the contact, its CRM history and any campaign membership are preserved, so the action is fully reversible with add_contacts_to_list. This does NOT delete the contact and does NOT remove it from campaigns (use exclude_contacts_from_campaign for that). To permanently drop a lead from all future outreach, blacklist it instead. Returns how many were removed; contacts already in 'CRM Imports' are reported as not_removed.
    ConnectorAPI key
  • Adds existing contacts to a list (max 100): to create them, or to create and link in one go, use upsert_contact. Idempotent: contacts already in the list are ignored. Each addition emits the contact.list_added event: use list_automations to see which automations listen to that event before writing.
    ConnectorAPI key
  • FREE, no API key. Use when someone wants to be connected with investors for a raise. Runs DEALITHIC's matching engine against 50,000+ funds and returns how many fit and what kinds of investors they are (counts only: no firm names or contacts). asset_class is one of pe, vc, growth, credit, real_estate, infrastructure, preferred_equity, equity, public_equity, other. target_raise_m is the raise in USD millions. If the result looks useful, offer request_intro to book a demo where names and contacts are released.
    ConnectorNo auth
  • What this MCP server is, what each access tier includes, and how to obtain access. Call this first if you are unsure what the server offers, or after any tool refuses you — the refusal names a tier, and this tool explains what that tier costs and what it adds. Requires no credentials.
    ConnectorNo auth
  • What this MCP server is, what each access tier includes, and how to obtain access. Call this first if you are unsure what the server offers, or after any tool refuses you — the refusal names a tier, and this tool explains what that tier costs and what it adds. Requires no credentials.
    ConnectorNo auth