# ContactZapp Muse connector

From musedirectory.ai, the independent directory of Meta Muse connectors. Not affiliated with Meta.

## ContactZapp

Find, add and update your contacts across linked address books, and trigger syncs.

- Record: https://musedirectory.ai/connector/contactzapp
- Category: Productivity
- Developer: contactz.app (https://contactz.app/developers)
- Muse status: Extra setup. Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
- Health: Working, 96ms, checked 2026-11-03T14:01:15Z
- Endpoint: https://app.contactz.app/api/v1/mcp
- Auth: Needs an access key; Pricing: unknown
- Screening: Screened, no issues found (2026-11-03T14:01:15Z)
- Source: Found in the official MCP Registry (app.contactz/contactzapp) https://registry.modelcontextprotocol.io/v0/servers?search=app.contactz%2Fcontactzapp

Connects to your ContactZapp account. Muse can search contacts by name, email, phone or free text, add new contacts, update their details, list your linked accounts, and start a manual sync. It can also read recent contact changes and duplicate alerts, and manage webhooks for automations. Requires a ContactZapp API key with the scopes you grant.

Example request: "Find Sam Lee's phone number in my ContactZapp contacts and add her new work email address."

How to connect: Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use ContactZapp to help me. It is a free service with an MCP server at https://app.contactz.app/api/v1/mcp. It needs an API key from contactz.app; ask me to enter it through your secure credential prompt. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Tools:
- getV1Me: Checks an API key. Returns the user the key acts for, the user's plan and the key's scopes. Any live key may call it, so it is the call to make when you want to test a key. Send the key in every request as `Authorization: Bearer <key>`. Each operation names the scope it needs; a 
- listV1Contacts: Finds the user's contacts, or lists them. Give at most one of `email`, `phone` and `query`: - `email` and `phone` find the contacts that hold that address or number. An email is compared ignoring case, and a phone number ignoring formatting. - `query` is the same free-text search
- createV1Contact: Creates a contact. It is treated like a contact that arrives from a sync. The contact is written to one of the user's two-way accounts, which ContactZapp chooses: the earliest-linked account that keeps an address book and is not paused. The sync then copies it to every other two-
- getV1Contact: Returns one contact. `id` is the contact's `id` or its `publicId` (`CS-0042`). A deleted or merged contact is a 404, and so is another user's contact.
- updateV1Contact: Changes a contact's fields, as the app's edit does. Only the fields in the body change; a field the body leaves out keeps its value. The change is recorded in History as the user's, naming the API key, and written to every two-way account the contact is in, never to a read-only o
- postV1Sync: Starts a sync, the same as pressing Sync now in ContactZapp. The run shows in History as a manual run. The answer is 202 with the state of the sync: `queued` or `running`. If a sync is already going, you get that one back and no second one starts. Needs the `sync:trigger` scope.
- listV1Accounts: Lists the user's linked accounts, as the Settings screen does: provider, name, sync direction, connection state and when each account last synced.
- listV1TriggerEvents: Polling trigger: returns the newest events of one type first. This is what Zapier, Make and n8n poll to start an automation. Each item has an `id` that never changes. Polling again with nothing new returns the same ids, and a new event appears at the top. Deduplicate by `id`. `co
- listV1Webhooks: Lists the webhook subscriptions of this API key's user, oldest first: the URL, the event and whether it is `active` or `disabled`. The signing secret is never shown again after the subscription is made. Needs the `webhooks:manage` scope.
- createV1Webhook: Subscribes a URL to one event. Zapier, Make and n8n call this when an automation is switched on. The URL must use HTTPS and reach a public address. The answer is 201 with the subscription and its signing `secret`, which is shown only here. Needs the `webhooks:manage` and `contact

Screening checks:
- MCP handshake: pass (Answered in 96ms)
- Domain against threat feeds (Cloudflare security DNS): pass (app.contactz.app, contactz.app not flagged)
- Published packages against the OSV malicious-package database: n/a (No npm or PyPI package published)
- Hidden instructions or invisible characters in tool text: pass (10 tools read, nothing found)
- Inputs asking for passwords, card numbers or seed phrases: pass (None found)
- Domain and redirects: pass (Domain registered 63 days ago)
- AI review of purpose and tool behavior: pass (No concerns)
