Dex MCP server
Yes. Dex publishes an official MCP server at https://mcp.getdex.com/mcp. It's hosted. It offers 57 tools. We last checked it on 23 Oct 2026.
Official: documented on Dex's own site, at getdex.com. Checked 23 Oct 2026. Maintained by Stuart Brameld.
Key facts
As of 23 Oct 2026, Dex's official MCP server scores 65/100 (provisional) on MartechDB's Agent Readiness Index (v1.1). It lists 57 tools.
How the Agent Readiness Index works · Wrong? Suggest a correction
Dex MCP server review
65/100
Dex's Dex MCP Server scores 65/100 on MartechDB's Agent Readiness Index: easy to connect an AI agent to, with a few gaps.
The good
Hosted by Dex: connect by URL, with nothing to install
Documented, with 57 tools known
The bad
Nothing we've found.
Not checked yet: how you sign in; what agent access costs. Anything not checked scores nothing.
Official MCP server
Dex MCP Server
- Address
- https://mcp.getdex.com/mcp
- Runs
- Hosted
- Sign-in
- Vendor docs
- Official MCP Registry
- Not listed
- How we know it's official
-
- Documented on Dex's own site, at getdex.com.
- Documentation
- getdex.com/docs/ai/mcp-server
- Tools
- 57 tools · listed 23 Oct 2026
- First seen
- 22 Oct 2026
- Last checked
- Reachable ·
Dex MCP Server tools (57)
As the server lists them. Names and descriptions are the vendor's own.
-
dex_search_contactsSearch ContactsSearch contacts by name, email, phone number, or any keyword. Phone numbers are matched on digits; formatting and country code are ignored (a query that is only a phone number searches phone numbers instead of the text fields, so "+420 604 354 254", "420604354254" and "604354254" all find the same contact). Use `near` (Personal Dex only) for geographic proximity ("contacts in the Bay Area", "near Sydney") — the place is geocoded and contacts are matched by their own coordinates, so it finds people whose saved location differs from the query (e.g. "San Francisco" still matches "Bay Area"). `near` and `query` combine (AND): "engineers in the Bay Area" → query "engineer" + near "Bay Area". Returns up to `limit` results. Use an empty query to list contacts sorted by most recently interacted. In a Dex for Teams workspace these rows carry no keep-in-touch cadence: read one contact's Team and My cadences with dex_get_contact, see who is due with dex_list_upcoming_reminders_and_birthdays, or…
-
dex_list_contactsList ContactsList all contacts with cursor-based pagination. Returns lightweight contact summaries (id, name, company, job title, location). Use dex_get_contact for full details on a specific contact. Use dex_search_contacts for keyword search. In a Dex for Teams workspace these rows carry no keep-in-touch cadence: read one contact's Team and My cadences with dex_get_contact, see who is due with dex_list_upcoming_reminders_and_birthdays, or select contacts by cadence with dex_filter_contacts' has_frequency (true/false; it matches Team cadences only, so a contact with only a My cadence matches false).
-
dex_get_contactGet ContactGet a single contact by ID with full details including emails, phone numbers, location (text plus latitude/longitude when geocoded), keep-in-touch cadence (`frequency` / `never_keep_in_touch` on Personal Dex; in a Dex for Teams workspace, `keep_in_touch` with the contact's Team cadence as `team` and your own My cadence as `my`, each left out or null when not set, so `keep_in_touch: {}` means the contact has neither), tags, groups, custom fields, related contacts, and optionally recent notes/timeline. Workspace connections also include `team_interactions`: up to 20 members by recency, `members_total`, and the strongest current connection (2 × meeting_count + email_count; ties or all-zero use most recent email, meeting or shared note). Counts cover all of the member's emails/meetings with the contact across connected accounts, not just shared accounts, and require active membership and current sharing for that channel. Null means unknown. Former members retain dates only and never rank…
-
dex_create_contactCreate ContactCreate one or more contacts. For a single contact, pass fields directly (first_name, email, etc.). For batch creation (e.g. CSV import), pass a `contacts` array instead (max 100). Creating does NOT deduplicate: a contact with the same name or email as an existing one becomes a second contact, so search first (dex_search_contacts) when the person may already be in Dex. For a batch, pass an `idempotency_key` and reuse it if you must send the same call again; without one, a repeated call creates every contact a second time. Returns every created contact (up to 100) with its new `id`; when full rows would not fit the response size limit, each row is trimmed to its id, names, job title and company (or, failing that, its id and names) — read the rest with dex_get_contact.
-
dex_update_contactUpdate ContactUpdate an existing contact. Only provided fields are changed. Pass `null` to clear an optional scalar such as website, company, job title, social profile, birthday, description, or location. For emails and phone numbers, you can add or remove entries — existing ones are preserved automatically. `is_archived: true` ARCHIVES the contact (hidden from lists, search, and reminders; reversible) — confirm with the user first, and use dex_archive_contacts for more than one contact. On a Dex for Teams workspace connection, where dex_archive_contacts is refused, this is the way to archive (true) or restore (false), one contact at a time.
-
dex_complete_keep_in_touchComplete Keep-in-TouchMark a keep-in-touch contact as done — records that the user was just in touch, so the cadence resets and the next reminder lands one frequency interval from now (the dashboard's "Mark as complete"). Pass snooze_days to instead push the next reminder out without recording a touch (the dashboard's snooze uses 7). Set or clear the cadence itself via dex_update_contact's keep_in_touch field, or dex_set_keep_in_touch for many contacts at once. In a Dex for Teams workspace it acts on the contact's Team or My cadence (pass kind when the contact has both) and returns the rescheduled `cadence`: "We met" on a Team cadence writes a note shared with the workspace, on a My cadence a private note (returned as `note_id`), and a viewer gets no note. That shared note counts as your own touch too, so marking the Team cadence done also restarts your My cadence on the contact, if you have one. A snooze only hides the cadence until it ends and never moves its due date, so one that ends on or before the n…
-
dex_set_keep_in_touchSet Keep-in-Touch CadenceSet or clear the keep-in-touch cadence for up to 500 contacts in one call (chunk larger sets into multiple calls) — the bulk companion to dex_update_contact's keep_in_touch field. An interval sets how often to stay in touch ("7 days" = weekly, "14 days" = every 2 weeks, "1 mon" = monthly, "42 days" = every 6 weeks, "3 mons" = quarterly, "6 mons" = every 6 months, "1 year" = yearly) — this is "remind me to reach out every N", "stay in touch every N". "never" is the explicit don't-keep-in-touch mark — "no regular outreach", "stop reaching out", "don't keep in touch with them", "stop reminding me about them". "unset" simply clears the cadence so the contact has none — "no cadence", "remove the keep-in-touch" — leaving them unmarked rather than flagged. Every value overwrites whatever cadence each contact already has — and "never"/"unset" leave nothing in its place — so confirm with the user before changing a large set. Marking a due keep-in-touch as done is dex_complete_keep_in_touch, no…
-
dex_archive_contactsArchive ContactsArchive or unarchive up to 500 contacts by ID (chunk larger sets into multiple calls). Archived contacts keep all their data (notes, reminders, history) but are hidden from the default contact list, search, and keep-in-touch reminders — the reversible alternative to dex_delete_contacts, recommended for bulk cleanup. Always show the user which contacts will be archived and get their confirmation first. Archiving MORE THAN 20 contacts in one call is server-enforced: the call is rejected (nothing changes) unless it carries confirm: true AND expected_count equal to the number of distinct contact_ids — the count the user confirmed. Restoring (archived: false) is never gated. Find archived contacts with dex_filter_contacts archived_only:true and restore them with archived:false. Not available on a Dex for Teams workspace connection: archive or restore one contact at a time with dex_update_contact is_archived (true or false). That covers any number of contacts, and restoring too.
-
dex_delete_contactsDelete ContactsDelete one or more contacts by their IDs. This action is irreversible — when the user might want the contacts back later, use dex_archive_contacts instead. Not available on a Dex for Teams workspace connection: delete workspace contacts in the Dex app, or archive one contact at a time with dex_update_contact is_archived: true.
-
dex_merge_contactsMerge ContactsMerge duplicate contacts. Each group of IDs is consolidated into one surviving contact — all data is combined onto it and the other IDs are deleted. The survivor defaults to the oldest (longest-lived) record in the group, NOT the first ID you pass; to choose the survivor yourself, pass the group as { contact_ids, primary_contact_id } instead of a plain array. A chosen survivor also keeps its own fields (photo, company, title, LinkedIn); the others only fill its empty ones. Without one, values from the most recently updated contact win. Read the returned mergedContactIds to learn which contact ID survived each group instead of assuming the order you sent. This is irreversible. Not available on a Dex for Teams workspace connection: merge workspace contacts in the Dex app.
-
dex_get_priority_tiersGet Priority TiersRead the user's relationship-priority tiers (tier_number + the label the user sees) and, optionally, the current priority of specific contacts. Priority is a built-in field on every contact, the same one the Priority Map and the contact page's priority control edit. Tiers are numbered from 1 (highest); the defaults are 1 Top, 2 High, 3 Medium, 4 Low, 5 None, but the user may have RENAMED them — always call this first and speak in the user's own labels, never the defaults. A contact with no priority_tier has no priority set, which is different from the "None" tier (a priority the user chose). Set priorities with dex_set_contact_priority. Personal Dex only.
-
dex_set_contact_prioritySet Contact PrioritySet or clear the relationship priority of up to 500 contacts in one call (chunk larger sets into multiple calls). It writes the same field the Priority Map and the contact page's priority control edit. Pass `tier` as the user's tier label (e.g. "Inner circle", matched case-insensitively) or its tier_number, both from dex_get_priority_tiers; null clears the priority, which is different from the "None" tier. An unknown tier is refused and nothing changes. Every value OVERWRITES each contact's current priority, so show the user exactly which contacts go to which tier and get explicit confirmation before calling. Build audiences with dex_filter_contacts (its priority_tier filter finds who is already in a tier). Personal Dex only.
-
dex_filter_contactsFilter ContactsFilter contacts with the same structured filters as Dex views: tags, groups, company, job title, social profile presence, LinkedIn history, location, interaction dates, keep-in-touch cadence, custom fields, and more. All conditions combine with AND. Up to 100 contact IDs can be fetched in one call; tenant ownership is enforced server-side. Archived contacts are omitted unless `archived_only: true`. Use this to answer questions like "contacts tagged investor at Google I talked to this year". For plain keyword or geographic search use dex_search_contacts; for full details on one contact use dex_get_contact.
-
dex_add_related_contactsAdd Related ContactsLink one or more contacts to a contact as related contacts (e.g. family members, colleagues, people met through them). Relations are symmetric — linking A to B also links B to A — and carry no relationship label, so record the nature of the relationship in a note or the description instead. Resolve names to IDs with dex_search_contacts first. Related contacts appear in dex_get_contact under `related_contacts`. Re-linking an existing pair is a no-op.
-
dex_remove_related_contactsRemove Related ContactsUnlink one or more related contacts from a contact. Relations are symmetric, so removing A↔B clears the link from both sides. The contacts themselves are not modified or deleted.
-
dex_list_groupsList GroupsList contact groups, most recent page first. Returns up to `limit` groups; if `has_more` is true, pass `next_cursor` back as `cursor` to fetch the rest.
-
dex_get_groupGet GroupGet a single group by ID, with its direct sub-groups (`sub_groups`) and its counts (`_count.groups_contacts` active contacts, `_count.sub_groups`), the same shape dex_create_group and dex_update_group return.
-
dex_create_groupCreate GroupCreate a new contact group, optionally nested under an existing group. A group cannot be its own parent or ancestor.
-
dex_update_groupUpdate GroupUpdate an existing group: name, emoji, description, or parent group. To nest a group under another, pass parent_id; pass parent_id: null to move it to the top level. A group cannot be its own parent or ancestor. Because null fields are omitted from tool results, a top-level group reads back with no parent_id key.
-
dex_delete_groupDelete GroupDelete a group. This action is irreversible. Not available on a Dex for Teams workspace connection: delete workspace groups in the Dex app.
-
dex_add_contacts_to_groupAdd Contacts to GroupAdd up to 500 contacts to a group per call. Split larger selections into separate calls. result.added counts new memberships (the same number as result.count) and result.already_linked the IDs that were members already; any other processed ID matched no contact you can add. result.remaining is always present: retry any IDs in it to finish a partial write, and an empty list means every ID was processed.
-
dex_remove_contacts_from_groupRemove Contacts from GroupRemove up to 500 contacts from a group per call. Split larger selections into separate calls. remaining is always present: retry any IDs in it to finish a partial write, and an empty list means every ID was processed.
-
dex_list_group_contactsList Group ContactsList contacts in a group with pagination.
-
dex_list_tagsList TagsList all tags with optional pagination.
-
dex_get_tagGet TagGet a single tag by ID.
-
dex_create_tagCreate TagCreate a new tag. Tag names are unique regardless of letter case: if a tag with the same name already exists (e.g. "Design Partner" when you pass "design partner"), that tag is returned instead of a duplicate, with `existing: true` when its stored name differs in letter case from the one you passed. Repeating the exact name returns the same tag without the flag.
-
dex_update_tagUpdate TagUpdate an existing tag.
-
dex_delete_tagDelete TagDelete a tag. This action is irreversible. Not available on a Dex for Teams workspace connection: delete workspace tags in the Dex app.
-
dex_add_tags_to_contactsAdd Tags to ContactsAdd tags to contacts. `tags` and `affected` cover every requested pair that is tagged after the call, including pairs that already were; `added` counts the links this call created and `already_linked` the ones that existed before it, so a pair in neither was not tagged. A retry with the same `idempotency_key` after the first call completed reports those pairs as `already_linked`.
-
dex_remove_tags_from_contactsRemove Tags from ContactsRemove tags from contacts.
-
dex_list_remindersList RemindersList reminders/tasks with optional filtering by contact, completion status, overdue status and due-date range, plus sorting and pagination. Each row carries the contacts it is linked to (`reminders_contacts`) and, on a Dex for Teams workspace connection, its tags (`tags`). "Today" and "overdue" are judged by the calendar day in UTC, not the user's timezone. On a Dex for Teams workspace connection, `assignee_id` also filters by who a reminder is assigned to.
-
dex_get_reminderGet ReminderGet a single reminder by ID.
-
dex_create_reminderCreate ReminderCreate a new reminder/task. When `idempotency_key` is supplied, repeat calls with the same key within the server's 24-hour idempotency window return the original reminder instead of creating a duplicate. On a Dex for Teams workspace connection the reminder is assigned to you unless `assignee_id` names another member (or null for unassigned).
-
dex_update_reminderUpdate ReminderUpdate an existing reminder. On a Dex for Teams workspace connection, `assignee_id` reassigns it (null unassigns).
-
dex_delete_reminderDelete ReminderDelete a reminder. This action is irreversible.
-
dex_list_notesList NotesList notes on contact timelines with optional filtering by contact and date range. In a workspace, contact_id is required and date filters are unavailable.
-
dex_get_noteGet NoteGet a single note by ID.
-
dex_list_note_typesList Note TypesList available note types (e.g. Meeting, Call, Coffee, Note).
-
dex_create_noteCreate NoteCreate a new note. Use dex_list_note_types first to discover available note types and pick the most appropriate one. `event_time` is required when `idempotency_key` is supplied; repeat calls with the same key and arguments within the server's 24-hour idempotency window return the original note instead of creating a duplicate. In a workspace, notes are shared with every member unless you pass audience "private" (only when the user asks for a private note).
-
dex_update_noteUpdate NoteUpdate an existing note's content or event_time. Only those two can change: this tool cannot change the note type, the audience (shared or private) or the linked contacts, so tell the user when they ask for one of those.
-
dex_delete_noteDelete NoteDelete a note. This action is irreversible.
-
dex_list_custom_fieldsList Custom FieldsList all custom field definitions.
-
dex_create_custom_fieldCreate Custom FieldCreate a new custom field definition. In a Dex for Teams workspace, only owners and admins can create field definitions.
-
dex_update_custom_fieldUpdate Custom FieldUpdate an existing custom field definition. In a Dex for Teams workspace, only owners and admins can edit field definitions.
-
dex_delete_custom_fieldDelete Custom FieldDelete a custom field definition. This action is irreversible. Deleting an ID that does not exist — including one you already deleted — returns a not-found error, NOT a success. Do not retry a delete that already succeeded; treat the first success as final. Not available on a Dex for Teams workspace connection: delete workspace custom fields in the Dex app.
-
dex_set_custom_field_valuesSet Custom Field ValuesBatch-update custom field values on contacts. Each update has a mode: "replace" (the default) overwrites the stored value; "prepend" / "append" preserve the existing text atomically on the server and add the new text in front of / after it, joined by `separator` (defaults to a newline) — you do NOT need to read the current value first. Array values prepend/append as a de-duplicated list; date values only support replace. Send the one value key the field type takes: text_value (input, autocomplete), date_value (datepicker), array_value (multiselect). In a Dex for Teams workspace also: member_user_id (teammate), number_value (number), boolean_value (boolean) and linked_contact_ids (contact; replaces the whole set). Those four are replace-only, take no separator, and cannot be combined with any other value key; null (or [] for linked_contact_ids) clears the value.
-
dex_list_calendar_eventsList Calendar EventsList events across ALL of the user's connected calendars (Google/Microsoft) within a time range. Defaults to the next 7 days when no range is given. An optional free-text `query` searches titles, descriptions, locations, and attendees — combine it with a wide start/end range to find past or future meetings matching a person or company. Events are fetched live from the providers. A failure across all accounts returns an error; warnings indicate incomplete results when only some accounts failed. Each event's `email` field identifies which connected account it belongs to — pass that as `account_email` to get/update/delete it. On a Dex for Teams workspace connection it reads only what members share with the workspace. With a range (one day from `start` by default, at most 7 days; `query` is Personal Dex only and `limit` applies only with `contact_id`) it returns every event on your own calendars that you share with this workspace, in full, plus teammates' meetings with workspace contacts,…
-
dex_get_calendar_eventGet Calendar EventGet a single calendar event by its provider event ID, including attendees, conferencing links, and recurrence flags, fetched live from the connected Google/Microsoft account. This tool writes nothing: it opts out of the note-metadata refresh the API performs for other clients. When the same address is connected under both providers, pass account_provider from the event returned by dex_list_calendar_events. Personal Dex connection only (on a Dex for Teams workspace connection it is refused). On a workspace connection, dex_list_calendar_events already returns your own events from the calendars you share there in full.
-
dex_create_calendar_eventCreate Calendar EventCreate an event on the user's connected calendar (primary account by default). For a timed event set start_datetime + end_datetime; for an all-day event set start_date (end_date optional for multi-day). Attendees are added to the invite; whether they are emailed follows the calendar provider's default behavior. Personal Dex connection only (on a Dex for Teams workspace connection it is refused).
-
dex_update_calendar_eventUpdate Calendar EventUpdate an existing calendar event by its provider event ID. Only provided fields change. To reschedule, provide BOTH start_datetime and end_datetime (or start_date for all-day) — new times replace the old ones and can switch an event between timed and all-day. Recurring events: this edits the whole series when given the series ID. Supply idempotency_key from the first attempt to safely retry a timed-out operation; use a fresh key for a new edit. Personal Dex connection only (on a Dex for Teams workspace connection it is refused).
-
dex_delete_calendar_eventDelete Calendar EventDelete a calendar event by its provider event ID. Irreversible — and if the user organizes the event, deleting it cancels the meeting for all attendees. Personal Dex connection only (on a Dex for Teams workspace connection it is refused).
-
dex_search_emailsSearch EmailsSearch or list emails across ALL of the user's connected mail accounts (Google/Microsoft), fetched live from the providers. Omit `query` to LIST the most recent emails — set folder:'inbox' for received mail only ("my inbox"); the default includes the user's own sent messages. With `query`, matches plain text against subject, body, and participants — pass keywords like a name, company, or email domain; provider search operators (from:, to:) are neutralized. Date ranges: without `after`/`before`, results cover roughly the last 6 months — when listing, prefer following `next_cursor` over widening the range, and pass bounds only when the request names a period. Returns message metadata (sender, participants, subject, snippet, date, provider link) — not full bodies. Only listings paginate: search results are a single relevance-ranked page (`cursor` with `query` is rejected) — narrow a search with dates or better keywords instead. On a Dex for Teams workspace connection it reads only what m…
-
dex_research_contactsResearch Contacts on the WebRun Dex Research on 1–5 contacts: searches the public web, reads the best pages, and stores a cited research note per contact (one-line summary + "Current focus" / "Background" / "Interests" bullets with [[n]] citations into `sources`) plus structured findings (LinkedIn, website, email, phone) with confidence and evidence. This is a PAID action that takes a minute or more per contact (contacts run in parallel, so the call lasts as long as the slowest one) — confirm with the user before researching a large set, and chunk bigger sets into several calls. A contact researched within the last 30 days returns its cached note at no cost unless `force: true`. A run auto-fills a contact's EMPTY linkedin/website fields from high-confidence findings (reported in `applied`) and preserves populated contact fields; a fresh run replaces the previous stored research note, findings, and review statuses. Email/phone findings come back `pending` for the user to confirm before you apply them with dex_upd…
-
dex_get_contact_researchGet Stored Contact ResearchRead the stored Dex Research note for 1–10 contacts without running anything (free and fast). Returns each contact's cited note and structured findings from its last run, or no `research` key when the contact has never been researched. Use this to check for existing research before paying for dex_research_contacts, to pick up a run that came back `in_progress`, or to re-read results a large run response truncated.
-
dex_list_upcoming_reminders_and_birthdaysList Upcoming Reminders, Birthdays and Keep in TouchWhat's coming up for the user inside a date window, like the Dex homepage: the contacts whose birthday falls in the window, the open reminders due in it, and the keep-in-touch contacts due for a touch by the end of it. Defaults to the next 7 days starting today — use `days: 30` for the next month, or set `from` to look at a specific week. Use this for questions like "whose birthday is next week?", "who should I reach out to this week?" or "what do I have coming up?". Recurring reminders are listed on their next occurrence. Birthdays the user already marked done this year on the homepage are omitted. `keep_in_touch` DOES include contacts already overdue for a touch (flagged `is_overdue`) — the homepage keeps showing them as due until the touch is logged. Reminders are picked by the day they come up inside the window, so reminders due before `from` are NOT included — call dex_list_reminders with is_overdue=true for those. Dates, "today" and `is_overdue` are judged in UTC, not the user's…
-
dex_list_workspacesList WorkspacesList the Dex for Teams workspaces the user belongs to, with their role in each and whether API & MCP access is turned on (api_access_enabled), and say where this MCP connection acts: `connection` is { kind: "personal" } for Personal Dex or { kind: "workspace", workspace_id } for a workspace, whose row is marked current: true. A connection acts in that one place only. To work somewhere else, an OAuth or device-code connection connects again and picks Personal or another workspace on the Dex consent page; an API key acts where it was created (Personal or one workspace), so use a key created for the other place in Dex under Settings → Dex API & MCP. Naming another workspace with ?workspace= is refused. A workspace only works with api_access_enabled true, which a workspace owner or admin turns on in the workspace's settings. Roles: viewer can read; standard, admin and owner can read and write, and owners and admins can also create and edit custom-field definitions over MCP. Whatever the r…
-
dex_list_workspace_membersList Workspace MembersList the active members of this connection's Dex for Teams workspace: member_id, name, email, role and is_you (the caller). Use a member's member_id as `assignee_id` on dex_create_reminder, dex_update_reminder and dex_list_reminders. Pass `query` (part of a name or email) to find a specific member, e.g. before assigning a reminder. Returns up to `limit` members (default 50); if `has_more` is true, pass `next_cursor` back as `cursor` with the SAME `query` to continue; a new query starts without a cursor. Only active members can be assigned. Viewers can read but cannot edit or complete a reminder, so assigning one strands it; prefer owner, admin or standard members. Workspace connections only: a Personal connection has no workspace and this tool is refused.
Connect your AI to Dex
Add the official Dex MCP server to Claude, ChatGPT or your editor.
Connect Dex MCP to Claude
Claude.ai and Claude Desktop
Open Customize, then Connectors.
Click +, then Add custom connector.
Name it Dex, paste the address below and click Add.
Connect Dex MCP to ChatGPT
Open Settings, then Apps, then Advanced settings.
Turn on Developer mode, then click Create.
Name it Dex and paste the address below.
ChatGPT usually only connects to servers with self-serve sign-in or none.
Connect Dex MCP to Cursor
Opens Cursor if it's installed. If nothing happens, use the JSON below.
Connect Dex MCP to VS Code
Opens VS Code if it's installed. Otherwise add the JSON settings from the Cursor tab to your .vscode/mcp.json.
Dex MCP server questions
Does Dex have an official MCP server?
Yes. Dex publishes its MCP server itself. Dex's own documentation describes it. MartechDB only lists servers a vendor publishes, never community copies.
What is the Dex MCP server URL?
The address is https://mcp.getdex.com/mcp.
How do I connect Dex MCP to Claude, ChatGPT or Cursor?
In Claude, add https://mcp.getdex.com/mcp as a custom connector (Customize, Connectors, Add custom connector). In Cursor, use the Add to Cursor link on MartechDB's page, or paste the JSON settings into your mcp.json. In Claude Code, run: claude mcp add --transport http dex https://mcp.getdex.com/mcp
What can the Dex MCP server do?
It offers 57 tools, including dex_search_contacts, dex_list_contacts, dex_get_contact, dex_create_contact and dex_update_contact (as listed on 23 Oct 2026). 23 are marked read-only and 23 can delete or overwrite data.
Is the Dex MCP server in the official MCP Registry?
No. Dex hasn't published it to the official MCP Registry.
Is the Dex MCP server working?
Yes. It answered our most recent check. We last checked it on 23 Oct 2026.
What are the alternatives to Dex's MCP server?
In CRM, the most agent-friendly alternatives with an official MCP server are Attio (97/100), Zero (97/100), Pipedrive (96/100), NetHunt (95/100) and Twenty (94/100). Dex scores 65/100 on the same index.
Alternatives to Dex's MCP server
Vendors in CRM with an official MCP server, the most agent-friendly first. Dex scores 65/100.
Compare all 50 CRM vendors →Change history
What we've seen change for Dex, newest first.
-
Dex: Added to MartechDB with Dex MCP Server
Use with AI
Connect your AI to MartechDB
Then ask it about Dex, or any of the 1,599 marketing tools with an official MCP server. Free, no sign-in.
Claude.ai and Claude Desktop
Open Customize, then Connectors.
Click +, then Add custom connector.
Name it MartechDB, paste the address below and click Add. There's no sign-in.
The free plan allows one custom connector. On Team and Enterprise plans, an owner adds the connector first.
Claude Code
Run this in your terminal:
ChatGPT
Open Settings, then Apps, then Advanced settings.
Turn on Developer mode, then click Create.
Name it MartechDB, paste the address below and choose No authentication.
Developer mode is on Plus and Pro plans, and on Business, Enterprise and Edu if an admin allows it.
API
The same data as JSON, with no sign-in. See the OpenAPI description for every endpoint and field.
CLI
Search the directory and print the command to connect a vendor's server, from your terminal. Needs Node 18 or later. View on npm
Show that your MCP server is verified
If you work at Dex, add this badge to your MCP docs or README. It's free, it's the same for every vendor, and it updates from our daily checks: it shows uptime while the server responds, and says so if it stops.
Something wrong or out of date? Suggest a correction or email us, and we'll check it against the evidence. Every correction we make is listed on Corrections.