Skip to main content

DirectIQ

com.directiq.mcp/directiqVersion 0.2.0

Manage DirectIQ contacts, lists and tags, see campaign results, and send transactional email.

Status

Responds321 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 13:54 UTC
Latency
321 ms
Remotes responding
1 of 1
Sign-in
API key
Hosting
Hosted outside the EU (detected)
Registry data as of
Nov 14, 2026, 22:14 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://mcp.directiq.com/mcpResponds321 ms
No sign-in

Claude Code

claude mcp add --transport http directiq https://mcp.directiq.com/mcp --header 'x-api-key: <YOUR_X_API_KEY>'

Replace <YOUR_X_API_KEY> before running.

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: directiq
Remote MCP server URL: https://mcp.directiq.com/mcp
This server expects the header x-api-key.

Cursor

{
  "mcpServers": {
    "directiq": {
      "url": "https://mcp.directiq.com/mcp",
      "headers": {
        "x-api-key": "<YOUR_X_API_KEY>"
      }
    }
  }
}

Replace <YOUR_X_API_KEY> before running.

VS Code

code --add-mcp '{"name":"directiq","type":"http","url":"https://mcp.directiq.com/mcp","headers":{"x-api-key":"<YOUR_X_API_KEY>"}}'

Replace <YOUR_X_API_KEY> before running.

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

30 tools

