Skip to main content
Glama

DirectIQ

Server Details

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

Ownership verified
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

A4/5.0

Scored across 30 tools

Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count2/5

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.

Completeness4/5

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 tools
directiq_account_overviewA
Read-onlyIdempotent
Inspect

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_listA
Idempotent
Inspect

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_reportA
Read-onlyIdempotent
Inspect

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_statsA
Read-onlyIdempotent
Inspect

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_countA
Read-onlyIdempotent
Inspect

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_contactA
DestructiveIdempotent
Inspect

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_listA
DestructiveIdempotent
Inspect

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_tagA
DestructiveIdempotent
Inspect

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_campaignA
Read-onlyIdempotent
Inspect

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_contactA
Read-onlyIdempotent
Inspect

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_listA
Read-onlyIdempotent
Inspect

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_tagA
Read-onlyIdempotent
Inspect

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_campaignsA
Read-onlyIdempotent
Inspect

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_contactsA
Read-onlyIdempotent
Inspect

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_endpointsA
Read-onlyIdempotent
Inspect

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_listsA
Read-onlyIdempotent
Inspect

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_segmentsA
Read-onlyIdempotent
Inspect

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_tagsA
Read-onlyIdempotent
Inspect

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_requestA
Read-onlyIdempotent
Inspect

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_listA
DestructiveIdempotent
Inspect

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_listA
DestructiveIdempotent
Inspect

Rename a contact list by ID. Its contacts are unchanged; the previous name is overwritten.

Inputs: id (required), name (required).

directiq_rename_tagA
DestructiveIdempotent
Inspect

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_contactA
Idempotent
Inspect

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_contactA
DestructiveIdempotent
Inspect

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_contactA
DestructiveIdempotent
Inspect

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_contactA
DestructiveIdempotent
Inspect

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_requestA
Destructive
Inspect

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

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      Provides an interface to manage email marketing, contact lists, dynamic templates, and email analytics via SendGrid's API.
      21
      442 npm
      32
      ISC
    • A
      license
      B
      quality
      C
      maintenance
      Manages SendGrid email workflows including design library, transactional templates, marketing contacts and lists, single sends, and direct email sends via the SendGrid v3 API.
      80
      442 npm
      MIT
    • F
      license
      Not graded
      quality
      B
      maintenance
      Enables 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.
      -
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables sending transactional email and campaigns, managing contacts and templates, and reading delivery reports and wallet usage from any MCP client.
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.