Skip to content
Back to search
90
MCP live MCP 2026-07-28 http

Playwright MCP Server

mcp.so:dex/dex
Watch this dependency Share evidence report
Uptime
100.0%
4 direct probes · 30d
Response
1371ms
last probe
Tools
76
callable
Resources
1
readable
Prompts
0
available
Score: 90/100
Handshake verified by our own probe.
pass Answers the MCP handshake 50/50
The handshake and the list calls succeeded on the primary URL.
pass Lists tools, resources or prompts 30/30
76 tools, 1 resources, 0 prompts returned.
pass 3 or more catalogue items 10/10
77 items in total; 3 or more earns these points.
fail Describes itself 0/10
0 characters; more than 30 earns these points.
How to earn +10 points
Describe the server in one or two sentences
Set description in your server.json (or the registry listing) to say what the server does and for whom.

Tools · 76

dex_search_contacts

Search contacts by name, email, phone number, or any keyword. Phone numbers are matched on digits and formatting is ignored; a number without its country code also matches (a query that is only a phon…

dex_list_contacts

List 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_sear…

dex_get_contact

Get a single contact by ID with full details including emails, phone numbers, location (text plus latitude/longitude when geocoded), keep-in-touch cadence (on Personal Dex `frequency` / `never_keep_in…

dex_create_contact

Create 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 de…

dex_update_contact

Update 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 email…

dex_complete_keep_in_touch

Mark 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"). …

dex_set_keep_in_touch

Set 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…

dex_archive_contacts

Archive 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, s…

dex_delete_contacts

Delete one or more contacts by their IDs. With several IDs, `count` and `contact_ids` report the contacts actually deleted, so an ID that matched no contact is left out; a single ID that matches no co…

dex_merge_contacts

Merge 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)…

dex_get_priority_tiers

Read 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 …

dex_set_contact_priority

Set 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…

dex_filter_contacts

Filter 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 f…

dex_add_related_contacts

Link 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 relatio…

dex_remove_related_contacts

Unlink 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_groups

List contact groups, sorted alphabetically by name. Returns up to `limit` groups; if `has_more` is true, pass `next_cursor` back as `cursor` to fetch the rest.

dex_get_group

Get 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…

dex_create_group

Create a new contact group, optionally nested under an existing group. A group cannot be its own parent or ancestor. If a group with exactly this name already exists (letter case included), that group…

dex_update_group

Update 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 o…

dex_delete_group

Delete a group. Its contacts are kept, and its direct sub-groups move to the top level. This action is irreversible. On a Dex for Teams workspace connection viewers are refused.

dex_add_contacts_to_group

Add 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 we…

dex_remove_contacts_from_group

Remove up to 500 contacts from a group per call. Split larger selections into separate calls. `removed` lists the contacts whose membership this call removed (a requested ID that was not a member is l…

dex_list_group_contacts

List the contacts in a group, up to `limit` per page (default 10). If `has_more` is true, pass `next_cursor` back as `cursor` to fetch the rest.

dex_list_tags

List tags, up to `limit` per page (default 10). If `has_more` is true, pass `next_cursor` back as `cursor` to fetch the rest.

dex_get_tag

Get a single tag by ID: its name. To find the contacts that carry it, use dex_filter_contacts with `tags`.

dex_create_tag

Create a new tag. If a tag with the same name already exists, ignoring letter case (e.g. "Design Partner" when you pass "design partner"), that tag is returned instead of a duplicate, with `existing: …

dex_update_tag

Rename a tag. Every contact that carries it shows the new name. Renaming to the name of another tag, ignoring letter case, is refused with "Tag already exists" and changes nothing; changing only the l…

dex_delete_tag

Delete a tag, removing it from every contact that carries it. This action is irreversible. On a Dex for Teams workspace connection viewers are refused.

dex_add_tags_to_contacts

Add 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`…

dex_remove_tags_from_contacts

Remove tags from contacts. The tags and the contacts are kept. `count` is the number of links removed, so a contact that did not carry the tag adds nothing to it.

dex_list_reminders

List 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_co…

dex_get_reminder

Get a single reminder by ID, with the contacts it is linked to.

dex_create_reminder

Create 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 duplica…

dex_update_reminder

Update an existing reminder. On a Dex for Teams workspace connection, `assignee_id` reassigns it (null unassigns).

dex_delete_reminder

Delete a reminder. A recurring reminder's whole series goes with it. This action is irreversible.

dex_list_notes

List 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_note

Get a single note by ID. Pass include_contacts: true to see who it is about.

dex_list_note_types

List available note types (e.g. Meeting, Call, Coffee, Note).

dex_create_note

Create 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 …

dex_update_note

Update 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 a…

dex_delete_note

Delete a note, removing it from every linked contact's timeline. This action is irreversible.

dex_list_custom_fields

List custom field definitions. Contact fields by default; pass entity_type "company" for company fields (Dex for Teams workspaces) or "all" for both. Each row carries its entity_type.

dex_create_custom_field

Create a new custom field definition. Names need not be unique, so a retried call without `idempotency_key` creates a second field with the same name. In a Dex for Teams workspace, only owners and adm…

dex_update_custom_field

Update an existing custom field definition: its name and, for an autocomplete or multiselect field, its options. A field's type can't be changed after it is created. In a Dex for Teams workspace, only…

dex_delete_custom_field

Delete 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 …

dex_set_custom_field_values

Batch-update custom field values on contacts and, in a Dex for Teams workspace, on companies (use company_id instead of contact_id, with a company field). Each update has a mode: "replace" (the defaul…

dex_list_calendar_events

List 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, desc…

dex_get_calendar_event

Get a single calendar event by its provider event ID, including attendees, conferencing links, and recurrence flags, fetched live from the connected Google/Microsoft account. A deleted event answers `…

dex_create_calendar_event

Create 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…

dex_update_calendar_event

Update 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…

dex_delete_calendar_event

Delete a calendar event by its provider event ID. Irreversible — and if the user organizes the event, deleting it cancels the meeting for all attendees. An id the calendar does not have (mistyped, on …

dex_search_emails

Search 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 receive…

dex_research_contacts

Run 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 w…

dex_get_contact_research

Read the stored Dex Research note for 1–10 contacts without starting a run, so it is fast and uses none of the account's research limits. Returns each contact's cited note and structured findings from…

dex_list_upcoming_reminders_and_birthdays

What'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…

dex_list_workspaces

List 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 {…

dex_list_workspace_members

List 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…

dex_list_attention_items

List the user's attention items: conversations Dex flagged as waiting on them — a reply someone expects, or an action they need to take (sign, renew, set something up) — newest first, as shown on the …

dex_get_attention_item_thread

Read-only: show the email thread behind an email attention item (`source` `email`), oldest message first. It does not save the thread or change the item, and it changes nothing in the mailbox: no mess…

dex_draft_attention_item_reply

Read-only: write a suggested reply to an email attention item's thread and return it as text (`{ body }`) for the user to review, using Dex's drafting model and the user's saved drafting style. It cre…

dex_send_attention_item_reply

Send the user's reply into an email attention item's thread, from the mailbox that holds it, to the `reply_to` of the message being answered (or its sender when it has none) — then mark the item done.…

dex_resolve_attention_item

Mark an attention item of any source (email, WhatsApp or LinkedIn) done (it leaves the home page), or reopen one with done: false. Use when the user says they handled it some other way or it needs no …

dex_list_companies

List the workspace's companies with optional filters, sorting and pagination. Each row is the company (owner as `owner_member_id`, tags as `tag_ids`, custom field values) plus its `contacts_count`, `c…

dex_get_company

Get one company by ID, archived ones included: its fields (owner as `owner_member_id`, tags as `tag_ids`, custom field values), `contacts_count` ({ current, past }: active contacts with a current or o…

dex_create_company

Create 1-100 companies in the workspace in one all-or-nothing call: if any one is refused (for example a website another company already has, 409), none is created. Returns the created `companies`. Se…

dex_update_company

Update a company's fields. Only the fields you pass change; null clears a field. Change the owner of many companies at once with dex_set_company_owner. Workspace connections only; requires Companies t…

dex_set_company_owner

Set or clear the owner (the responsible member) of 1-100 companies. One update per company, in order: `updated` counts the companies written, including any the member already owned, and `company_ids` …

dex_add_tags_to_companies

Add workspace tags to companies. `added` counts the tag links this call created; a pair that was already linked is not counted again. Workspace connections only; requires Companies to be enabled for t…

dex_remove_tags_from_companies

Remove workspace tags from companies. `removed` counts the tag links this call removed. Workspace connections only; requires Companies to be enabled for the workspace. On a Personal connection it answ…

dex_merge_companies

Merge duplicate companies into one target. Contacts, roles, tags, custom field values and links, views, favorites and org chart members move onto the target and the source companies are deleted. The t…

dex_archive_company

Archive one company, or restore it with archived: false. An archived company leaves the default list and stays readable by ID. This tool never archives the company's contacts. Restoring also brings ba…

dex_delete_company

Delete one company and its logo. This removes the company for everyone in the workspace and can't be undone. Its contacts stay, but their roles at the company go with it, and so do company link custom…

dex_list_company_contacts

List a company's contacts: `current` (a current role there; the default) or `past` (only past roles), active contacts before archived ones. Each row has `contact_id` (names via dex_get_contact), `is_a…

dex_get_company_activity

The company's activity across the workspace, newest first: the notes on its contacts (current and past) that you can see, which are the shared ones and your own private ones (each note's `audience` sa…

dex_set_contact_company

Record where a workspace contact works, by company_id or by the exact name of an existing company (never creates one; create it first with dex_create_company). mode "change_employer" (default) ends th…

dex_get_account_overview

Read-only snapshot of the authenticated user's own Dex account: their profile (name, email, timezone, default email client, SMS vs WhatsApp messaging mode), their connected integrations, and their onb…

Resources · 1

Dex

Dex contacts, reminders, notes, inbox and calendar

ui://dex-app/mcp-app.html

How to use

Claude Desktop or claude.ai: add a custom connector (Customize → Connectors; on Team and Enterprise plans an owner adds it under Organization settings → Connectors) with this server URL: https://mcp.getdex.com/mcp

Cursor or Cline: add to your MCP config:

{
  "mcpServers": {
    "playwright_mcp_server": {
      "url": "https://mcp.getdex.com/mcp",
      "transport": "http"
    }
  }
}