Tools of DirectIQ
Read-only
Idempotent
Open world
directiq_account_overviewSummarize the account in one call: total contacts, active/disabled status counts, list count, tag count, and confirmed sender addresses. A good first call in a conversation, and the way to find a valid "from" address for directiq_send_email. Each section that fails to load is returned as { error } without failing the rest.NoYesYesNo
directiq_add_contact_to_listAdd an existing contact (by contact ID) to a list. Adding a contact that is already on the list has no effect. To add someone by email who may not exist yet, use directiq_upsert_contact.NoNoYesNo
directiq_campaign_reportList the contacts behind one campaign result, one page at a time: who received, opened, clicked, bounced, unsubscribed, or complained. Returns { totalCount, result }. Optionally filter to one email address, or for clicks, to one link. For totals and rates only, use directiq_campaign_stats.NoYesYesNo
directiq_campaign_statsSummarize how a campaign performed: counts of recipients, opens, clicks, bounces, unsubscribes, and complaints, plus open, click, bounce, and unsubscribe rates as percentages of recipients. Use directiq_campaign_report to see which contacts did what. A section that fails to load is returned as an error without failing the rest.NoYesYesNo
directiq_contact_countReturn the total number of contacts in the account as a single number. Use for a quick count; for counts plus active/disabled status, lists, tags, and senders, use directiq_account_overview.NoYesYesNo
directiq_create_listCreate a new, empty contact list and return it with its new ID. Calling it twice creates two lists with the same name, so check directiq_list_lists first. Add contacts afterwards with directiq_upsert_contact or directiq_add_contact_to_list.NoNoNoNo
directiq_create_tagCreate a new tag and return it with its ID. Check directiq_list_tags first to avoid duplicates. To tag a contact, use directiq_tag_contact, which also creates missing tags.NoNoNoNo
directiq_delete_contactPermanently delete a contact by ID, removing it from every list and tag. This cannot be undone. Confirm with the user first; to only take a contact off one list, use directiq_remove_contact_from_list.YesNoYesNo
directiq_delete_listPermanently delete a contact list by ID. The contacts themselves are kept, but their membership in this list is lost. This cannot be undone; confirm with the user first.YesNoYesNo
directiq_delete_tagPermanently delete a tag by ID and remove it from every contact. Contacts are kept. This cannot be undone; confirm with the user first.YesNoYesNo
directiq_get_campaignGet one campaign by ID: name, type, status, subject, sender, target lists and segments, template ID, recipient count, and scheduled send time. For opens, clicks, and other results, use directiq_campaign_stats.NoYesYesNo
directiq_get_contactGet one contact by numeric ID: email, first and last name, status, created and updated dates, tags, lists, and notes. Use when you already have the ID; to find a contact, page through directiq_list_contacts. Returns an error if no contact has that ID.NoYesYesNo
directiq_get_listGet one contact list by ID: name, created and modified dates, and total, active, and disabled contact counts. Use directiq_list_lists to find the ID. Returns an error if no list has that ID.NoYesYesNo
directiq_get_tagGet one tag by ID with its name and details. Use directiq_list_tags to find the ID. Returns an error if no tag has that ID.NoYesYesNo
directiq_list_campaignsList email campaigns and automation flows with ID, name, type (Regular or Flow), status, subject, sender, target lists, recipient count, and scheduled send time. Returns { campaigns, nextPageToken }; pass nextPageToken back to get the next page (null means no more). Use the IDs with directiq_campaign_stats for performance.NoYesYesNo
directiq_list_contactsList contacts one page at a time, oldest first, with each contact's ID, email, name, status, tags, and lists. Returns { pageNumber, totalCount, result, hasNextPage }; request the next pageNumber while hasNextPage is true. Use to browse contacts or find an ID. For just the total, use directiq_contact_count instead.NoYesYesNo
directiq_list_endpointsList known DirectIQ API operations (HTTP method, API group, path, summary). Optionally filter by a search term. Call GET operations with directiq_read_request and POST/PUT/PATCH/DELETE operations with directiq_write_request.NoYesYesNo
directiq_list_listsList every contact list in the account with its ID and name. Use to find a list ID before adding contacts, sending campaigns, or calling directiq_get_list.NoYesYesNo
directiq_list_segmentsList saved segments (rule-based groups of contacts) with their IDs and names. Returns an empty array if the account has none. Segments are managed in the DirectIQ dashboard.NoYesYesNo
directiq_list_tagsList every tag in the account with its ID and name. Use to check whether a tag exists or to find its ID before renaming or deleting it.NoYesYesNo
directiq_read_requestIssue an authenticated GET request to any DirectIQ endpoint and return the JSON response. Prefer a dedicated directiq_* tool when one exists; use this for read operations without one, found with directiq_list_endpoints (e.g. segments for a contact, email client reports). Full request/response schemas for each group are in the DirectIQ API docs at https://rest.directiq.com/{group}/swagger/index.html (core, contacts, subscription).NoYesYesNo
directiq_remove_contact_from_listRemove a contact from one list. The contact stays in the account and on its other lists; to delete the contact entirely, use directiq_delete_contact.YesNoYesNo
directiq_rename_listRename a contact list by ID. Its contacts are unchanged; the previous name is overwritten.YesNoYesNo
directiq_rename_tagRename a tag by ID. Contacts keep the tag under its new name; the previous name is overwritten.YesNoYesNo
directiq_send_emailSend one transactional email (a receipt, confirmation, or one-to-one message) immediately. It is delivered to real recipients and cannot be recalled, and it counts toward the account’s sending plan. The from address must be a confirmed sender on the account (see directiq_account_overview). Not for bulk marketing: campaigns are sent from the DirectIQ dashboard.NoNoNoYes
directiq_tag_contactApply one or more tags to a contact by contact ID. Tags that do not exist yet are created. Applying a tag the contact already has has no effect.NoNoYesNo
directiq_untag_contactRemove a tag from a contact, identified by the contact email and the tag name. The tag itself and the contact are kept; to delete the tag everywhere, use directiq_delete_tag.YesNoYesNo
directiq_update_contactUpdate fields on an existing contact by ID, such as firstName, lastName, or email. Only the fields you pass change, and they overwrite the current values. To create a contact, use directiq_upsert_contact; to change list or tag membership, use the list and tag tools.YesNoYesNo
directiq_upsert_contactAdd a contact to a list, creating the contact if the email is new or updating its name if it already exists. Optionally applies tags (created if missing). Use this to create contacts; to change other fields on an existing contact, use directiq_update_contact. Returns import counts (inserted, alreadyExisting, addedToList); emails on a suppression or bounce list are counted but not added.YesNoYesNo
directiq_write_requestIssue an authenticated POST, PUT, PATCH, or DELETE request to any DirectIQ endpoint. May create, modify, or permanently delete account data, including bulk operations. Prefer a dedicated directiq_* tool when one exists; use this only for operations without one, found with directiq_list_endpoints, and confirm destructive calls with the user first. Full request/response schemas for each group are in the DirectIQ API docs at https://rest.directiq.com/{group}/swagger/index.html (core, contacts, subscription).YesNoNoNo

Details

Registry status
Active
Published
Oct 30, 2026
Updated
Oct 30, 2026
Categories (suggested)
CommunicationSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
GDPR
Not declared

Are you the operator? Claim this listing