ContactZapp

Official registry Other

Keeps your contacts in sync across Google, Microsoft, Apple and CardDAV, and cleans up duplicates.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

Remote (streamable-http)
Claude Code
claude mcp add --transport http contactzapp 'https://app.contactz.app/api/v1/mcp' --header 'Authorization: <Your ContactZapp API key. Make one in Settings › Advanced. Start the value with Bearer.>'
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "contactzapp": {
            "type": "http",
            "url": "https://app.contactz.app/api/v1/mcp",
            "headers": {
                "Authorization": "<Your ContactZapp API key. Make one in Settings › Advanced. Start the value with Bearer.>"
            }
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. ContactZapp MCP server
  2. What you need
  3. Connect
  4. Tools
  5. Limits
  6. More
  7. Maintaining this repository

ContactZapp MCP server

Let an AI assistant find, read, add and update your contacts in ContactZapp.

ContactZapp keeps your contacts in sync across Google, Microsoft, Apple and CardDAV, and cleans up duplicates. This server gives an assistant the access your API key has.

ContactZapp hosts the server. There is nothing to install or run. This repository holds the registry entry (server.json), the logo and the setup steps. It does not hold the server's code.

Addresshttps://app.contactz.app/api/v1/mcp
TransportStreamable HTTP
Sign-inYour ContactZapp API key, in the Authorization header
Registry nameapp.contactz/contactzapp

What you need

  • A ContactZapp account. The API key works on every plan, Free included.
  • An API key. In ContactZapp, open Settings, then Advanced. Under API keys, choose Create key. Tick what the key can do, and copy it when it appears. It is shown once. Getting started walks through it.
  • An assistant that can connect to a remote MCP server.

You sign in with the key only. There is no Connect button or sign-in window for the assistant yet.

Connect

Send the key as Authorization: Bearer cz_live_.... Replace cz_live_... with your key.

Claude Code

claude mcp add --transport http contactzapp https://app.contactz.app/api/v1/mcp \
  --header "Authorization: Bearer cz_live_..."

Cline (cline_mcp_settings.json)

{
  "mcpServers": {
    "contactzapp": {
      "type": "streamableHttp",
      "url": "https://app.contactz.app/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer cz_live_..."
      }
    }
  }
}

Cursor (mcp.json)

{
  "mcpServers": {
    "contactzapp": {
      "url": "https://app.contactz.app/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer cz_live_..."
      }
    }
  }
}

Other assistants ask for the same two things: the address and the header.

Open the address in a browser and you get an error. That is expected. An assistant sends its requests with POST.

Keep the key out of chats and tickets. If it leaks, revoke it in Settings, under Advanced, and make a new one.

Tools

Each tool calls the ContactZapp API with your key, so it has the permissions you gave the key. A key without the contacts:write scope cannot add a contact. No tool deletes a contact.

7 tools, as the server lists them. Generated by scripts/sync-tools.mjs.

ToolTitleWhat it doesKey scopeRead-only
api_key_checkAPI key – CheckReturns the user the key acts for, the user's plan and the key's scopes.Any keyYes
contact_findContact – FindFinds the user's contacts by email address, phone number or text.contacts:readYes
contact_createContact – CreateAdds a contact.contacts:writeNo
contact_readContact – ReadReturns one contact.contacts:readYes
contact_changeContact – ChangeChanges a contact, as editing it in ContactZapp does.contacts:writeNo
sync_startSync – StartStarts a sync, the same as Sync now in ContactZapp.sync:triggerNo
event_listEvent – ListLists the events of one type, newest first.contacts:readYes

Limits

You can make 60 requests a minute, all your keys together. Each tool call is one request. The limit is the same on every plan. Rate limits says what happens at the limit.

More

Maintaining this repository

  • The tool table is generated from the live server: run node scripts/sync-tools.mjs and commit README.md. A daily check fails while the table differs from what the server lists. The section heading stays ## Tools, which mcp.so reads to fill its listing.
  • The registry entry is server.json, the only copy. Change it, raise its version, merge, then push the tag v<version>. The MCP Registry workflow checks the tag against the file and publishes it. A pull request that changes the file is validated first.

Frequently asked questions

What is ContactZapp?

Keeps your contacts in sync across Google, Microsoft, Apple and CardDAV, and cleans up duplicates.

How do I install ContactZapp?

It runs as a remote server. In Claude Code: claude mcp add --transport http contactzapp 'https://app.contactz.app/api/v1/mcp' --header 'Authorization: <Your ContactZapp API key. Make one in Settings › Advanced. Start the value with Bearer.>'. For other clients, paste the JSON configuration from this page into their MCP settings.

Does ContactZapp need an API key?

Yes. It expects Authorization, which you set in its configuration.

Is ContactZapp open source?

Its code is public on GitHub, but the repository does not declare a standard license.

Who maintains ContactZapp?

It is published by contactzapp. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.