DirectIQ
com.directiq.mcp/directiqVersion 0.2.0Manage DirectIQ contacts, lists and tags, see campaign results, and send transactional email.
Status
Responds321 msAnswered our handshake without sign-in.- 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 msNo 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.
Tools
30 tools
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. | No | Yes | Yes | No |
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. | No | No | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | No | No | No |
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. | No | No | No | No |
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. | Yes | No | Yes | No |
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. | Yes | No | Yes | No |
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. | Yes | No | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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. | No | Yes | Yes | No |
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). | No | Yes | Yes | No |
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. | Yes | No | Yes | No |
directiq_rename_listRename a contact list by ID. Its contacts are unchanged; the previous name is overwritten. | Yes | No | Yes | No |
directiq_rename_tagRename a tag by ID. Contacts keep the tag under its new name; the previous name is overwritten. | Yes | No | Yes | No |
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. | No | No | No | Yes |
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. | No | No | Yes | No |
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. | Yes | No | Yes | No |
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. | Yes | No | Yes | No |
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. | Yes | No | Yes | No |
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). | Yes | No | No | No |
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