Contactapi logo

Contactapi

Manage Contact API records through five MCP tools for listing, reading, creating, updating, and deleting contacts.

Install Contactapi

Pick your client, then add it in one click or paste the config.

Streamable HTTP (Remote)
Server URL
https://contactapi.dev/mcp

Remote servers are added in the app, not the config file: Customize → Connectors → Add custom connector, then paste this URL.

Overview

The contactapi MCP server connects AI clients to Contact API for contact management through five MCP tools. It uses OAuth 2.1 with dynamic client registration at https://contactapi.dev/mcp, so clients discover authorization, register, and request account-scoped access without manually copying an API key. Reach for it when an agent needs to create, retrieve, update, list, or delete contacts stored in Contact API.

Use cases

  • List contacts from an authenticated Contact API account
  • Create or upsert contacts by email
  • Retrieve a contact by its identifier
  • Update contact records through an AI client
  • Delete contacts with account-scoped authorization

Key features

  • Five MCP tools for contact CRUD
  • Create-or-upsert behavior by email
  • OAuth 2.1 authentication
  • Dynamic client registration
  • Account-scoped access
  • Paginated contact listing

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

8/8 checks healthy over the last 40d

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1Stargazers on the source repository.
Last commit3mo agoMost recent push to the default branch.
Directory activity1 viewsConfig copies, upvotes, and views on AllMCPs.

How Contactapi works

What contactapi MCP server does

The contactapi MCP server exposes Contact API contact records to supported MCP clients. It provides five tools that correspond to the service's REST operations: list_contacts, get_contact, create_contact, update_contact, and delete_contact.

Contact API stores contacts as JSON records that include an email and any additional fields supplied by the caller. The email acts as the record key for creation: if a contact already exists with that email, create_contact updates the existing record instead of creating a duplicate. The available operations cover the full contact lifecycle, including paginated listing, retrieving one record, editing a record, and removing a record.

How it works

Connect an MCP-compatible client to https://contactapi.dev/mcp. Authentication uses OAuth 2.1 with dynamic client registration. The client discovers the authorization server from the MCP endpoint, registers itself, and opens a login and approval flow. After authorization, the tools operate within the account used during login.

The MCP layer mirrors Contact API rather than introducing a separate contact data model. Its five tools map to the service's create-or-upsert, list, fetch, update, and delete behavior. The server is implemented with Hono and deployed on Vercel, while the MCP endpoint and tool wiring are part of the application source.

Setup and configuration

To use the contactapi MCP server, configure an MCP client with the remote endpoint https://contactapi.dev/mcp. The README specifically identifies Claude Desktop, claude.ai custom connectors, Cursor, and the MCP Inspector as clients that can connect to it. The client handles OAuth discovery, dynamic registration, sign-in, and consent; the documented flow does not require copying an API key into the MCP client.

For local application development, the repository lists the Vercel CLI as a prerequisite. Install dependencies with npm install, start a local development server with vc dev, and open http://localhost:3000. The project also documents vc build for building and vc deploy for deployment. These commands describe developing or deploying the application; the hosted MCP endpoint is the documented connection target for clients.

The underlying REST API accepts Bearer API keys. Secret keys have full endpoint access, while publishable keys can only create contacts and are restricted to configured domains. That key distinction applies to direct API use; the MCP connection uses the documented OAuth flow and scopes actions to the account that approves access.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Contactapi

contactapi is an MCP server that connects AI clients to Contact API for managing contact records. Its main tools are list_contacts, get_contact, create_contact, update_contact, and delete_contact, with creation performing an upsert by email. Access uses OAuth 2.1 and is scoped to the account that authorizes the client.

You do not need to install it to use the hosted endpoint; point an MCP client to https://contactapi.dev/mcp. The client performs OAuth discovery, dynamic registration, login, and approval. For repository development, install the Vercel CLI, run npm install, and start the project with vc dev.

Yes, Cursor is listed as a supported client. Configure Cursor with https://contactapi.dev/mcp, then complete the OAuth 2.1 login and approval flow when prompted.

No, the documented MCP flow does not require manually copying an API key. The client discovers the authorization server, registers dynamically, and authenticates through OAuth 2.1. Contact API keys are used for direct REST API requests.

It can list contacts, fetch a single contact, create or upsert a contact by email, update a contact, and delete a contact. These operations are exposed through list_contacts, get_contact, create_contact, update_contact, and delete_contact.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewContactapi AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/contactapi?style=directory)](https://allmcps.com/mcp/contactapi)
HTML Embed
<a href="https://allmcps.com/mcp/contactapi"><img src="https://allmcps.com/api/badge/contactapi?style=directory" alt="Contactapi on AllMCPs" /></a>