DirectIQ
Server Details
Manage DirectIQ contacts, lists and tags, see campaign results, and send transactional email.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- directiq/mcp
- GitHub Stars
- 0
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 30 tools
Most tools map to a single resource or action, and the descriptions explicitly distinguish overlapping pairs such as contact_count vs account_overview and campaign_stats vs campaign_report. Some residual ambiguity remains from generic read_request/write_request tools overlapping with dedicated tools, though the descriptions tell agents to prefer dedicated tools.
All tools use snake_case with a consistent directiq_ prefix and mostly follow verb_noun naming like list_contacts, create_list, and delete_tag. Minor deviations exist: account_overview and contact_count are noun phrases, and campaign_report/campaign_stats lack an action verb.
With 30 tools, this surface is well above the typical 3–15 well-scoped range, and it includes generic read/write escape hatches alongside many dedicated tools. Each tool covers a real area, but the overall count is heavy and increases selection burden for an agent.
Contacts, lists, and tags have full CRUD plus membership operations, and campaigns have reading, reporting, and a transactional send tool. Campaign creation/sending, segment/template management, and sender management are absent or dashboard-only, but generic read_request/write_request plus list_endpoints provide an escape hatch.
Available Tools
30 toolsdirectiq_account_overviewARead-onlyIdempotentInspect
Summarize 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.
Inputs: no named parameters.
directiq_add_contact_to_listAIdempotentInspect
Add 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.
Inputs: listId (required), contactId (required).
directiq_campaign_reportARead-onlyIdempotentInspect
List 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.
Inputs: type (required), campaignId (required), link, email, +2 more.
directiq_campaign_statsARead-onlyIdempotentInspect
Summarize 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.
Inputs: campaignId (required).
directiq_contact_countARead-onlyIdempotentInspect
Return 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.
Inputs: no named parameters.
directiq_create_listAInspect
Create 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.
Inputs: name (required).
directiq_create_tagAInspect
Create 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.
Inputs: name (required).
directiq_delete_contactADestructiveIdempotentInspect
Permanently 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.
Inputs: id (required).
directiq_delete_listADestructiveIdempotentInspect
Permanently 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.
Inputs: id (required).
directiq_delete_tagADestructiveIdempotentInspect
Permanently delete a tag by ID and remove it from every contact. Contacts are kept. This cannot be undone; confirm with the user first.
Inputs: id (required).
directiq_get_campaignARead-onlyIdempotentInspect
Get 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.
Inputs: id (required).
directiq_get_contactARead-onlyIdempotentInspect
Get 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.
Inputs: id (required).
directiq_get_listARead-onlyIdempotentInspect
Get 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.
Inputs: id (required).
directiq_get_tagARead-onlyIdempotentInspect
Get 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.
Inputs: id (required).
directiq_list_campaignsARead-onlyIdempotentInspect
List 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.
Inputs: nextPageToken.
directiq_list_contactsARead-onlyIdempotentInspect
List 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.
Inputs: pageSize, pageNumber.
directiq_list_endpointsARead-onlyIdempotentInspect
List 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.
Inputs: search.
directiq_list_listsARead-onlyIdempotentInspect
List 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.
Inputs: no named parameters.
directiq_list_segmentsARead-onlyIdempotentInspect
List 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.
Inputs: no named parameters.
directiq_list_tagsARead-onlyIdempotentInspect
List 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.
Inputs: no named parameters.
directiq_read_requestARead-onlyIdempotentInspect
Issue 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).
Inputs: path (required), group (required), query.
directiq_remove_contact_from_listADestructiveIdempotentInspect
Remove 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.
Inputs: listId (required), contactId (required).
directiq_rename_listADestructiveIdempotentInspect
Rename a contact list by ID. Its contacts are unchanged; the previous name is overwritten.
Inputs: id (required), name (required).
directiq_rename_tagADestructiveIdempotentInspect
Rename a tag by ID. Contacts keep the tag under its new name; the previous name is overwritten.
Inputs: id (required), name (required).
directiq_send_emailAInspect
Send 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.
Inputs: to (required), from (required), content (required), subject (required), +3 more.
directiq_tag_contactAIdempotentInspect
Apply 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.
Inputs: tags (required), contactId (required).
directiq_untag_contactADestructiveIdempotentInspect
Remove 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.
Inputs: tag (required), email (required).
directiq_update_contactADestructiveIdempotentInspect
Update 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.
Inputs: id (required), fields (required).
directiq_upsert_contactADestructiveIdempotentInspect
Add 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.
Inputs: email (required), listId (required), tags, lastName, +1 more.
directiq_write_requestADestructiveInspect
Issue 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).
Inputs: path (required), group (required), method (required), body, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Send email and read templates, marketing contacts, lists, stats, bounces and unsubscribes.
Send email, check deliverability, set up domains, and run templates, contacts and campaigns.
Send transactional email, run campaigns, manage contacts and automations, audit deliverability.
Manage Mail Blaze lists, subscribers, templates, campaigns and reports; send transactional email.
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides an interface to manage email marketing, contact lists, dynamic templates, and email analytics via SendGrid's API.21442 npm32ISC
- AlicenseBqualityCmaintenanceManages SendGrid email workflows including design library, transactional templates, marketing contacts and lists, single sends, and direct email sends via the SendGrid v3 API.80442 npmMIT

Mailzzy MCP Serverofficial
FlicenseNot gradedqualityBmaintenanceEnables MCP clients to manage email marketing accounts by drafting and scheduling campaigns, building audiences and segments, managing contacts, templates, and automations, sending transactional email, and retrieving performance and deliverability reports.-- AlicenseNot gradedqualityCmaintenanceEnables sending transactional email and campaigns, managing contacts and templates, and reading delivery reports and wallet usage from any MCP client.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.