Skip to main content
Glama
mailgun

Mailgun MCP Server

Official
by mailgun

Mailgun MCP Server

MCP

Обзор

Сервер Model Context Protocol (MCP) для Mailgun, который предоставляет ИИ-агентам практичный, ориентированный на рабочие процессы интерфейс для отправки электронной почты, диагностики доставляемости и управления операциями учетной записи.

Примечание: Этот MCP-сервер работает локально на вашем компьютере. Mailgun в настоящее время не предлагает хостинговую версию этого сервера.

Возможности

  • Обмен сообщениями — отправка электронных писем, получение сохраненных сообщений, повторная отправка сообщений

  • Домены — просмотр сведений о домене, проверка конфигурации DNS, управление настройками отслеживания (клики, открытия, отписки)

  • Вебхуки — список, создание, обновление и удаление вебхуков событий

  • Маршруты — просмотр и обновление правил маршрутизации входящей почты

  • Списки рассылки — создание и управление списками рассылки и их участниками

  • Шаблоны — создание и управление шаблонами электронных писем с версионированием

  • Аналитика — запрос метрик отправки, метрик использования и журналов

  • Статистика — просмотр сводной статистики по домену, тегу, провайдеру, устройству и стране

  • Подавления — просмотр отказов (bounces), отписок, жалоб и записей в белом списке

  • IP-адреса и пулы IP-адресов — просмотр назначений IP-адресов и конфигурации выделенных пулов IP-адресов

  • Классификация отказов — анализ типов отказов и проблем с доставкой

Related MCP server: Enhanced Gmail MCP Server

Предварительные требования

  • Node.js (v20.12 или выше)

  • Учетная запись Mailgun и API-ключ

Быстрый старт

Конфигурация

Добавьте следующее в конфигурацию вашего MCP-клиента:

{
  "mcpServers": {
    "mailgun": {
      "command": "npx",
      "args": ["-y", "@mailgun/mcp-server"],
      "env": {
        "MAILGUN_API_KEY": "YOUR-mailgun-api-key",
        "MAILGUN_API_REGION": "us"
      }
    }
  }
}

Переменные окружения

Переменная

Обязательно

По умолчанию

Описание

MAILGUN_API_KEY

Да

Ваш API-ключ Mailgun

MAILGUN_API_REGION

Нет

us

Регион API: us или eu

Пути к конфигурации для конкретных клиентов

  • Claude Desktop (macOS): ~/Library/Application Support/Claude/claude_desktop_config.json

  • Claude Desktop (Windows): %APPDATA%/Claude/claude_desktop_config.json

  • Claude Code: Запустите claude mcp add или отредактируйте ~/.claude.json

Примеры промптов

Отправка электронного письма

Can you send an email to EMAIL_HERE with a funny email body that makes it sound
like it's from the IT Desk from Office Space? Please use the sending domain
DOMAIN_HERE, and make the email from "postmaster@DOMAIN_HERE"!

Примечание: некоторым MCP-клиентам требуется платный тарифный план для вызова инструментов, которые отправляют данные. Если отправка завершается без ошибок, но не работает, проверьте тарифный план вашего клиента.

Получение и визуализация статистики отправки

Would you be able to make a chart with email delivery statistics for the past week?

Управление шаблонами

Create a welcome email template for new signups on my domain DOMAIN_HERE.
Include a personalized greeting and a call-to-action button.

Исследование доставляемости

Can you check the bounce classification stats for my account and tell me
what the most common bounce reasons are?

Устранение неполадок DNS

Check the DNS verification status for my domain DOMAIN_HERE and tell me
if anything needs fixing.

Просмотр подавлений

Are there any unsubscribes or complaints for DOMAIN_HERE? Summarize the
top offenders.

Управление правилами маршрутизации

List all my inbound routes and explain what each one does.

Создание списка рассылки

Create a mailing list called announcements@DOMAIN_HERE and add these
members: alice@example.com, bob@example.com.

Сравнение доменов

Compare my sending volume and delivery rates across all my domains for
the past month.

Вовлеченность по регионам

Break down my email engagement by country and device for DOMAIN_HERE.

Просмотр настроек отслеживания

List all my domains and show which ones have tracking enabled for clicks
and opens.

Разработка

Чтобы запустить из исходного кода, клонируйте репозиторий и используйте node напрямую:

git clone https://github.com/mailgun/mailgun-mcp-server.git
cd mailgun-mcp-server
npm install
npm test

В конфигурации вашего MCP-клиента замените команду npx на:

"command": "node",
"args": ["/path/to/mailgun-mcp-server/src/mailgun-mcp.js"]

Вопросы безопасности

Изоляция API-ключа

Ваш API-ключ Mailgun передается как переменная окружения и никогда не раскрывается самой ИИ-модели — он используется только процессом MCP-сервера для аутентификации запросов. Сервер не записывает в журналы API-ключи, параметры запросов или данные ответов.

Локальное выполнение

Сервер работает локально на вашем компьютере. Вся связь с API Mailgun осуществляется по протоколу HTTPS с принудительной проверкой TLS-сертификатов. Никакие данные не отправляются сторонним сервисам, кроме API Mailgun.

Права доступа API-ключа

Используйте выделенный API-ключ Mailgun с правами доступа, ограниченными только теми операциями, которые вам нужны. Сервер предоставляет операции чтения и обновления, но не предоставляет никаких операций удаления, что ограничивает радиус поражения при непреднамеренных действиях.

Ограничение частоты запросов (Rate limiting)

Сервер не реализует ограничение частоты запросов на стороне клиента. Каждый вызов инструмента из ИИ напрямую транслируется в запрос к API Mailgun. Сервер полагается на ограничения частоты запросов Mailgun на стороне сервера для предотвращения злоупотреблений — запросы, превышающие эти лимиты, вернут ошибку ИИ-ассистенту.

Инъекция промптов

Как и в случае с любым MCP-сервером, специально созданный или состязательный промпт может обманом заставить ИИ-ассистента вызвать операции, которые вы не планировали — например, изменение настроек отслеживания или чтение участников списка рассылки. Проверяйте подтверждения вызова инструментов вашим ИИ-ассистентом перед одобрением действий, особенно в контекстах с ненадежными промптами.

URL-адреса вебхуков

Операции создания и обновления вебхуков принимают произвольные URL-адреса, предоставленные через ИИ-ассистента. MCP-сервер передает эти URL-адреса в API Mailgun без дополнительной проверки. Mailgun несет ответственность за проверку пунктов назначения вебхуков. Убедитесь, что ваш ИИ-ассистент не устанавливает URL-адреса вебхуков на непреднамеренные внутренние или конфиденциальные адреса.

Проверка входных данных

Все параметры инструментов проверяются на соответствие спецификации OpenAPI Mailgun с использованием схем Zod. Однако проверка зависит от точности спецификации OpenAPI, и некоторые граничные параметры могут использовать более мягкую проверку. API Mailgun выполняет собственную проверку на стороне сервера в качестве дополнительного уровня защиты.

Отладка

MCP-сервер обменивается данными через stdio. Обратитесь к Руководству по отладке MCP для устранения неполадок.

Лицензия

Apache 2.0 — подробности см. в LICENSE.

Участие в разработке

Мы приветствуем участие в разработке! Пожалуйста, не стесняйтесь отправлять Pull Request или открывать Issue.

Available Tools

70 tools
get--v1-bounce-classification-statsC

List statistics, ordered by total bounces

ParametersJSON Schema
NameRequiredDescriptionDefault
groupNo
limitNo
include_subaccountsNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions ordering by 'total bounces', which hints at sorting behavior, but doesn't disclose critical traits like whether it's read-only, requires authentication, has rate limits, pagination, or what the output format is. For a stats-listing tool with zero annotation coverage, this is a significant gap in behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It's front-loaded and appropriately sized for its content, though it could benefit from more detail. Every word earns its place by stating the core action and ordering.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (3 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain parameters, output format, or behavioral context. For a tool that likely returns structured data about bounce classifications, this leaves too many gaps for effective agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for three undocumented parameters (group, limit, include_subaccounts). The description adds no information about these parameters—it doesn't explain what 'group' refers to, how 'limit' affects results, or what 'include_subaccounts' does. This leaves parameters largely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List statistics, ordered by total bounces' specifies a verb ('List') and resource ('statistics'), but it's vague about what kind of statistics (bounce classification stats implied by the name) and lacks differentiation from sibling tools like 'get--v3-domain_name-bounces' or 'post--v2-bounce-classification-metrics'. It states a purpose but not with high specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools related to bounces, domains, and stats, there's no mention of context, prerequisites, or exclusions. Usage is implied only by the tool's name and description, but no explicit guidelines are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domain-aggregates-countriesC

Aggregate counts by country

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool aggregates counts, implying a read-only operation, but doesn't specify whether it's safe, requires authentication, has rate limits, or what the output format looks like. For a tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with just three words, making it front-loaded and efficient. There's no wasted verbiage, and it directly states the core function. However, this conciseness comes at the cost of completeness, as noted in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has one undocumented parameter, no annotations, and no output schema, the description is incomplete. It doesn't explain what 'counts' are being aggregated (e.g., emails, bounces), the time range, or the return format. For a tool in a complex domain with many siblings, this minimal description leaves critical gaps in understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter 'domain' with 0% description coverage, meaning the schema provides no semantic context. The description 'Aggregate counts by country' doesn't mention the 'domain' parameter at all, failing to compensate for the schema's lack of documentation. This leaves the parameter's purpose and format completely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Aggregate counts by country' clearly indicates the tool performs aggregation and groups by country, which is a specific verb+resource combination. However, it doesn't distinguish this tool from sibling tools like 'get--v3-domain-aggregates-devices' or 'get--v3-domain-aggregates-providers' that likely aggregate by different dimensions, leaving the purpose somewhat vague regarding its unique role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools available (e.g., other aggregation tools, stats tools), there's no indication of context, prerequisites, or exclusions. This lack of guidance makes it difficult for an agent to select this tool appropriately among similar options.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domain-aggregates-devicesC

Aggregate counts by devices triggering events

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It implies a read operation ('aggregate counts') but doesn't disclose behavioral traits like whether it's safe, what permissions are needed, rate limits, or response format. The description adds minimal context beyond the basic operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It's appropriately sized and front-loaded, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 1 parameter with 0% schema coverage, no annotations, no output schema, and many sibling tools, the description is incomplete. It doesn't explain the tool's scope, parameter usage, or behavioral context, leaving significant gaps for a tool that aggregates data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% with 1 parameter ('domain'), and the description provides no information about this parameter. It doesn't explain what 'domain' means, its format, or how it affects aggregation. The description fails to compensate for the lack of schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Aggregate counts by devices triggering events' states the purpose (aggregating counts) and resource (devices/events), but is vague about what 'events' refers to and doesn't distinguish from sibling tools like 'get--v3-domains-domain-tag-devices' which appears similar. It provides basic verb+resource but lacks specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives is provided. The description doesn't mention prerequisites, context, or exclusions. With many sibling tools in the same domain, this omission leaves the agent without direction on tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domain-aggregates-providersD

Aggregate counts by ESP

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes

TDQS

D1.5/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure but offers nothing about what this tool actually does beyond the vague 'aggregate counts'. There's no information about whether this is a read or write operation, what permissions might be required, what format the results take, whether there are rate limits, or any other behavioral characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise - just three words - but this brevity comes at the cost of being severely under-specified. While there's no wasted text, the description fails to provide the necessary information for effective tool use. It's front-loaded only in the sense that there's nothing to load beyond the initial phrase.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one required parameter, no annotations, no output schema, and 0% schema description coverage, the description is completely inadequate. It doesn't explain what the tool does, how to use it, what the parameter means, what results to expect, or how it differs from similar tools. The agent would need to guess or experiment to understand this tool's purpose and usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage for its single required 'domain' parameter, and the tool description provides absolutely no information about what this parameter means, what format it expects, or what values are valid. The description doesn't mention parameters at all, leaving the agent completely in the dark about how to use this tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Aggregate counts by ESP' is vague and tautological - it essentially restates the tool name 'get--v3-domain-aggregates-providers' without specifying what is being aggregated or what 'ESP' means. While it hints at counting/aggregation, it doesn't clearly state what resource or data is being processed, making it difficult to distinguish from sibling tools like 'get--v3-domain-aggregates-countries' or 'get--v3-domain-aggregates-devices'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides absolutely no guidance on when to use this tool versus alternatives. There's no mention of prerequisites, context, or comparison to sibling tools like 'get--v3-domain-aggregates-countries' or 'get--v3-domain-tag-stats-aggregates'. The agent must guess based solely on the tool name pattern.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domain_name-bouncesD

List all bounces

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_nameYes
limitYes
pageYes
termYes

TDQS

D1.5/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'List all bounces' implies a read-only operation but doesn't specify permissions, rate limits, pagination behavior, or what 'all' entails (e.g., time range, filtering). It lacks critical context for safe and effective use.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a single sentence, but it's under-specified rather than efficiently informative. While it avoids unnecessary words, it lacks essential details, making it more of a placeholder than a helpful summary. It's front-loaded but incomplete.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (4 required parameters, no annotations, no output schema), the description is completely inadequate. It doesn't explain the resource context, parameter roles, behavioral traits, or output format, leaving the agent unable to use the tool effectively. It fails to compensate for the lack of structured data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 4 required parameters (domain_name, limit, page, term) with 0% description coverage, meaning none are documented in the schema. The description adds no parameter information, failing to explain what these parameters mean or how they affect the listing. This leaves all parameters semantically undefined.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List all bounces' states the verb ('List') and resource ('bounces'), but it's vague about scope and lacks sibling differentiation. It doesn't specify what 'bounces' are (e.g., email bounce events) or distinguish it from similar tools like 'get--v3-domain_name-bounces-address' or 'get--v1-bounce-classification-stats', making it minimally informative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. The description provides no context, prerequisites, or exclusions, leaving the agent with no usage direction. This is particularly problematic given multiple sibling tools related to bounces and domain data.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domain_name-bounces-addressD

Lookup bounce record

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_nameYes
addressYes

TDQS

D1.5/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Lookup' implies a read-only operation, but it doesn't specify whether this requires authentication, has rate limits, returns structured data, or handles errors. The description provides no behavioral context beyond the basic action implied by the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with just three words, which could be appropriate if it were more informative. However, this brevity results in under-specification rather than efficient communication. The single phrase doesn't provide enough context to be truly helpful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 2 required parameters, 0% schema description coverage, no annotations, and no output schema, the description is completely inadequate. It doesn't explain what the tool returns, what the parameters mean, when to use it, or any behavioral characteristics. This leaves the agent with insufficient information to use the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, meaning neither parameter (domain_name, address) has any documentation in the schema. The description 'Lookup bounce record' adds no information about what these parameters represent, their expected formats, or how they combine to identify a specific bounce record. This leaves both parameters completely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Lookup bounce record' is a tautology that essentially restates the tool name 'get--v3-domain_name-bounces-address'. While it indicates a read operation ('lookup'), it lacks specificity about what resource is being accessed (bounce records for a specific address within a domain) and doesn't distinguish it from sibling tools like 'get--v3-domain_name-bounces' (which likely retrieves all bounces for a domain).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get--v3-domain_name-bounces' (for all bounces in a domain) or 'get--v3-domain_name-complaints-address' (for complaints at address level), nor does it specify prerequisites or appropriate contexts for this lookup operation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domain_name-complaintsD

List all complaints

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_nameYes
limitNo
pageNo
addressYes
termYes

TDQS

D1.3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states 'List all complaints', which implies a read-only operation but doesn't cover critical aspects like pagination behavior (suggested by 'limit' and 'page' parameters), authentication needs, rate limits, or what 'all' entails (e.g., date ranges, filtering). This is inadequate for a tool with 5 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single phrase 'List all complaints', which is overly concise to the point of under-specification. While it avoids verbosity, it lacks necessary detail and structure to be helpful, making it inefficient rather than appropriately sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, 3 required), lack of annotations, 0% schema description coverage, and no output schema, the description is severely incomplete. It doesn't explain parameter usage, behavioral traits, or return values, leaving the agent with insufficient information to use the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning none of the 5 parameters (domain_name, limit, page, address, term) are documented in the schema. The description 'List all complaints' adds no semantic information about these parameters, failing to compensate for the lack of schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List all complaints' states a basic verb+resource but lacks specificity about what kind of complaints (e.g., email complaints, domain complaints) and doesn't differentiate from sibling tools like 'get--v3-domain_name-complaints-address'. It's better than a tautology but remains vague about scope and context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as 'get--v3-domain_name-complaints-address' or other complaint-related tools. The description offers no context, prerequisites, or exclusions, leaving the agent without direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domain_name-complaints-addressD

Lookup complaint record

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_nameYes
addressYes

TDQS

D1.5/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure but offers none. It doesn't indicate whether this is a read-only operation, what permissions might be required, whether it returns structured data, or any error conditions. 'Lookup' implies a query but provides no behavioral context about what the tool actually does beyond the minimal verb.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (two words) and front-loaded, but this conciseness comes at the cost of severe under-specification. While there's no wasted text, the description fails to provide necessary information that would require more content. It's technically efficient but substantively inadequate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a tool with 2 required parameters (0% schema coverage), no annotations, no output schema, and multiple similar sibling tools, the description is completely inadequate. It doesn't explain what the tool returns, how to interpret results, what the parameters represent, or when to choose this tool over alternatives. For a lookup operation with specific parameters, this leaves the agent with insufficient guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage for both required parameters (domain_name and address), and the description provides absolutely no information about what these parameters mean, their format, or their relationship. The description doesn't even mention that parameters exist, let alone explain their semantics. This leaves both parameters completely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Lookup complaint record' restates the tool name (which contains 'complaints') without adding specificity. It doesn't clarify what type of complaint record, what domain it relates to, or what distinguishes it from sibling tools like 'get--v3-domain_name-complaints' (without address parameter). The verb 'lookup' is generic and doesn't provide meaningful differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides zero guidance on when to use this tool versus alternatives. There's no mention of prerequisites, appropriate contexts, or comparison to sibling tools like 'get--v3-domain_name-complaints' (which appears similar but lacks the address parameter). The agent receives no usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domain_name-templatesD

Get templates

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_nameYes
pageNo
limitNo
pNo

TDQS

D1.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. 'Get templates' implies a read operation but fails to describe key behaviors: it doesn't specify if this is a list operation, pagination handling, authentication needs, rate limits, or what the return format looks like. The description lacks any behavioral context beyond the basic action, making it inadequate for a tool with 4 parameters and no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with just two words, 'Get templates', which is front-loaded and wastes no space. While this brevity leads to under-specification in other dimensions, it scores high for conciseness as every word directly contributes to the core purpose without redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (4 parameters, 0% schema coverage, no annotations, no output schema), the description is completely inadequate. It fails to explain the tool's behavior, parameter meanings, usage context, or return values. For a tool that likely involves retrieving templates with pagination and domain-specific filtering, the description lacks essential details needed for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning none of the 4 parameters (domain_name, page, limit, p) are documented in the schema. The description 'Get templates' adds no parameter semantics—it doesn't explain what domain_name refers to, how pagination works with page and p, what limit controls, or the purpose of the enum values for page. This leaves all parameters undocumented and unclear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get templates' is a tautology that restates the tool name without adding meaningful context. It specifies the verb 'Get' and resource 'templates', but lacks specificity about what templates are being retrieved (e.g., email templates for a domain) and doesn't differentiate from sibling tools like 'get--v3-domain_name-templates-template_name' or 'get--v3-domain_name-templates-template_name-versions'. This minimal description provides only basic purpose without clarity on scope or distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context, or exclusions, such as requiring a domain_name parameter or how it differs from related template tools. With multiple sibling tools involving templates, the lack of usage guidelines leaves the agent without direction on appropriate selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domain_name-templates-template_nameD

Get template

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_nameYes
template_nameYes
activeNo

TDQS

D1.3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure but offers none. It doesn't indicate whether this is a read-only operation, what permissions are required, how errors are handled, or any rate limits. The single phrase 'Get template' fails to describe any behavioral traits, leaving critical operational context missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While concise with only two words, the description is under-specified rather than efficiently structured. It lacks front-loaded critical information and fails to earn its place by providing necessary context. The brevity here is a detriment, as it omits essential details without adding clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a tool with 3 parameters (2 required), 0% schema coverage, no annotations, and no output schema, the description is completely inadequate. It doesn't compensate for the lack of structured data, leaving the agent without enough information to understand what the tool does, how to use it, or what to expect in return.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, meaning none of the three parameters (domain_name, template_name, active) are documented in the schema. The description adds no information about these parameters—it doesn't explain what they represent, their expected formats, or the optional 'active' parameter's purpose. This leaves all parameters semantically undefined.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get template' is a tautology that merely restates the tool name without adding meaningful context. It doesn't specify what kind of template (email, web, configuration) or what resource domain it operates on, nor does it distinguish this from sibling tools like 'get--v3-domain_name-templates' or 'get--v3-domain_name-templates-template_name-versions'. The purpose remains vague beyond the basic verb-noun pairing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites like authentication, differentiate it from related sibling tools (e.g., to list templates vs. get a specific one), or specify any context for usage. This leaves the agent with no actionable information for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domain_name-templates-template_name-versionsC

Get all template versions

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_nameYes
template_nameYes
pageNo
limitNo
pNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only states the basic action. It doesn't disclose behavioral traits such as pagination behavior (implied by 'page' and 'limit' parameters), rate limits, authentication needs, or what 'get all' entails (e.g., list vs. details). The description is minimal and lacks critical operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with just three words, front-loaded and zero waste. It efficiently states the core purpose without unnecessary elaboration, though this brevity contributes to gaps in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters with 0% schema coverage, no annotations, no output schema, and sibling tools indicating a complex domain (email/template management), the description is incomplete. It doesn't address pagination, return format, error conditions, or how it fits into the broader toolset, making it inadequate for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate but adds no parameter information. It doesn't explain the meaning of domain_name, template_name, page, limit, or p, leaving all 5 parameters undocumented. The description fails to provide any semantic context beyond the tool name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get all template versions' clearly states the action (get) and resource (template versions), but it's vague about scope and doesn't differentiate from sibling tools like 'get--v3-domain_name-templates-template_name' or 'get--v3-domain_name-templates-template_name-versions-version_nam'. It lacks specificity about what 'all' means in context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites like requiring domain_name and template_name, nor does it contrast with sibling tools that might handle single versions or templates. Usage context is implied but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domain_name-templates-template_name-versions-version_namD

Get a version

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_nameYes
template_nameYes
version_nameYes

TDQS

D1.5/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure but offers none. It doesn't indicate if this is a read-only operation, what permissions are required, whether it returns data or metadata, or any error conditions. 'Get a version' implies retrieval but lacks details on response format, rate limits, or side effects, making it inadequate for a tool with 3 required parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with just three words, but this brevity results in under-specification rather than effective communication. While front-loaded, it lacks necessary detail, making it inefficient for the agent's understanding. It avoids redundancy but at the cost of clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (3 required parameters, no annotations, 0% schema coverage, no output schema), the description is completely inadequate. It doesn't explain what a 'version' is in this context, how parameters interact, what data is returned, or any behavioral aspects. This leaves critical gaps for the agent to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, meaning none of the 3 parameters (domain_name, template_name, version_name) are documented in the schema. The description 'Get a version' adds no semantic meaning about these parameters—it doesn't explain what they represent, their format, or how they relate to retrieving a version. This fails to compensate for the schema's lack of documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get a version' is a tautology that restates the tool name's 'get' action without specifying what resource 'version' refers to. It doesn't distinguish this tool from its sibling 'get--v3-domain_name-templates-template_name-versions' which likely lists versions, nor does it clarify what kind of version (e.g., template version) is being retrieved. The purpose remains vague beyond the basic verb.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites like needing a domain, template, and version name, nor does it differentiate it from sibling tools like 'get--v3-domain_name-templates-template_name' or 'get--v3-domain_name-templates'. This leaves the agent with no context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domain_name-unsubscribesC

List all unsubscribes

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_nameYes
limitNo
pageNo
addressYes
termYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'List all unsubscribes' implies a read-only operation but does not specify pagination, rate limits, authentication needs, or what 'all' entails (e.g., time range, filtering). This leaves significant gaps in understanding the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with a single sentence, 'List all unsubscribes', which is front-loaded and wastes no words. It efficiently conveys the core action, though it may be overly brief for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (5 parameters, 3 required, no output schema, and no annotations), the description is incomplete. It does not address parameter usage, behavioral traits, or output expectations, making it inadequate for effective tool selection and invocation by an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 5 parameters with 0% description coverage, and the description does not mention any parameters. It fails to add meaning beyond the schema, such as explaining what 'domain_name', 'address', or 'term' represent in the context of listing unsubscribes, which is critical given the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List all unsubscribes' clearly states the verb ('List') and resource ('unsubscribes'), making the purpose understandable. However, it lacks specificity about scope (e.g., for a domain) and does not distinguish from sibling tools like 'get--v3-domain_name-unsubscribes-address', which appears related but is not differentiated here.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, such as the sibling 'get--v3-domain_name-unsubscribes-address'. The description does not mention context, prerequisites, or exclusions, leaving usage unclear beyond the basic purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domain_name-unsubscribes-addressC

Lookup unsubscribe record

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_nameYes
addressYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. 'Lookup' implies a read-only operation, but it doesn't specify whether this requires authentication, returns a single record or list, includes error handling, or has rate limits. For a tool with two required parameters and no annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. However, it's under-specified rather than concise—it lacks necessary details but doesn't include extraneous information. It's front-loaded but too minimal to be fully helpful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 2 required parameters, 0% schema description coverage, no annotations, and no output schema, the description is incomplete. It doesn't cover parameter meanings, behavioral traits, or output expectations, making it insufficient for an agent to use the tool effectively without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the schema provides no parameter descriptions. The description doesn't mention parameters at all, failing to explain what 'domain_name' and 'address' represent (e.g., email domain and recipient address) or their expected formats. This leaves both parameters undocumented, which is inadequate for a tool with two required inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Lookup unsubscribe record' states a verb ('Lookup') and resource ('unsubscribe record'), providing a basic purpose. However, it's vague about what exactly is being looked up and doesn't distinguish this tool from sibling tools like 'get--v3-domain_name-unsubscribes' (which likely lists multiple unsubscribes) or 'get--v3-domain_name-bounces-address' (which has similar structure for bounces).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a domain and address), contrast it with sibling tools (like the broader 'get--v3-domain_name-unsubscribes'), or specify use cases. This leaves the agent without context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domain_name-whitelistsC

List allowlist records for domain

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_nameYes
limitNo
pageNo
addressYes
termYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states this is a list operation, implying it's likely read-only, but doesn't confirm safety, permissions, rate limits, pagination behavior, or what the output looks like. For a tool with 5 parameters and no annotation coverage, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero wasted words. It's appropriately sized and front-loaded, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (5 parameters, 3 required, no output schema, no annotations), the description is inadequate. It doesn't explain parameter usage, output format, behavioral constraints, or how this tool fits among siblings. For a list operation with multiple filtering parameters, more context is needed for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the schema provides no parameter documentation. The description mentions 'domain' which loosely relates to the 'domain_name' parameter, but doesn't explain the purpose of the other 4 parameters (limit, page, address, term) or why 3 are required. It adds minimal semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List allowlist records for domain' states the basic action (list) and target (allowlist records for domain), but it's vague about what 'allowlist records' specifically are and doesn't distinguish from siblings like 'get--v3-domain_name-whitelists-value'. It provides a minimal purpose without sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives is provided. The description doesn't mention any prerequisites, exclusions, or context for usage, leaving the agent with no direction on when this tool is appropriate compared to other listing or filtering tools in the sibling set.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domain_name-whitelists-valueD

Lookup allowlist record

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_nameYes
valueYes

TDQS

D1.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only states 'Lookup', implying a read-only operation, but fails to disclose any behavioral traits such as authentication needs, rate limits, error conditions, or what happens if the record isn't found. This is inadequate for a tool with two required parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with just three words, front-loading the core action. There's no wasted verbiage, though this brevity contributes to underspecification rather than clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, 0% schema coverage, no output schema, and two required parameters, the description is completely inadequate. It fails to explain what the tool does beyond a vague phrase, leaving critical gaps in understanding purpose, parameters, and behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning parameters 'domain_name' and 'value' are undocumented in the schema. The description adds no semantic information about these parameters, such as what they represent, their format, or examples. It doesn't compensate for the lack of schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Lookup allowlist record' restates the tool name with minimal elaboration. It specifies a verb ('Lookup') and resource ('allowlist record'), but lacks specificity about what domain or value is being looked up, and doesn't distinguish it from sibling tools like 'get--v3-domain_name-whitelists' which likely lists all whitelists rather than looking up a specific record.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites, context, or comparisons to sibling tools, leaving the agent with no usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domains-domain-limits-tagD

Get tag limits

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes

TDQS

D1.8/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Get tag limits' implies a read-only operation, but it doesn't specify what 'limits' refers to (e.g., usage quotas, rate limits, configuration limits), whether authentication is required, potential side effects, error conditions, or response format. The description provides no behavioral context beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at just three words ('Get tag limits'), with no wasted words or unnecessary elaboration. It's front-loaded with the core action, though this brevity comes at the cost of clarity and completeness. Every word serves a purpose, even if that purpose is minimal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity implied by the tool name (involving domains, limits, and tags), the lack of annotations, 0% schema description coverage, and no output schema, the description is completely inadequate. It doesn't explain what 'tag limits' are, how they're retrieved, what the 'domain' parameter means, or what the tool returns. For a tool with one required parameter and no structured documentation, this description provides almost no useful context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 1 parameter ('domain') with 0% description coverage, meaning the schema provides no documentation for this parameter. The description 'Get tag limits' doesn't mention the 'domain' parameter at all, nor does it explain what 'tag limits' are or how they relate to the domain. With low schema coverage, the description fails to compensate by adding meaningful parameter context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get tag limits' is a tautology that essentially restates the tool name 'get--v3-domains-domain-limits-tag'. It provides a verb ('Get') and resource ('tag limits'), but lacks specificity about what 'tag limits' actually means in this context. It doesn't distinguish this tool from sibling tools like 'get--v3-domain-tag' or 'get--v3-domain-tag-stats', which also involve tags.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools involving domains, tags, and statistics (e.g., 'get--v3-domain-tag', 'get--v3-domain-tag-stats', 'get--v3-domain-tag-stats-aggregates'), there's no indication of what makes this tool unique or when it's appropriate. No prerequisites, exclusions, or contextual cues are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domains-domain_name-messages-storage_keyC

Retrieve a stored email

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_nameYes
storage_keyYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states 'Retrieve', implying a read-only operation, but doesn't specify whether this requires authentication, rate limits, error conditions, or the format of the returned email. For a tool with zero annotation coverage, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action, making it easy to scan and understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of retrieving stored emails, the lack of annotations, no output schema, and 0% schema coverage for parameters, the description is incomplete. It doesn't cover behavioral aspects, parameter meanings, or return values, making it insufficient for effective tool use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the schema provides no parameter details. The description adds no information about what 'domain_name' or 'storage_key' represent, their formats, or examples. With two required parameters and no compensation in the description, this is inadequate for understanding inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Retrieve' and the resource 'a stored email', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'get--v3-domain_name-messages' or 'post--v3-domains-domain_name-messages-storage_key', which might handle similar email-related operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, such as needing a specific domain or storage key, or contrast it with other email retrieval tools in the sibling list, leaving usage context unclear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domains-domain_name-webhooks-webhook_nameC

Get domain webhooks by type

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_nameYes
webhook_nameYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action ('Get') without details on permissions required, rate limits, error handling, or response format. For a tool with two required parameters and no output schema, this is a significant gap in transparency about how the tool behaves beyond its basic function.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action, though it could be more structured by explicitly mentioning parameters. However, its brevity is appropriate given the lack of additional context needed for clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (2 required parameters, no annotations, no output schema), the description is incomplete. It doesn't explain what 'webhook_name' means, how results are returned, or any behavioral traits like error conditions. Without annotations or output schema, the description should provide more context to guide effective use, but it falls short.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning parameters 'domain_name' and 'webhook_name' are undocumented in the schema. The description adds minimal value by implying these parameters are used to filter 'by type', but it doesn't explain what 'webhook_name' represents (e.g., a specific webhook identifier, a type name) or provide examples. It fails to compensate for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get domain webhooks by type' states a clear verb ('Get') and resource ('domain webhooks'), but it's vague about what 'by type' means. It doesn't specify whether it retrieves a single webhook, multiple webhooks filtered by type, or metadata about webhook types. Compared to siblings like 'get--v3-domains-domain-webhooks' (likely lists all webhooks) and 'put--v3-domains-domain_name-webhooks-webhook_name' (updates a specific webhook), it lacks clear differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a valid domain_name and webhook_name), contrast with sibling tools (e.g., 'get--v3-domains-domain-webhooks' for listing all webhooks), or specify use cases. This leaves the agent guessing about appropriate contexts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domains-domain-tag-countriesD

List of supported country codes

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes

TDQS

D1.6/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure but fails to do so. It does not indicate whether this is a read-only operation, if it requires authentication, or any rate limits. The phrase 'List of' implies a read operation, but without explicit confirmation, it remains insufficient for safe tool invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient phrase with no wasted words. It is front-loaded and to the point, though its brevity contributes to under-specification rather than clarity. The structure is appropriate for its length, but it lacks the necessary detail to be fully helpful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (one parameter with no schema coverage), no annotations, and no output schema, the description is incomplete. It fails to explain the parameter, the tool's behavior, or the output format. For a tool that likely interacts with domain-specific data, this minimal description is inadequate for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one required parameter ('domain') with 0% description coverage, meaning the schema provides no details about this parameter. The description does not mention the parameter at all, offering no compensation for the lack of schema documentation. This leaves the agent guessing about the parameter's purpose and format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List of supported country codes' is vague—it states what the output is rather than what the tool does. It lacks a clear verb (e.g., 'retrieve' or 'fetch') and does not specify the resource or context (e.g., for a domain or tag). This makes it tautological, as it restates the tool's name without clarifying its function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. Sibling tools like 'get--v3-domain-aggregates-countries' suggest similar functionality, but the description offers no differentiation or context for selection. This absence of usage instructions leaves the agent without direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domains-domain-tag-devicesD

List of supported devices

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes

TDQS

D1.6/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. The phrase 'List of supported devices' suggests a read-only operation, but it doesn't clarify whether this is a safe query, what permissions might be required, whether results are paginated, what format the output takes, or any error conditions. For a tool with no annotation coverage, this description provides essentially zero behavioral context beyond the minimal implication of a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at just three words, which could be appropriate if it were more informative. However, this brevity comes at the cost of being under-specified rather than efficiently informative. While it's not verbose or poorly structured, it fails to provide the necessary context that would justify such extreme conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's apparent complexity (involving domains, tags, and devices), the complete lack of annotations, 0% schema description coverage, no output schema, and the presence of many similar sibling tools, this description is completely inadequate. It provides almost no useful information about what the tool does, how to use it, what to expect, or when to choose it over alternatives. The agent would be operating almost entirely in the dark.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one required parameter 'domain' with 0% description coverage in the schema itself. The tool description provides no information about this parameter - what it represents, what format it expects, what values are valid, or how it affects the results. The description doesn't even mention that a domain parameter is required. With low schema coverage and no parameter information in the description, this creates significant ambiguity about how to use the tool correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List of supported devices' is a tautology that essentially restates the tool name 'get--v3-domains-domain-tag-devices'. It doesn't specify what action is performed (list? retrieve? filter?), what resource is being accessed (devices for a domain? devices with a tag?), or how it differs from sibling tools like 'get--v3-domain-aggregates-devices'. The description provides minimal value beyond the name itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides absolutely no guidance about when to use this tool versus alternatives. There are multiple sibling tools that appear related to domains, tags, and devices (e.g., 'get--v3-domain-aggregates-devices', 'get--v3-domains-domain-tag-countries'), but the description offers no context about how this tool differs from them or what specific use case it addresses. The agent would have no basis for choosing this tool over similar-looking alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domains-domain-tag-providersD

List of supported providers

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes

TDQS

D1.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It fails to do so—it does not indicate whether this is a read-only operation, if it requires authentication, what the output format might be, or any rate limits. The description is too minimal to provide any behavioral context beyond the implied 'List' action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with a single phrase 'List of supported providers', which is front-loaded and wastes no words. However, this conciseness comes at the cost of clarity and completeness, but based solely on brevity and structure, it scores highly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has one parameter with no schema description, no annotations, no output schema, and a vague purpose, the description is completely inadequate. It fails to provide necessary context for the agent to understand what the tool does, how to use it, or what to expect, making it insufficient for effective tool invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one required parameter 'domain' with 0% description coverage, and the tool description adds no information about this parameter. It does not explain what 'domain' represents (e.g., a domain name, identifier) or its role in listing providers, leaving the parameter's meaning and usage completely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List of supported providers' is vague and tautological—it essentially restates the tool name 'get--v3-domains-domain-tag-providers' without specifying what 'providers' are (e.g., email service providers, tag providers) or what action 'List' entails (e.g., retrieve, display). It lacks a clear verb-resource distinction, making it unclear what the tool actually does beyond the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. The description does not mention any context, prerequisites, or sibling tools (e.g., other domain-tag-related tools like 'get--v3-domains-domain-tag-countries'), leaving the agent with no information on appropriate usage scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domains-domain-webhooksC

Get domain webhooks

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Get' implies a read-only operation, but the description doesn't specify whether this requires authentication, returns paginated results, has rate limits, or what the output format might be. It lacks details on error conditions, side effects, or performance characteristics, leaving significant gaps for a tool with unknown behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at three words, with no wasted language. It's front-loaded with the core action and resource, though this brevity comes at the cost of completeness. Every word earns its place by stating the basic operation, but it lacks necessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a read operation with one parameter), no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It doesn't explain what 'domain webhooks' are, how results are structured, or any behavioral aspects. For a tool in a domain with many siblings, more context is needed to guide effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter ('domain') with 0% description coverage, meaning the schema provides no semantic context. The description adds no information about this parameter—it doesn't explain what 'domain' represents, its format, or examples. For a single undocumented parameter, the description fails to compensate, leaving the agent to guess its meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get domain webhooks' is a tautology that essentially restates the tool name. While it indicates a read operation ('Get') on a resource ('domain webhooks'), it lacks specificity about what 'domain webhooks' entails (e.g., listing webhooks, retrieving configurations). It doesn't differentiate from sibling tools like 'get--v3-domains-domain_name-webhooks-webhook_name', which appears to target a specific webhook.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context, or exclusions, nor does it reference sibling tools for comparison. Without any usage context, an agent must infer everything from the name and schema alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domains-name-sending_queuesD

Get messages queue status

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

D1.9/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. 'Get messages queue status' implies a read-only operation, but it does not specify authentication requirements, rate limits, error conditions, or what the output looks like (e.g., queue metrics, status codes). For a tool with no annotation coverage, this is a significant gap in behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description 'Get messages queue status' is extremely concise—a single phrase with no wasted words. It is front-loaded with the core action and resource, making it easy to parse quickly. Every word earns its place by conveying the essential purpose without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (a tool with one parameter but no schema descriptions or annotations) and lack of output schema, the description is incomplete. It does not explain what 'messages queue status' returns, how to interpret results, or any behavioral nuances. For a tool in a domain with many similar siblings, this minimal description is inadequate for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one required parameter 'name' with 0% description coverage, and the tool description does not mention any parameters. The description fails to add meaning beyond the schema, such as explaining what 'name' refers to (e.g., a domain name, queue identifier) or its format. With low schema coverage, the description does not compensate, leaving parameters undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get messages queue status' clearly indicates a retrieval operation (verb 'Get') on a specific resource ('messages queue status'), which is better than a tautology. However, it lacks specificity about what 'messages queue status' entails or how it differs from sibling tools like 'get--v3-domain_name-bounces' or 'get--v3-domain_name-complaints', which also retrieve domain-related data. The purpose is vague but not misleading.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools (e.g., 'get--v3-domain_name-bounces', 'get--v3-domain_name-complaints') that also retrieve domain-specific data, there is no indication of context, prerequisites, or exclusions. This leaves the agent without direction for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domains-name-trackingD

Get tracking settings

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

D1.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Get tracking settings' implies a read-only operation, but it doesn't specify whether it requires authentication, rate limits, error conditions, or what the return format looks like. For a tool with no annotation coverage, this minimal description fails to provide necessary behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with just three words, front-loading the core action and resource. There is no wasted verbiage or unnecessary structure, making it efficient in terms of brevity, though this comes at the cost of completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (1 parameter with 0% schema coverage, no annotations, no output schema), the description is completely inadequate. It doesn't explain what tracking settings are, how to use the parameter, what the tool returns, or any behavioral traits. For a tool that likely interacts with domain tracking data, this minimal description fails to provide the necessary context for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 1 parameter ('name') with 0% description coverage, meaning the schema provides no semantic information. The description 'Get tracking settings' adds no meaning about what the 'name' parameter represents (e.g., a domain name, tracking type, or identifier). This leaves the parameter completely undocumented, failing to compensate for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get tracking settings' restates the tool name ('get--v3-domains-name-tracking') in a tautological manner. It specifies the verb 'Get' and resource 'tracking settings', but lacks specificity about what tracking settings are (e.g., for a domain) and doesn't differentiate from sibling tools like 'put--v3-domains-name-tracking-click' which modify tracking settings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites, context, or exclusions, and doesn't reference sibling tools that might be related (e.g., put tools for updating tracking settings). This leaves the agent without direction on appropriate usage scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domain-stats-totalD

Totals for entire domain

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
startNo
endNo
resolutionNo
durationNo
eventYes

TDQS

D1.5/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description offers zero behavioral information. It doesn't indicate whether this is a read-only operation, what authentication might be required, whether it has rate limits, what format the totals are returned in, or any other behavioral characteristics. For a tool with 6 parameters and no annotation coverage, this is completely inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (4 words), but this is more under-specification than effective brevity. While it's front-loaded with the core concept ('Totals'), the extreme brevity comes at the cost of providing any useful information. It's not verbose, but it's also not helpful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is completely inadequate for a tool with 6 parameters, no annotations, no output schema, and numerous sibling alternatives. The description fails to explain what the tool does, when to use it, what the parameters mean, what behavior to expect, or what results will be returned. Given the complexity implied by the parameter count and sibling tool ecosystem, this description provides almost no useful context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage for all 6 parameters (domain, start, end, resolution, duration, event), the description provides absolutely no information about what these parameters mean, their expected formats, or how they affect the 'totals' calculation. The description doesn't mention any parameters at all, leaving the agent completely in the dark about how to use this tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Totals for entire domain' is vague and tautological - it essentially restates the tool name 'get--v3-domain-stats-total' without specifying what kind of totals or what statistics are being aggregated. It doesn't clearly distinguish this from sibling tools like 'get--v3-domain-tag-stats' or 'get--v3-stats-total' which also appear to provide statistical data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides absolutely no guidance about when to use this tool versus alternatives. With numerous sibling tools providing various statistics and aggregates (domain-aggregates, tag-stats, bounce stats, etc.), there's no indication of what makes this 'total stats' tool unique or when it should be selected over other statistical tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domain-tagD

Get a tag

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
tagYes

TDQS

D1.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Get a tag' implies a read-only operation but doesn't specify permissions, rate limits, error conditions, or response format. It lacks details on what 'tag' refers to in this context (e.g., a label for a domain), making it insufficient for safe and effective use.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with just three words, making it front-loaded and free of unnecessary details. However, this conciseness comes at the cost of clarity and completeness, but as a standalone assessment of brevity, it earns full marks for efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (2 required parameters), lack of annotations, 0% schema description coverage, and no output schema, the description is completely inadequate. It doesn't explain the tool's purpose, parameters, behavior, or output, leaving the agent with insufficient information to invoke it correctly in context with sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 2 parameters (domain and tag) with 0% description coverage, meaning they are entirely undocumented. The description 'Get a tag' adds no semantic information about these parameters—it doesn't explain what 'domain' and 'tag' represent, their expected formats, or how they relate to the operation, failing to compensate for the schema's lack of documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get a tag' is a tautology that merely restates the tool name without adding meaningful context. While it indicates a retrieval action, it doesn't specify what kind of tag (e.g., email domain tag, metadata tag) or what resource it operates on, making it vague compared to sibling tools like 'get--v3-domain-tags' or 'get--v3-domain-tag-stats'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, context, or distinctions from sibling tools such as 'get--v3-domain-tags' (which might list tags) or 'get--v3-domain-tag-stats' (which might provide statistics), leaving the agent with no usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domain-tagsC

List all tags

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
pageNo
limitNo
tagNo
prefixNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. 'List all tags' implies a read-only operation, but it doesn't disclose behavioral traits like pagination (suggested by 'page' and 'limit' parameters), rate limits, authentication needs, or what 'all' entails (e.g., across a domain). This leaves significant gaps for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with 'List all tags'—a single, front-loaded phrase that efficiently states the core action. There's no wasted verbiage, making it easy to parse, though this brevity contributes to gaps in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (5 parameters, 1 required, no output schema, no annotations), the description is incomplete. It doesn't explain the tool's behavior, parameter usage, or output format, leaving the agent under-informed for a tool with multiple inputs and potential filtering/pagination logic.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no parameter semantics beyond the schema, which has 0% description coverage for 5 parameters (domain, page, limit, tag, prefix). Without explanation of what these parameters do (e.g., 'domain' is required, 'tag' might filter), the agent lacks context to use them effectively, failing to compensate for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List all tags' states a clear verb ('List') and resource ('tags'), but it's vague about scope and context. It doesn't specify what kind of tags (e.g., email tags, domain tags) or differentiate from sibling tools like 'get--v3-domain-tag' or 'get--v3-domains-domain-limits-tag', which might handle similar resources differently.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools (e.g., 'get--v3-domain-tag', 'get--v3-domain-tag-stats'), there's no indication of context, prerequisites, or exclusions, leaving the agent to infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domain-tag-statsD

Get stats by tag

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
startNo
endNo
resolutionNo
durationNo
providerNo
deviceNo
countryNo
eventYes
tagYes

TDQS

D1.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Get stats by tag' implies a read-only operation but doesn't specify authentication requirements, rate limits, pagination behavior, error conditions, or what the output looks like (no output schema exists). For a tool with 10 parameters and no annotation coverage, this is a significant gap in behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at just three words. While this represents under-specification rather than ideal conciseness, it contains no wasted words and is front-loaded with the core purpose. Every word earns its place, though more content would be needed for a complete description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (10 parameters, 3 required), zero schema description coverage, no annotations, and no output schema, the description is completely inadequate. It doesn't explain what type of stats are retrieved, what the parameters mean, how to interpret results, or how this differs from similar tools. For a statistical retrieval tool with significant parameter complexity, this description provides insufficient context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, meaning none of the 10 parameters have descriptions in the schema. The tool description 'Get stats by tag' only mentions one parameter ('tag') and doesn't explain the purpose of the other 9 parameters (domain, start, end, resolution, duration, provider, device, country, event) or their relationships. This fails to compensate for the complete lack of schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get stats by tag' restates the tool name 'get--v3-domain-tag-stats' in a tautological manner. It specifies the verb 'Get' and resource 'stats by tag', but doesn't clarify what type of stats (e.g., email analytics, performance metrics) or what domain context is involved. It fails to distinguish this tool from sibling tools like 'get--v3-domain-tag-stats-aggregates' or 'get--v3-domain-stats-total'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools available (e.g., 'get--v3-domain-aggregates-countries', 'get--v3-domain-tag-stats-aggregates'), there's no indication of what makes this tool unique or when it should be selected over similar tools. No prerequisites, exclusions, or alternative recommendations are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-domain-tag-stats-aggregatesD

Get aggregate stat types by tag

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
tagYes
typeYes

TDQS

D1.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It only states the action without detailing whether it's read-only, has side effects, requires authentication, involves rate limits, or describes output format. This leaves critical behavioral aspects unspecified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words, making it front-loaded and easy to parse. However, this conciseness comes at the cost of under-specification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (3 required parameters), lack of annotations, 0% schema coverage, and no output schema, the description is severely incomplete. It does not provide enough information for an agent to understand the tool's purpose, usage, behavior, or parameters adequately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, with three required parameters (domain, tag, type) undocumented. The description mentions 'tag' but does not explain any parameters' meanings, formats, or constraints, failing to compensate for the schema's lack of documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get aggregate stat types by tag' restates the tool name with minimal elaboration, making it tautological. It specifies the action ('Get') and resource ('aggregate stat types by tag'), but lacks detail on what 'aggregate stat types' or 'tag' refer to, and does not differentiate from sibling tools like 'get--v3-domain-tag-stats' or 'get--v3-domain-stats-total'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, context, or exclusions, leaving the agent without direction on appropriate usage scenarios compared to sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-ip_poolsB

List dedicated IP pools of the account

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states this is a list operation, implying it's likely read-only and non-destructive, but it doesn't confirm this or add any other behavioral traits (e.g., authentication needs, rate limits, pagination, or response format). For a tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It's front-loaded with the key action ('List'), making it easy to parse and understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (0 parameters, no output schema, no annotations), the description is minimally adequate. It states what the tool does but lacks behavioral details and usage context. Without annotations or output schema, the description should ideally provide more guidance on response format or limitations, but it meets the basic requirement for a simple list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% description coverage, meaning no parameters need documentation. The description doesn't add parameter details, which is appropriate here. A baseline of 4 is applied since the schema fully handles the parameter semantics, and the description doesn't need to compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('List') and resource ('dedicated IP pools of the account'), making the purpose specific and understandable. However, it doesn't explicitly distinguish this tool from sibling tools like 'get--v3-ips' or 'get--v5-accounts-subaccounts-ip_pools-all', which might also list IP-related resources, so it doesn't achieve full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'get--v3-ips' (which lists individual IPs) and 'get--v5-accounts-subaccounts-ip_pools-all' (which lists IP pools across subaccounts), there's clear potential for confusion, but the description offers no context or exclusions to help an agent choose appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-ip_pools-pool_idD

Get DIPP details

ParametersJSON Schema
NameRequiredDescriptionDefault
pool_idYes

TDQS

D1.3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. 'Get DIPP details' implies a read-only operation but doesn't confirm safety, permissions required, rate limits, or what the response contains (e.g., format, error handling). It fails to add meaningful context beyond the basic implication of retrieval, leaving critical behavioral aspects undocumented.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise ('Get DIPP details'), but this brevity results in under-specification rather than effective conciseness. It lacks necessary details about purpose, parameters, or usage, making it inefficient for an agent's understanding. While front-loaded, it doesn't earn its place with informative content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a tool with 1 undocumented parameter, no annotations, and no output schema, the description is completely inadequate. It doesn't explain what 'DIPP' is, what details are returned, how to use the pool_id, or any behavioral aspects. For a retrieval tool in a context with many sibling tools, this leaves the agent without sufficient information to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 1 parameter (pool_id) with 0% description coverage, meaning the schema provides no semantic information. The description 'Get DIPP details' adds no clarification about what pool_id represents (e.g., an identifier for an IP pool), its format, or where to obtain it. This leaves the parameter entirely undocumented, failing to compensate for the schema's lack of coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get DIPP details' is a tautology that essentially restates the tool name 'get--v3-ip_pools-pool_id' (get operation on IP pools). It doesn't specify what 'DIPP' means or what kind of details are retrieved, making the purpose vague. While it indicates a retrieval action, it lacks the specificity needed to distinguish it from sibling tools like 'get--v3-ip_pools' (which likely lists pools) or 'get--v3-ip_pools-pool_id-domains' (which might get domains for a pool).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a valid pool_id), exclusions, or comparisons to sibling tools like 'get--v3-ip_pools' (for listing pools) or 'get--v3-ips' (for IP details). Without any usage context, an agent cannot make informed decisions about tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-ip_pools-pool_id-domainsD

Get domains linked to DIPP

ParametersJSON Schema
NameRequiredDescriptionDefault
pool_idYes
limitNo
pageNo

TDQS

D1.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only states a read operation ('Get') but doesn't disclose behavioral traits such as pagination (implied by 'limit' and 'page' parameters), rate limits, authentication needs, or what 'linked' entails. This is inadequate for a tool with parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It's front-loaded and appropriately sized for its minimal content, though this conciseness comes at the cost of detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, 0% schema coverage, no output schema, and three parameters, the description is incomplete. It lacks essential details like parameter explanations, behavioral context, and usage guidelines, making it insufficient for effective tool invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the schema provides no parameter descriptions. The description adds no meaning beyond the schema—it doesn't explain 'pool_id', 'limit', or 'page', leaving all three parameters undocumented. This fails to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get domains linked to DIPP' states a basic action but is vague. 'DIPP' is unexplained (likely 'Dynamic IP Pool'), and it doesn't specify what 'linked' means (e.g., associated, assigned). It distinguishes from siblings by mentioning 'DIPP' but lacks clarity on the exact resource and operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context, or compare with sibling tools like 'get--v3-ips-ip-domains' or 'get--v3-domains', leaving the agent without usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-ipsC

List account IPs

ParametersJSON Schema
NameRequiredDescriptionDefault
dedicatedNo
enabledNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. 'List account IPs' implies a read-only operation but doesn't specify permissions needed, rate limits, pagination behavior, or what 'account IPs' encompasses (e.g., dedicated vs. shared). The description lacks crucial context for safe and effective use.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at just three words, front-loading the core purpose with zero wasted language. It's appropriately sized for what it communicates, though it could benefit from additional context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 2 undocumented parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the parameters do, what the output looks like, or behavioral constraints. Given the complexity implied by filtering parameters and the lack of structured documentation, this description leaves too many gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 2 parameters (dedicated, enabled) with 0% description coverage, meaning the schema provides no semantic information. The description 'List account IPs' doesn't mention these parameters at all, failing to compensate for the schema's lack of documentation. Users have no clue what these boolean filters do.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List account IPs' clearly states the action (list) and resource (account IPs), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'get--v3-ip_pools' or 'get--v3-ips-ip', which appear related to IP management but serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With multiple sibling tools related to IPs and domains, there's no indication of whether this is for listing all account IPs, filtered IPs, or how it differs from other IP-related tools like 'get--v3-ip_pools'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-ips-ipC

Get details about account IP

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It implies a read operation ('Get details'), but doesn't disclose behavioral traits such as authentication requirements, rate limits, error handling, or what the output looks like (e.g., JSON structure). For a tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It's front-loaded and appropriately sized for a simple tool, though this conciseness comes at the cost of detail in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (1 parameter, no output schema, no annotations), the description is incomplete. It lacks details on parameter meaning, output format, behavioral context, and differentiation from siblings, making it inadequate for an agent to use the tool effectively without additional inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 1 parameter with 0% description coverage, and the description doesn't add any semantic meaning beyond the schema. It doesn't explain what 'ip' represents (e.g., IPv4 address, account-specific IP), valid formats, or examples, failing to compensate for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get details about account IP' states a clear verb ('Get details') and resource ('account IP'), but it's vague about what specific details are retrieved. It doesn't distinguish from sibling tools like 'get--v3-ips' (which might list IPs) or 'get--v3-ip_pools-pool_id' (which might get pool details), leaving ambiguity about scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., needing a specific IP), exclusions, or comparisons to siblings like 'get--v3-ips' for listing IPs or 'get--v3-ips-ip-domains' for related data, leaving the agent to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-ips-ip-domainsC

Get all domains of an account where a specific IP is assigned

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes
limitYes
searchYes
skipYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions retrieving domains for a specific IP, but doesn't cover aspects like whether this is a read-only operation, potential rate limits, authentication needs, or what the return format looks like. This leaves significant gaps for a tool with 4 required parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It's appropriately sized and front-loaded, making it easy to grasp quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of 4 required parameters, 0% schema coverage, no annotations, and no output schema, the description is incomplete. It should provide more details on parameters, behavioral traits, and expected outputs to adequately guide an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the schema provides no parameter details. The description only implies the 'ip' parameter's purpose ('specific IP is assigned') but doesn't explain 'limit', 'search', or 'skip', leaving three parameters undocumented. It adds minimal value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get all domains') and resource ('of an account where a specific IP is assigned'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'get--v3-ips-ip' or 'get--v3-ip_pools-pool_id-domains', which appear related to IPs and domains, so it lacks sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as the sibling tools that handle IPs or domains. It states what the tool does but offers no context, exclusions, or prerequisites for usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-listsD

Get mailing lists

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
skipNo
addressNo

TDQS

D1.5/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It only states 'Get mailing lists', offering no information on permissions, rate limits, pagination, response format, or whether it's read-only or has side effects. For a tool with three parameters and no output schema, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two words, but this brevity leads to under-specification rather than efficiency. It's front-loaded but lacks necessary detail, making it too sparse for a tool with multiple parameters and no annotations. While not verbose, it doesn't earn its place by providing useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (3 parameters, 0% schema coverage, no annotations, no output schema), the description is incomplete. It doesn't explain what the tool returns, how parameters affect results, or behavioral aspects like safety or performance. For a retrieval tool in a context with many siblings, this minimal description is inadequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has three parameters (limit, skip, address) with 0% description coverage, meaning their purposes are undocumented. The description 'Get mailing lists' adds no meaning about these parameters, such as that 'limit' controls pagination, 'skip' offsets results, or 'address' filters by email address. It fails to compensate for the schema's lack of documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get mailing lists' restates the tool name 'get--v3-lists' with minimal elaboration, making it tautological. It specifies the verb 'Get' and resource 'mailing lists', but lacks detail on scope (e.g., all lists, filtered lists) and doesn't distinguish from sibling tools like 'get--v3-lists-list_address', which likely retrieves a specific list. This is vague and offers little beyond the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools such as 'get--v3-lists-list_address' for retrieving a specific list or 'post--v3-lists' for creating lists, nor does it specify any context, prerequisites, or exclusions for usage. This leaves the agent without direction on tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-lists-list_addressC

Get a mailing list by address

ParametersJSON Schema
NameRequiredDescriptionDefault
list_addressYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states this is a read operation ('Get'), but doesn't mention authentication requirements, rate limits, error conditions (e.g., what happens if the list address doesn't exist), or response format. This leaves significant gaps for a tool that likely interacts with a mailing list system.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly. Every word serves a purpose in conveying the basic functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations, 0% schema description coverage, and no output schema, the description is incomplete. It doesn't address key contextual aspects like authentication, error handling, or what data is returned (e.g., list metadata, member count). For a tool with one required parameter in a domain with many sibling tools, this leaves the agent under-informed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must compensate. It mentions 'by address' which hints at the 'list_address' parameter, but doesn't explain what constitutes a valid address (e.g., format, domain constraints) or provide examples. This adds minimal value beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('a mailing list'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'get--v3-lists' (which likely lists all mailing lists) or 'get--v3-lists-list_address-members' (which gets members of a specific list), leaving room for ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a valid list address), exclusions, or comparisons to sibling tools like 'get--v3-lists' for broader queries, leaving the agent to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-lists-list_address-membersC

Get mailing lists members

ParametersJSON Schema
NameRequiredDescriptionDefault
list_addressYes
addressNo
subscribedNo
limitNo
skipNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only states the action without behavioral details. It doesn't disclose if this is a read-only operation, how results are returned (e.g., paginated with limit/skip), error conditions, or rate limits, which are critical for a tool with multiple parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words, making it easy to parse. It's front-loaded with the core action, though this brevity contributes to gaps in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, 1 required, no output schema, and no annotations), the description is incomplete. It fails to address key aspects like return format, pagination behavior, or error handling, making it inadequate for safe and effective use by an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate but adds no parameter information. It doesn't explain the meaning of 'list_address', 'address', 'subscribed', 'limit', or 'skip', leaving all 5 parameters undocumented beyond their types in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get mailing lists members' states the action ('Get') and resource ('mailing lists members'), making the basic purpose clear. However, it's vague about scope (e.g., all members vs. filtered) and doesn't differentiate from sibling tools like 'get--v3-lists-list_address' or 'get--v3-lists-list_address-members-member_address', which appear related to lists and members.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description lacks context about prerequisites, such as needing a valid list address, or comparisons to other list-related tools in the sibling set, leaving the agent to infer usage from parameters alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-lists-list_address-members-member_addressD

Get a member

ParametersJSON Schema
NameRequiredDescriptionDefault
list_addressYes
member_addressYes

TDQS

D1.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure but fails completely. It doesn't indicate whether this is a read-only operation, what permissions might be required, whether it's idempotent, what error conditions exist, or what the response format looks like. The single phrase 'Get a member' reveals nothing about the tool's behavior beyond the basic action implied by the verb.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is maximally concise at just two words. While this represents severe under-specification rather than ideal conciseness, it technically contains no wasted words and is front-loaded with the core action. Every word earns its place, even though that place is inadequate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 2 required parameters with 0% schema coverage, no annotations, and no output schema, the description is completely inadequate. It fails to explain what the tool does beyond the most basic level, provides no parameter guidance, no behavioral context, and no relationship to sibling tools. This leaves the agent with insufficient information to use the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage for both parameters (list_address and member_address), and the description provides zero information about what these parameters mean, their expected format, or their relationship. For a tool with two required parameters and no schema documentation, this represents a critical gap in understanding how to use the tool correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get a member' is a tautology that essentially restates the tool name without adding meaningful context. It doesn't specify what type of member (email list member, team member, etc.) or what resource is being retrieved. While it includes a verb ('Get'), it lacks specificity about the domain or context of the operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides absolutely no guidance about when to use this tool versus alternatives. It doesn't mention prerequisites, context, or relationships to sibling tools (like other list-related tools such as 'get--v3-lists-list_address-members' which likely retrieves multiple members).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-routesD

Get all routes

ParametersJSON Schema
NameRequiredDescriptionDefault
skipNo
limitNo

TDQS

D1.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but only states the action without behavioral details. It does not disclose if this is a read-only operation, how results are returned (e.g., pagination), rate limits, authentication needs, or error handling, which are critical for a list operation with parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with a single three-word phrase, front-loaded and free of unnecessary words. However, this brevity leads to under-specification rather than effective communication.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (2 parameters, no schema descriptions, no annotations, no output schema), the description is severely incomplete. It fails to explain the resource context, parameter usage, return values, or behavioral traits, making it inadequate for effective tool invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate but adds no parameter information. It does not explain the purpose of 'skip' and 'limit' parameters, their expected formats (e.g., numeric strings for pagination), or default behaviors, leaving them undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get all routes' restates the tool name 'get--v3-routes' with minimal elaboration, making it tautological. It specifies the verb 'Get' and resource 'routes' but lacks detail on what 'routes' are in this context or what 'all' entails, failing to distinguish from siblings like 'get--v3-routes-id' which likely fetches a specific route.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It does not mention siblings such as 'get--v3-routes-id' for retrieving a single route or other list tools like 'get--v3-lists', leaving the agent without context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-routes-idD

Get a route

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

D1.8/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but fails to disclose any behavioral traits. It doesn't indicate whether this is a read-only operation, what permissions are required, how errors are handled, or what the response format might be. This leaves critical behavioral aspects completely unspecified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is maximally concise with just three words, though this brevity comes at the cost of completeness. There's no wasted language or unnecessary elaboration, making it efficiently front-loaded despite being under-specified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations, no output schema, and 0% parameter documentation, the description is completely inadequate. It doesn't compensate for the missing structured information, leaving the agent with insufficient context to understand what the tool does, how to use it properly, or what to expect in return.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage for the single parameter 'id', and the tool description provides no additional parameter information. While only one parameter exists, the description fails to explain what 'id' represents (e.g., route identifier format, where to find it) or any constraints, leaving parameter meaning entirely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get a route' is a tautology that merely restates the tool name without adding meaningful context. It doesn't specify what a 'route' represents in this domain or what information is retrieved, making it minimally informative beyond the obvious verb-noun pairing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'get--v3-routes' (which appears to list routes) or other domain-specific tools. The description offers no context about prerequisites, typical use cases, or distinctions from sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-stats-filterC

Filtered/grouped totals for entire account

ParametersJSON Schema
NameRequiredDescriptionDefault
startNo
endNo
resolutionNo
durationNo
eventYes
filterNo
groupNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. The description mentions 'filtered/grouped totals' which implies a read-only aggregation operation, but it doesn't specify whether this requires authentication, what the output format looks like, whether there are rate limits, or if the data is real-time vs historical. For a tool with 7 parameters and no annotation coverage, this is a significant gap in behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at just 5 words, which is appropriate for its length. However, it's arguably too brief given the tool's complexity (7 parameters, no annotations, many siblings). While front-loaded with the core concept, it lacks the detail needed for effective tool selection and usage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, 1 required, no annotations, no output schema, and many similar sibling tools), the description is inadequate. It doesn't explain what kind of statistics are returned, how parameters affect the output, or how this differs from other statistical tools in the server. The agent would struggle to use this tool correctly without additional documentation or trial-and-error.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage for all 7 parameters, and the description provides no information about what any parameter means or how they interact. While the description mentions 'filtered/grouped totals,' it doesn't explain which parameters control filtering versus grouping, what values are acceptable, or how 'event' (the only required parameter) relates to the statistics being retrieved. The description fails to compensate for the complete lack of schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Filtered/grouped totals for entire account' states the general purpose (retrieving aggregated statistics) but lacks specificity about what kind of statistics or resources are involved. It doesn't clearly distinguish this tool from its many siblings (like 'get--v3-domain-stats-total' or 'get--v3-domain-tag-stats'), which appear to handle similar statistical data but for different scopes or entities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. With 50+ sibling tools including many other 'get--v3-stats-*' and 'get--v3-domain-*' variants, the description provides no context about appropriate use cases, prerequisites, or exclusions. The agent must infer usage from the tool name and schema alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-stats-totalD

Totals for entire account

ParametersJSON Schema
NameRequiredDescriptionDefault
startNo
endNo
resolutionNo
durationNo
eventYes

TDQS

D1.6/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. However, it only states 'Totals for entire account,' which doesn't indicate whether this is a read-only operation, what data it returns, any rate limits, authentication requirements, or potential side effects. For a tool with 5 parameters and no output schema, this lack of behavioral context is severely inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at just three words, which is front-loaded and wastes no space. However, this brevity comes at the cost of under-specification—it's too terse to be helpful. While structurally simple, it lacks the necessary detail for effective tool use.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (5 parameters, 1 required, no schema descriptions, no annotations, no output schema), the description is completely inadequate. It doesn't explain what the tool does beyond a vague notion of 'totals,' leaving the agent guessing about behavior, parameters, and output. For a stats-related tool with multiple inputs, this fails to provide any meaningful context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, meaning none of the 5 parameters (start, end, resolution, duration, event) are documented in the schema. The description 'Totals for entire account' adds no meaning about these parameters—it doesn't explain what 'event' refers to (the only required parameter), how date ranges work, or what 'resolution' and 'duration' control. This fails to compensate for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Totals for entire account' restates the tool name 'get--v3-stats-total' in a tautological way. It doesn't specify what kind of totals (e.g., statistics, metrics, counts) or for what resource (e.g., emails, events, domains). While it implies account-level scope, it lacks a clear verb and specific resource, making it vague compared to siblings like 'get--v3-domain-stats-total' which clearly targets domain statistics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, context, or sibling tools like 'get--v3-stats-filter' or 'get--v3-domain-stats-total' that might be relevant for filtering or domain-specific stats. Without such information, an agent cannot determine appropriate usage scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v3-stats-total-domainsC

Totals for account domains for a single time resolution

ParametersJSON Schema
NameRequiredDescriptionDefault
eventYes
limitNo
resolutionNo
timestampYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies a read-only operation (likely safe), but doesn't specify if it's a query, what data format it returns, any rate limits, authentication needs, or potential side effects. For a stats tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that's front-loaded with the core purpose. There's no wasted verbiage, but it could be more informative without losing conciseness. It's appropriately sized for a simple tool, though under-specified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (4 parameters, no annotations, no output schema), the description is incomplete. It doesn't cover parameter meanings, return values, or behavioral traits, making it inadequate for the agent to use the tool effectively. The lack of output schema exacerbates this, as the description doesn't hint at what 'totals' includes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 4 parameters with 0% description coverage, and the description adds no information about them. It doesn't explain what 'event', 'limit', 'resolution', or 'timestamp' mean, their expected formats, or how they affect the totals. With low schema coverage, the description fails to compensate, leaving parameters undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Totals for account domains for a single time resolution' states the tool aggregates domain data over time, but it's vague about what 'totals' means (e.g., metrics like count, volume) and doesn't specify the resource clearly (e.g., 'account domains' vs. 'domain stats'). It distinguishes from some siblings like 'get--v3-domain-aggregates-countries' by focusing on totals, but the purpose lacks specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention siblings like 'get--v3-stats-total' or 'get--v3-stats-filter', leaving the agent to infer usage based on naming alone. There's no explicit context or exclusions stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v4-domainsD

Get domains

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
skipNo
stateNo
sortNo
authorityNo
searchNo
include_subaccountsNo

TDQS

D1.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Get domains' implies a read operation but reveals nothing about permissions, rate limits, pagination, side effects, or response format. For a tool with 7 parameters and no output schema, this lack of behavioral context is inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with just two words, front-loading the core action and resource. There is no wasted verbiage, though this brevity comes at the cost of clarity and completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, no annotations, no output schema, many siblings), the description is severely incomplete. It fails to explain the tool's purpose, usage, behavior, or parameters, making it inadequate for an agent to select and invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage for its 7 parameters, and the description adds no semantic information about them. Parameters like 'state', 'authority', and 'include_subaccounts' are entirely unexplained, leaving their purpose and usage ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get domains' is a tautology that restates the tool name without adding meaningful context. It specifies the verb 'Get' and resource 'domains', but doesn't distinguish this from sibling tools like 'get--v3-domain-stats-total' or 'get--v4-domains-name', nor does it clarify what kind of domains (email, web, etc.) or what 'getting' entails (listing, retrieving details, etc.).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. With many sibling tools related to domains (e.g., 'get--v3-domain-stats-total', 'get--v4-domains-name'), the description offers no context, prerequisites, or exclusions, leaving the agent to guess based on parameter names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v4-domains-nameD

Get domain details

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

D1.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. 'Get domain details' implies a read-only operation but does not specify authentication needs, rate limits, error handling, or response format. It lacks essential context for safe and effective use.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with a single phrase 'Get domain details', which is front-loaded and wastes no words. However, this brevity comes at the cost of completeness, as it under-specifies the tool's functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (1 parameter with no schema descriptions, no annotations, no output schema, and many siblings), the description is incomplete. It does not address parameter meaning, behavioral traits, or differentiation from alternatives, making it inadequate for effective tool selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 1 parameter with 0% description coverage, and the description does not explain the 'name' parameter's purpose, format, or constraints. It fails to compensate for the schema's lack of documentation, leaving the parameter's semantics unclear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get domain details' restates the tool name 'get--v4-domains-name' with minimal elaboration, making it tautological. It specifies the verb 'Get' and resource 'domain details' but lacks specificity about what details are retrieved or how it differs from sibling tools like 'get--v4-domains' or 'get--v3-domain-tag'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. With many sibling tools (e.g., 'get--v4-domains', 'get--v3-domain-tag'), the description offers no context, prerequisites, or distinctions, leaving the agent without usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v5-accounts-limit-custom-monthlyB

Get current custom sending limit

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states it's a 'Get' operation, implying read-only behavior, but doesn't mention authentication requirements, rate limits, error conditions, or what 'current' means (e.g., real-time vs cached data). This leaves significant gaps for an AI agent to understand how to invoke it safely.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It's appropriately sized for a simple read operation with no parameters, making it easy for an AI agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no parameters and no output schema, the description is minimally adequate but lacks depth. It doesn't explain what 'custom sending limit' refers to (e.g., for accounts, domains, or other entities), what format the response might have, or any behavioral nuances. Given the simplicity, it's passable but could be more informative.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the absence of inputs. The description doesn't need to add parameter information, and it correctly implies no inputs are required by not mentioning any. This meets the baseline for tools with no parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get current custom sending limit' clearly states the action (Get) and resource (current custom sending limit), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools, which appear to be various domain, stats, and account management tools, so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. Given the sibling tools include various get operations for domains, stats, and accounts, there's no indication of context or prerequisites for selecting this specific limit-checking tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get--v5-accounts-subaccounts-ip_pools-allB

List DIPPs delegated to subaccounts

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It implies a read-only list operation ('List'), but doesn't disclose behavioral traits such as pagination, rate limits, authentication needs, or what 'DIPPs' stands for (likely Dedicated IP Pools). This leaves significant gaps in understanding how the tool behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words, making it front-loaded and easy to parse. It directly conveys the core purpose without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 0 parameters, no annotations, and no output schema, the description is minimally adequate but incomplete. It explains what the tool does but lacks context on behavior, output format, or differentiation from siblings, which is needed for a list operation in a complex server environment.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate, but it could have clarified terms like 'DIPPs' to enhance semantics. Baseline is 4 for zero parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List DIPPs delegated to subaccounts' clearly states the action (list) and resource (DIPPs delegated to subaccounts), making the purpose understandable. However, it doesn't differentiate from sibling tools that also list resources (e.g., 'get--v3-ip_pools', 'get--v3-domains'), so it's not fully specific about what makes this listing unique.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context, or compare to sibling tools like 'get--v3-ip_pools' or other list operations, leaving the agent with no usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post--v1-analytics-logsC

List logs

ParametersJSON Schema
NameRequiredDescriptionDefault
startNoThe start date (default: 1 day before current time). Must be in RFC 2822 format: https://datatracker.ietf.org/doc/html/rfc2822.html#page-14
endNoThe end date (default: current time). Must be in RFC 2822 format: https://datatracker.ietf.org/doc/html/rfc2822.html#page-14
eventsNoThe set of events to include.
metric_eventsNoOptional set of analytics metric events. Will be converted into corresponding events.
filterNo
include_subaccountsNoInclude logs from all subaccounts.
include_totalsNoInclude total number of log entries.
paginationNo

TDQS

C2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. 'List logs' implies a read-only operation, but it doesn't specify whether this requires authentication, has rate limits, returns paginated results, or what format the logs are in. The description mentions nothing about behavioral traits beyond the basic action, leaving critical operational context unspecified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While 'List logs' is extremely concise, it's under-specified rather than appropriately sized. Two words cannot adequately describe an 8-parameter tool with complex filtering and pagination capabilities. This isn't effective conciseness—it's omission of necessary information that would help the agent understand and use the tool correctly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, nested objects, no output schema, no annotations), the description is severely incomplete. It doesn't explain what 'logs' means in this context, what the output looks like, how pagination works, or any behavioral constraints. For a tool with rich input schema but no other structured guidance, 'List logs' provides insufficient context for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%, which is relatively high, so the baseline is 3 even though the description adds no parameter information. The description 'List logs' doesn't explain any parameters beyond what the schema already documents (e.g., date ranges, events, pagination). It neither compensates for the 25% coverage gap nor enhances understanding of parameter purposes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List logs' is a tautology that essentially restates the tool name 'post--v1-analytics-logs'. It provides the basic verb 'list' but doesn't specify what type of logs (analytics logs), what resource they belong to, or how this differs from sibling tools like 'post--v1-analytics-metrics' or 'post--v1-analytics-usage-metrics'. The purpose is minimally stated but lacks differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools available (e.g., 'post--v1-analytics-metrics', 'get--v3-domain-stats-total'), there's no indication of what makes this tool unique for listing logs, what context it applies to, or any prerequisites. This leaves the agent guessing about appropriate usage scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post--v1-analytics-metricsC

Query account metrics

ParametersJSON Schema
NameRequiredDescriptionDefault
startNoA start date (default: 7 days before current time). Must be in RFC 2822 format: https://datatracker.ietf.org/doc/html/rfc2822.html#page-14
endNoAn end date (default: current time). Must be in RFC 2822 format: https://datatracker.ietf.org/doc/html/rfc2822.html#page-14
resolutionNoA resolution in the format of 'day' 'hour' 'month'. Default is day.
durationNoA duration in the format of '1d' '2h' '2m'. If duration is provided then it is calculated from the end date and overwrites the start date.
dimensionsNoAttributes of the metric data such as 'subaccount'. See [dimensions](https://documentation.mailgun.com/docs/mailgun/user-manual/reporting/dimensions)
metricsNoName of the metrics to receive the stats for such as 'processed_count'. See [metrics](https://documentation.mailgun.com/docs/mailgun/user-manual/reporting/metric-definitions)
filterNo
include_subaccountsNoInclude stats from all subaccounts.
include_aggregatesNoInclude top-level aggregate metrics.

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only mentions 'query' without disclosing behavioral traits like whether this is a read-only operation, potential rate limits, authentication requirements, or what the output looks like (e.g., time-series data). For a complex analytics tool with 9 parameters, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with just three words, front-loading the core purpose without any waste. It's appropriately sized for a tool where the schema provides extensive documentation, though it may be too brief for full clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (9 parameters, no output schema, no annotations), the description is incomplete. It doesn't explain the tool's role in the broader analytics context, what 'account metrics' entail, or how results are structured. For a POST request with rich filtering options, more context is needed to guide effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is high (89%), so the baseline is 3. The description adds no parameter semantics beyond the schema, which already details each parameter thoroughly with descriptions, defaults, formats, and enums. No additional context or examples are provided in the description to enhance understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Query account metrics' states the basic action (query) and resource (account metrics), but it's vague about what specific metrics are available and how this differs from sibling tools like 'post--v1-analytics-logs' or 'post--v1-analytics-usage-metrics'. It doesn't specify that this is for email analytics or mention the comprehensive metrics list available in the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. With many sibling tools for analytics and stats (e.g., 'post--v1-analytics-logs', 'get--v3-domain-stats-total'), the description fails to indicate this tool's specific use case, such as for detailed, customizable metric queries over time with dimensions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post--v1-analytics-usage-metricsC

Query account usage metrics

ParametersJSON Schema
NameRequiredDescriptionDefault
startNoA start date (default: 7 days before current time). Must be in RFC 2822 format: https://datatracker.ietf.org/doc/html/rfc2822.html#page-14
endNoAn end date (default: current time). Must be in RFC 2822 format: https://datatracker.ietf.org/doc/html/rfc2822.html#page-14
resolutionNoA resolution in the format of 'day' 'hour' 'month'. Default is day.
durationNoA duration in the format of '1d' '2h' '2m'. If duration is provided then it is calculated from the end date and overwrites the start date.
dimensionsNoAttributes of the metric data such as 'subaccount'. See [dimensions](https://documentation.mailgun.com/docs/mailgun/user-manual/reporting/dimensions)
metricsNoName of the metrics to receive the stats for such as 'processed_count'.
filterNo
include_subaccountsNoInclude stats from all subaccounts.
include_aggregatesNoInclude top-level aggregate metrics.

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only states 'Query' without disclosing behavioral traits like whether it's read-only (implied by 'query'), rate limits, authentication needs, or what happens with invalid parameters. It lacks details on response format, pagination, or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It's appropriately sized and front-loaded, though it could benefit from more detail given the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 9 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain what the tool returns, how to interpret results, or provide context about the metrics system, leaving significant gaps for an agent to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 89%, so the schema already documents most parameters well. The description adds no additional meaning beyond the schema's details about date formats, defaults, or metric/dimension options. Baseline 3 is appropriate as the schema does heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Query account usage metrics' states a general purpose (querying metrics) but lacks specificity about what kind of metrics (email validation, processing, etc.) and doesn't distinguish from sibling tools like 'post--v1-analytics-metrics' or 'post--v1-analytics-logs'. It's vague about the exact resource scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'post--v1-analytics-metrics' or other analytics tools in the sibling list. The description provides no context about prerequisites, typical use cases, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post--v2-bounce-classification-metricsD

List statistic v2

ParametersJSON Schema
NameRequiredDescriptionDefault
startNo
endNo
resolutionNo
durationNoA duration in the format of '48h' '60m' '30s'. If duration is provided then it is calculated from the end date and overwrites the start date.
dimensionsNoDimensions.
metricsNoMetrics to return. See example.
filterNo
include_subaccountsNoInclude stats from all subaccounts.
paginationNo

TDQS

D1.5/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. 'List statistic v2' gives no information about whether this is a read-only operation, whether it requires authentication, what rate limits apply, what the response format looks like, or whether it's paginated. For a POST endpoint with 9 parameters and no output schema, this is critically insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While technically concise (three words), this is under-specification rather than effective brevity. The description fails to communicate essential information and wastes its limited space. A proper description would be longer but more helpful - this is too short to be useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (9 parameters, nested objects, no output schema, 44% schema coverage, no annotations), the description is completely inadequate. It doesn't explain what bounce classification metrics are, what time ranges apply, how dimensions/metrics work, what the POST method implies, or what results to expect. The agent cannot use this tool effectively with such minimal information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 44%, meaning most parameters lack documentation in the schema. The description 'List statistic v2' adds zero information about what the 9 parameters mean, how they interact, or what values are expected. It doesn't compensate for the poor schema coverage, leaving the agent guessing about parameter usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List statistic v2' is a tautology that essentially restates the tool name 'post--v2-bounce-classification-metrics'. It doesn't specify what resource is being listed (bounce classification metrics), what 'v2' refers to, or how this differs from sibling tools like 'get--v1-bounce-classification-stats'. The purpose is vague and lacks differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools available (e.g., 'get--v1-bounce-classification-stats', 'post--v1-analytics-metrics', various domain-specific tools), there's no indication of context, prerequisites, or exclusions. The agent receives no help in selecting this tool appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post--v3-domain_name-messagesC

Send an email

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_nameYes
fromYesEmail address of the `From` header. Can include a friendly name using the format `"Friendly Name <email@domain.com>"`. Note: not required if sending with a template that has a pre-set From header, but will override the template's From header if provided.
toYesEmail address of the recipient(s). Supports friendly name format. Example: `"Bob <bob@host.com>"`. Use commas to separate multiple recipients. Duplicate addresses are automatically ignored.
ccNoSame as `to` but for carbon copy recipients. Supports friendly name format.
bccNoSame as `to` but for blind carbon copy recipients. Supports friendly name format.
subjectYesMessage subject. Note: not required if sending with a template that has a pre-set Subject header, but it will override it if provided.
textNoBody of the message (text version)
htmlNoBody of the message (HTML version)
amp-htmlNoAMP part of the message. Please follow Google guidelines to compose and send AMP emails
attachmentNoFile attachment. You can post multiple `attachment` values. **Important:** You must use `multipart/form-data` encoding for sending attachments
inlineNoAttachment with `inline` disposition. Can be used to send inline images (see example). You can post multiple `inline` values
templateNoName of a template stored via the Templates API to use to render the email body. See [Templates](https://documentation.mailgun.com/docs/mailgun/user-manual/sending-messages/send-templates) for more information
t_versionNoRender a specific version of the given template instead of the latest version. `template` option must also be provided.
t_textNo
t_variablesNoA valid JSON-encoded dictionary used as the input for template variable expansion. See [Templates](https://documentation.mailgun.com/docs/mailgun/user-manual/sending-messages/send-templates) for more information
o_tagNoTag string. See [Tagging](https://documentation.mailgun.com/docs/mailgun/user-manual/tracking-messages/track-tagging) for more information
o_dkimNo
o_secondary-dkimNoSpecify a second domain key to sign the email with. The value is formatted as `signing_domain/selector`, e.g. `example.com/s1`. This tells Mailgun to sign the message with the signing domain `example.com` using the selector `s1`. Note: the domain key specified must have been previously created and activated.
o_secondary-dkim-publicNoSpecify an alias of the domain key specified in `o:secondary-dkim`. Also formatted as `public_signing_domain/selector`. `o:secondary-dkim` option must also be provided. Mailgun will sign the message with the provided key of the secondary DKIM, but use the public secondary DKIM name and selector. Note: We will perform a DNS check prior to signing the message to ensure the public keys matches the secondary DKIM.
o_deliverytimeNoSpecifies the scheduled delivery time in [RFC-2822 format](https://documentation.mailgun.com/docs/mailgun/api-reference/api-overview#date-format). Depending on your plan, you can schedule messages up to 3 or 7 days in advance. If your domain has a custom message_ttl (time-to-live) setting, this value determines the maximum scheduling duration. Example: 'Fri, 14 Oct 2011 12:00:00 +0000'
o_deliver-withinNoSpecifies the maximum time window for delivering the message. Accepts values in format `[0-9]+h[0-9]+m` (e.g., `1h30m`, `30m`, `24h`), with a minimum of `5m` and maximum of `24h`. For scheduled messages, the delivery window starts from the scheduled time. The standard retry schedule applies within this window, so shorter timeframes may result in fewer delivery attempts.
o_deliverytime-optimize-periodNoToggles Send Time Optimization (STO) on a per-message basis. String should be set to the number of hours in `[0-9]+h` format, with the minimum being `24h` and the maximum being `72h`. This value defines the time window in which Mailgun will run the optimization algorithm based on prior engagement data of a given recipient. See [Sending a Message with STO](https://documentation.mailgun.com/docs/mailgun/user-manual/sending-messages/send-sto) for details. *Please note that STO is only available on certain plans. See www.mailgun.com/pricing for more info*
o_time-zone-localizeNoToggles Timezone Optimization (TZO) on a per message basis. String should be set to preferred delivery time in `HH:mm` or `hh:mmaa` format, where `HH:mm` is used for 24 hour format without AM/PM and hh:mmaa is used for 12 hour format with AM/PM. See [Sending a Message with TZO](https://documentation.mailgun.com/docs/mailgun/user-manual/sending-messages/send-tzo) for details. *Please note that TZO is only available on certain plans. See www.mailgun.com/pricing for more info*
o_testmodeNo
o_trackingNo
o_tracking-clicksNo
o_tracking-opensNo
o_require-tlsNo
o_skip-verificationNo
o_sending-ipNoUsed to specify an IP Address to send an email that is owned by your account
o_sending-ip-poolNoIf an IP Pool ID is provided, the email will be delivered with an IP that belongs in that pool
o_tracking-pixel-location-topNo
o_archive-toNoSends a copy of successfully delivered messages to the specified URL via HTTP POST. The request uses Content-Type: application/mime and contains the exact message the recipient's SMTP server received. NOTE: These are accounted for and billed as delivered messages
o_suppress-headersNoRemoves specified X-Mailgun headers from the delivered message. Provide header names separated by commas (e.g., 'X-Mailgun-Variables,X-Mailgun-Tag') or use 'all' to remove all X-Mailgun headers.Note: X-Mailgun-Sid header is currently used to process complains received via feedback loops.
h_X-My-HeaderNoAdds custom headers to the email. Use 'h:' prefix followed by header name and value. Example: 'h:X-Custom-Header=my-value'
v_my-varNoAttaches custom data to the message using the 'v:' prefix followed by a variable name. When sending with templates, provides values for template variable substitution (overridden by 't:variables' if both are provided). When not using templates, treated as metadata and included in events/webhooks. Variables are visible in the delivered email's X-Mailgun-Variables header. Example: 'v:user-id=123'. NOTE: Anything over 4KB will be truncated in the event/webhooks.
recipient-variablesNoA JSON-encoded dictionary for batch sending with personalized variables per recipient. Each key is a recipient email address, each value is a dictionary of variables for that recipient. Variables can be referenced in the message using %recipient.variablename%. Example: '{"alice@example.com": {"name":"Alice", "id":1}, "bob@example.com": {"name":"Bob", "id":2}}'. Maximum 1,000 recipients per batch. See [Batch Sending](https://documentation.mailgun.com/docs/mailgun/user-manual/sending-messages/batch-sending) for more information

TDQS

C2/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. 'Send an email' implies a write/mutation operation but reveals nothing about authentication needs, rate limits, side effects (e.g., billing implications noted in schema for 'o:archive-to'), error handling, or response format. This is critically inadequate for a complex mutation tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise ('Send an email') with zero wasted words, making it front-loaded and easy to parse. However, this conciseness comes at the cost of completeness, but purely on brevity and structure, it's optimal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex mutation tool with 37 parameters, no annotations, and no output schema, the description is completely inadequate. It fails to address behavioral aspects, usage context, or any details beyond the minimal purpose, leaving the agent with insufficient information to understand the tool's full scope and implications.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 73%, providing good baseline documentation for most parameters. The description adds no parameter-specific information beyond the generic 'Send an email', so it doesn't compensate for the 27% gap or enhance understanding of parameter interactions. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't add value but doesn't detract either.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Send an email' states the basic action but is overly simplistic for a complex tool with 37 parameters. While it identifies the verb ('Send') and resource ('email'), it doesn't distinguish this from other email-related tools in the sibling list (like template management or analytics tools) and lacks specificity about the comprehensive capabilities implied by the extensive parameter schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools (e.g., template management, analytics, list management), there's no indication of when this primary email-sending tool is appropriate versus other post/put tools for related functions, leaving the agent without contextual usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post--v3-domain_name-templatesC

Create a template

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_nameYes
nameYesName of the template being stored. Supports utf-8 characters and name will be down cased.
descriptionNoDescription of the template being stored
createdByNoOptional metadata field api user can indicate who created the template.
templateNoContent of the template.
tagNoInitial tag of the created version. If the template parameter is provided and the tag is missing, the default value `initial` is used.
commentNoVersion comment. This is valid only if a new version is being created. (template parameter is provided.)
headersNoKey value JSON object of headers to be stored with the template. Where key is the header name and value is the header value. The header names `From`, `Subject`, and `Reply-To` are the only ones currently supported. These headers will be inserted into the MIME at the time we attempt delivery. Headers set at the message level will override headers set on the template. e.g. Setting the From header at the time of sending will override the From header saved on the template. Additionally, headers generated by templates are not reflected on the accepted event as they are not prepended to the message until the message is prepped for delivery. if a From header is not provided either in the message or template, we will default to `postmaster@your-sending-domain.tld`

TDQS

C2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. 'Create a template' implies a write operation but doesn't specify permissions needed, whether it's idempotent, rate limits, or what happens on success/failure (e.g., returns a template ID). It mentions creation but lacks details like whether it overwrites existing templates or requires unique names. For a mutation tool with zero annotation coverage, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While concise with two words, this is under-specification rather than effective brevity. The description fails to front-load critical information (e.g., 'Create an email template for a domain') and doesn't earn its place by adding value. It's too sparse to be helpful, scoring low for structure despite being short.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, mutation operation, no output schema, and no annotations), the description is incomplete. It doesn't explain the purpose, usage, or behavioral aspects needed for an agent to invoke it correctly. The high schema coverage helps with parameters, but overall context is lacking for a creation tool in a domain with multiple sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is high (88%), with most parameters well-documented in the schema (e.g., 'name' supports utf-8 and downcasing, 'headers' specifies supported keys). The description adds no parameter information beyond the schema. According to rules, with high coverage (>80%), the baseline is 3 even with no param info in the description, as the schema carries the burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Create a template' is a tautology that merely restates the tool name 'post--v3-domain_name-templates'. It lacks specificity about what kind of template is being created (e.g., email template for a domain) and doesn't distinguish it from sibling tools like 'post--v3-domain_name-templates-template_name-versions', which also creates template versions. A more helpful description would specify the resource and context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., requiring a domain_name), compare it to sibling tools like 'put--v3-domain_name-templates-template_name' (which updates templates) or 'get--v3-domain_name-templates' (which lists templates), or indicate any constraints. This leaves the agent with no context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post--v3-domain_name-templates-template_name-versionsC

Create a template version

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_nameYes
template_nameYes
templateYesContent of the template.
tagYesTag of the version that is being created. Must be unique to the template.
commentNoComment related to the version that is being created.
activeNoIf this flag is set to yes, this version becomes active
headersNoKey value JSON object of headers to be stored with the template. Where key is the header name and value is the header value. The header names `From`, `Subject`, and `Reply-To` are the only ones currently supported. These headers will be inserted into the MIME at the time we attempt delivery. Headers set at the message level will override headers set on the template. e.g. Setting the From header at the time of sending will override the From header saved on the template. Additionally, headers generated by templates are not reflected on the accepted event as they are not prepended to the message until the message is prepped for delivery. if a From header is not provided either in the message or template, we will default to `postmaster@your-sending-domain.tld`

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. 'Create' implies a mutation, but it doesn't disclose behavioral traits like permissions needed, whether the operation is idempotent, rate limits, or what happens on success/failure. The description is minimal and fails to add meaningful context beyond the basic action, leaving critical behavioral aspects undocumented.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with a single sentence, 'Create a template version', which is front-loaded and wastes no words. While it may be under-specified, it earns full marks for brevity and clarity in structure without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters, mutation operation, no annotations, no output schema), the description is incomplete. It doesn't explain the resource hierarchy (domain_name → template_name → versions), expected outcomes, error conditions, or how it fits with sibling tools. For a creation tool with significant parameters and no structured support, this is inadequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 71% (5 of 7 parameters have descriptions), so the baseline is 3. The description adds no parameter semantics beyond what the schema provides—it doesn't explain relationships between parameters (e.g., how 'tag' uniqueness works) or clarify usage. This meets the minimum viable level given the schema's decent coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Create a template version' states a clear verb ('Create') and resource ('template version'), but it's vague about what a 'template version' entails in this context. It doesn't distinguish from sibling tools like 'post--v3-domain_name-templates' (create template) or 'put--v3-domain_name-templates-template_name' (update template), leaving ambiguity about the specific scope of this creation operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., existing template), exclusions, or compare it to sibling tools like creating a template or updating a version. This lack of context makes it hard for an agent to choose correctly among related operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post--v3-domains-domain_name-messages-storage_keyC

Resend an email

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_nameYes
storage_keyYes
toYesEmail address of the recipient(s). Supports friendly name format. Example: `"Bob <bob@host.com>"`. Use commas to separate multiple recipients. Duplicate addresses are automatically ignored.

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but offers minimal behavioral insight. 'Resend' implies a mutation/write operation, but it doesn't disclose authentication requirements, rate limits, whether the original message is preserved, what happens on failure, or the expected response format. This leaves critical behavioral aspects undocumented.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with just two words, front-loading the core action. There's no wasted language or redundancy, making it efficient for quick scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with 3 parameters, no annotations, no output schema, and low schema description coverage, the description is inadequate. It doesn't explain what 'resend' entails operationally, how parameters interact, what 'storage_key' refers to, or what the tool returns. More context is needed for safe and effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 33% (only 'to' parameter has a description). The tool description adds no parameter information beyond the schema. Since schema coverage is low (<50%), the description fails to compensate for undocumented parameters like 'domain_name' and 'storage_key', leaving their purpose unclear. Baseline 3 applies as schema does some work but gaps remain.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Resend an email' clearly states the action (resend) and resource (email), but it's vague about scope and context. It doesn't specify whether this resends from storage or recreates a message, and doesn't distinguish from sibling tools like 'post--v3-domain_name-messages' which appears to create new messages.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives. The description doesn't mention prerequisites (like needing a stored message), exclusions, or compare it to similar tools such as 'post--v3-domain_name-messages' for sending new emails.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post--v3-domains-domain-webhooksC

Create a domain webhook

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
idYesWebhook type to create. Valid types are `accepted`, `clicked`, `opened`, `unsubscribed`, `delivered`, `permanent_fail`, `temporary_fail`, `complained`
urlYesurl(s) for webhooks to be sent to. Use multiple times to associate more than one url. Maximum of 3 urls for a given webhook type.

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It states 'Create' implying a write operation, but doesn't disclose behavioral traits like authentication requirements, rate limits, side effects (e.g., if it overwrites existing webhooks), or response format. This is inadequate for a mutation tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It's appropriately sized and front-loaded, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a mutation with 3 required parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects, usage context, or output expectations, leaving significant gaps for an agent to understand the tool fully.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67% (2 out of 3 parameters have descriptions), so the schema provides good documentation. The description adds no parameter semantics beyond the schema, not explaining domain format, id enum details, or url usage constraints. Baseline 3 is appropriate as the schema does most of the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Create a domain webhook' clearly states the action (create) and resource (domain webhook), providing basic purpose. However, it lacks specificity about what a 'domain webhook' entails and doesn't differentiate from sibling tools like 'get--v3-domains-domain-webhooks' (which likely lists webhooks) or 'put--v3-domains-domain_name-webhooks-webhook_name' (which likely updates webhooks), making it vague in context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing domain), exclusions, or compare to sibling tools like 'put--v3-domains-domain_name-webhooks-webhook_name' for updates, leaving the agent without usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post--v3-listsC

Create a mailing list

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesA valid email address for the mailing list, e.g. developers@mailgun.net, or Developers <devs@mg.net>
nameNoMailing list name, e.g. Developers
descriptionNoA description
access_levelNoList access level, one of: readonly, members, everyone. Defaults to readonly
reply_preferenceNoSet where replies should go: list or sender. Defaults to list

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. 'Create a mailing list' implies a write/mutation operation, but it doesn't disclose any behavioral traits like authentication requirements, rate limits, error conditions, what happens on success (e.g., returns the created list object), or whether the operation is idempotent. For a creation tool with zero annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero wasted words. It's appropriately sized and front-loaded, immediately conveying the core purpose without unnecessary elaboration. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a creation tool (implying mutation) with no annotations and no output schema, the description is incomplete. It doesn't address what the tool returns, error handling, or behavioral constraints. While the input schema is well-documented, the overall context for safe and effective use is lacking, especially for a write operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with all 5 parameters well-documented in the schema itself (including descriptions, examples, and defaults). The description adds no parameter information beyond what's in the schema, so it doesn't compensate but doesn't need to since the schema is comprehensive. This meets the baseline of 3 for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Create a mailing list' clearly states the action (create) and resource (mailing list), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'post--v3-lists-list_address-members' (which creates list members) or 'put--v3-lists-list_address' (which updates lists), missing an opportunity for sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There are no mentions of prerequisites, when this tool is appropriate versus other list-related tools (like the sibling 'get--v3-lists' for retrieving lists), or any contextual constraints. The agent must infer usage solely from the tool name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post--v3-lists-list_address-membersC

Create a mailing list member

ParametersJSON Schema
NameRequiredDescriptionDefault
list_addressYes
addressNoValid email address specification.
nameNoAn optional member name.
varsNo
subscribedNoSet the member as subscribed or not. Defaults to true.
upsertNoSet to True to update member if present, False to raise error in case of a duplicate member. Defaults to false.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. 'Create' implies a write operation, but the description doesn't mention authentication requirements, rate limits, error conditions, or what happens on success. It doesn't explain that 'upsert' can update existing members or that 'subscribed' defaults to true—these are only in the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero wasted words. It's appropriately sized for a creation tool and front-loads the core purpose immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with 6 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain what happens on success (e.g., returns member ID), error conditions, or behavioral nuances like the upsert capability. The schema covers parameters but the description fails to provide necessary operational context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67% (4 of 6 parameters have descriptions), so the schema does substantial work. The description adds no parameter information beyond the tool name implying 'list_address' and 'member' creation. It doesn't clarify what 'vars' contains or provide context beyond the schema's parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Create a mailing list member' clearly states the verb ('Create') and resource ('mailing list member'), making the purpose immediately understandable. However, it doesn't distinguish this tool from its sibling 'put--v3-lists-list_address-members-member_address' which likely updates existing members, so it misses full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'put--v3-lists-list_address-members-member_address' for updates and 'get--v3-lists-list_address-members' for retrieval, there's no indication of when this creation tool is appropriate versus those operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

put--v3-domain_name-templates-template_nameC

Update template

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_nameYes
template_nameYes
descriptionNoUpdate description of the template being updated.

TDQS

C2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Update template' implies a mutation operation, but it doesn't describe what gets updated (beyond the schema hinting at description), whether this requires specific permissions, if changes are reversible, what happens to existing template data not mentioned, or what the response looks like. For a mutation tool with zero annotation coverage, this is a significant gap in behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at just two words. While this represents under-specification rather than ideal conciseness, it contains no wasted words and is front-loaded with the core action. Every word earns its place, even if more content is needed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a mutation tool with 3 parameters, no annotations, no output schema, and low schema description coverage (33%), the description is completely inadequate. It doesn't explain what the tool actually does beyond the basic verb, provides no behavioral context, offers no parameter guidance, and gives no indication of what happens when the tool is invoked. This leaves critical gaps for an AI agent trying to use this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% (1 of 3 parameters has a description). The description 'Update template' adds no meaningful parameter semantics beyond what the schema already provides. It doesn't explain what 'domain_name' or 'template_name' represent, nor does it clarify the optional 'description' parameter's role in the update operation. With low schema coverage, the description fails to compensate for the documentation gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Update template' is a tautology that essentially restates the tool name. While it indicates an update action on a template resource, it lacks specificity about what aspects of the template are updated or the context. It doesn't distinguish this tool from its sibling 'put--v3-domain_name-templates-template_name-versions-version_nam' which also appears to update template versions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There are multiple sibling tools with similar naming patterns (e.g., 'get--v3-domain_name-templates-template_name', 'post--v3-domain_name-templates', 'put--v3-domain_name-templates-template_name-versions-version_nam'), but the description offers no context about prerequisites, when this specific update operation is appropriate, or what distinguishes it from other template-related operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

put--v3-domain_name-templates-template_name-versions-version_namD

Update a version

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_nameYes
template_nameYes
version_nameYes
templateNoContent of the template.
commentNoComment related to the version that is being created.
activeNoIf this flag is set to yes, this version becomes active
headersNoKey value JSON object of headers to be stored with the template. Where key is the header name and value is the header value. The header names `From`, `Subject`, and `Reply-To` are the only ones currently supported. These headers will be inserted into the MIME at the time we attempt delivery.

TDQS

D1.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but offers minimal behavioral insight. 'Update' implies a mutation operation, but it doesn't disclose whether this requires specific permissions, what happens when 'active' is set (e.g., deactivating other versions), if changes are reversible, or any rate limits/constraints. The description adds almost no value beyond the implied mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise ('Update a version') but under-specified rather than efficiently informative. While it avoids unnecessary words, it lacks the front-loaded specificity needed for clarity. A single sentence could be appropriate if it contained more substance, but here conciseness comes at the cost of usefulness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a mutation tool with 7 parameters, 57% schema coverage, no annotations, and no output schema, the description is severely incomplete. It doesn't address what the tool returns, error conditions, or the significance of updating a version (e.g., impact on email delivery). For this complexity level, the description provides inadequate context for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 57% (4 of 7 parameters have descriptions), but the description adds zero parameter information. It doesn't explain the purpose of domain_name, template_name, or version_name (the required identifiers), nor does it clarify relationships between parameters like 'template' content versus 'headers'. With moderate schema coverage, the description fails to compensate for gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Update a version' is a tautology that restates the tool name (which contains 'put' and 'version_nam'), providing no meaningful elaboration. It doesn't specify what resource is being updated (template version content, metadata, or status) or what 'update' entails in this context, making it only slightly better than a single-word description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides zero guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., existing template/version), differentiate from sibling tools like 'put--v3-domain_name-templates-template_name' or 'post--v3-domain_name-templates-template_name-versions', or indicate appropriate contexts for version updates versus creation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

put--v3-domains-domain_name-webhooks-webhook_nameC

Update domain webhook

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_nameYes
webhook_nameYes
urlYesNew url(s) to associate to webhook. Use multiple times to associate more than one url. Maximum of 3 urls for a given type.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Update' implies a mutation operation, but the description doesn't specify required permissions, whether changes are reversible, error conditions, or response format. It mentions updating a webhook but gives no context about what happens to existing settings or typical outcomes. For a mutation tool with zero annotation coverage, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at just three words, with no wasted language. It's front-loaded with the core action ('Update') and resource ('domain webhook'), making it easy to parse. Every word earns its place by conveying the essential purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a mutation tool with no annotations, no output schema, and incomplete parameter documentation (only 33% schema coverage), the description is inadequate. It doesn't explain what 'updating' entails beyond the name, provide usage context, or describe behavioral aspects like side effects or authentication needs. For a tool that modifies webhooks, this leaves significant gaps for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description doesn't explicitly mention any parameters, but with only 3 parameters total and 33% schema description coverage (only the 'url' parameter has a description), the description doesn't add value beyond the schema. However, since there are only 3 parameters and the schema at least documents 'url' with details about multiple URLs and limits, the baseline is higher. The description's brevity doesn't compensate for the low schema coverage, but the small parameter count keeps it from being lower.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Update domain webhook' clearly states the verb ('Update') and resource ('domain webhook'), providing a basic understanding of the tool's function. However, it lacks specificity about what aspects of the webhook are updated and doesn't differentiate from sibling tools like 'post--v3-domains-domain-webhooks' (which likely creates webhooks) or 'get--v3-domains-domain_name-webhooks-webhook_name' (which likely retrieves webhook details).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing webhook), exclusions, or compare it to sibling tools like the POST version for creation or GET version for retrieval. The agent must infer usage from the tool name and context alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

put--v3-domains-name-tracking-clickC

Update click tracking settings

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
activeNoSet param to `htmlonly`, `true`, or `false`. Omit this param to make no change to the active status. Click tracking is consider as active if it's in the 'htmlonly' or 'true' state

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. 'Update' implies a mutation operation, but it doesn't disclose behavioral traits like required permissions, whether changes are reversible, rate limits, or what happens on success/failure. The description is minimal and lacks critical context for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It's front-loaded and appropriately sized for the tool's apparent complexity, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a mutation tool with no annotations, 50% schema coverage, and no output schema, the description is incomplete. It doesn't explain the resource context (e.g., domain-specific), behavioral implications, or provide enough guidance for safe and correct usage. More detail is needed to compensate for the lack of structured data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50% (only 'active' has a description). The description 'Update click tracking settings' adds no parameter-specific information beyond what the schema provides. It implies parameters relate to click tracking but doesn't explain the 'name' parameter or add meaning. Baseline 3 is appropriate as the schema covers half the parameters adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Update click tracking settings' clearly states the action (update) and target (click tracking settings), which is better than a tautology. However, it doesn't specify what resource or domain this applies to (implied by the name but not explicit), and doesn't distinguish it from sibling tools like 'put--v3-domains-name-tracking-open' or 'put--v3-domains-name-tracking-unsubscribe' that likely update other tracking settings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites, when it's appropriate, or refer to related tools for different tracking types (e.g., open or unsubscribe tracking from siblings). Usage is implied by the name but not explained.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

put--v3-domains-name-tracking-openC

Update open tracking settings

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
activeNoSet this param to true or false to toggle open tracking active status. Omit this param to keep current settings.
place_at_the_topNoSetting this param to true will place the open tracking pixel at the top of the HTML body when inserted into the email mime. Omit this param to keep current setting.

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'Update', implying a mutation, but doesn't specify required permissions, side effects, or response format. The description adds minimal context beyond the action, failing to compensate for the absence of annotations, which is a significant gap for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It's front-loaded with the core action and target, making it easy to parse quickly. Every word earns its place, achieving optimal conciseness for the given content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (mutation with 3 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't address behavioral aspects like permissions or side effects, and it leaves the 'name' parameter unexplained. For a mutation tool in this context, more detail is needed to be adequately helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67% (2 out of 3 parameters have descriptions), and the description adds no additional parameter information. It doesn't explain the 'name' parameter or provide context beyond what the schema already covers. Since schema coverage is moderate, the baseline score of 3 is appropriate, as the description doesn't compensate for the undocumented 'name' parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Update open tracking settings' clearly states the action (update) and target (open tracking settings), but it's vague about what 'open tracking' entails and doesn't differentiate from sibling tools like 'put--v3-domains-name-tracking-click' or 'put--v3-domains-name-tracking-unsubscribe'. It provides a basic purpose but lacks specificity about the resource scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites, context (e.g., domain-specific), or exclusions, leaving the agent to infer usage from the tool name and schema alone. This lack of explicit guidance reduces effectiveness in tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

put--v3-domains-name-tracking-unsubscribeC

Update unsubscribe tracking settings

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
activeNoThis param will toggle the active status of unsubscribe tracking on the domain.
html_footerNoUpdates the html footer for the unsubscribe link inserted into the email html part of the mime.
text_footerNoUpdates the text footer for the unsubscribe link inserted into the email plain part of the mime.

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It states 'Update' implying a mutation, but doesn't disclose behavioral traits like required permissions, whether changes are reversible, rate limits, or what happens to existing settings. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste—it directly states the tool's action and target. It's appropriately sized and front-loaded, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a mutation tool with no annotations, no output schema, and incomplete parameter guidance (the description adds no context beyond the basic purpose), the description is inadequate. It should cover more about behavior, usage, and implications to be complete for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75% (3 out of 4 parameters have descriptions), so the schema does most of the work. The description doesn't add any parameter-specific details beyond what's in the schema, such as explaining the 'name' parameter's role or providing examples. Baseline 3 is appropriate when schema coverage is high but the description adds no extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Update unsubscribe tracking settings' clearly indicates a mutation operation ('Update') on a specific resource ('unsubscribe tracking settings'), which is better than a tautology. However, it doesn't distinguish this tool from sibling tools like 'put--v3-domains-name-tracking-click' or 'put--v3-domains-name-tracking-open' that also update tracking settings for different aspects, leaving the scope somewhat vague.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, prerequisites, or exclusions. Given the sibling tools include other tracking updates (click, open) and domain-related operations, the lack of differentiation means the agent must infer usage from the name alone, which is insufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

put--v3-lists-list_addressC

Update a mailing list

ParametersJSON Schema
NameRequiredDescriptionDefault
list_addressYes
addressNoThe new mailing list address.
descriptionNo
nameNo
access_levelNoOne of: readonly, members, everyone. Defaults to readonly.
reply_referenceNoSet where replies should go. Can be list or sender. Defaults to list.
list-idNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. 'Update a mailing list' implies a mutation operation but doesn't disclose behavioral traits like required permissions, whether it's idempotent, what happens on partial updates, or error handling. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It's appropriately sized and front-loaded, making it easy to parse. Every word earns its place by conveying the core action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters, mutation operation) and lack of annotations or output schema, the description is incomplete. It doesn't address behavioral aspects, parameter usage, or return values, leaving significant gaps for the agent to infer. For a tool with this level of responsibility, more context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 43% (3 out of 7 parameters have descriptions), which is low. The description adds no parameter information beyond the schema—it doesn't explain what 'list_address' identifies, how updates are applied, or the semantics of fields like 'description' or 'name'. Since the schema partially documents parameters, the baseline is 3, but the description doesn't compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Update a mailing list' clearly states the action (update) and resource (mailing list), which is adequate. However, it doesn't differentiate this tool from sibling PUT tools like put--v3-lists-list_address-members-member_address or put--v3-domain_name-templates-template_name, which also update resources. The purpose is clear but lacks sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing list), when not to use it, or compare it to related tools like post--v3-lists (create) or get--v3-lists-list_address (read). Without such context, the agent must infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

put--v3-lists-list_address-members-member_addressC

Update a mailing list member

ParametersJSON Schema
NameRequiredDescriptionDefault
list_addressYes
member_addressYes
addressNoA valid email address specification.
nameNoAn optional member name.
varsNo
subscribedNoSet the member to subscribed or not. Defaults to True.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. 'Update' implies a mutation operation, but the description doesn't specify what permissions are required, whether the update is partial or complete, what happens to unspecified fields, or what the response looks like. No rate limits, error conditions, or side effects are mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a tool with this level of complexity and gets straight to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with 6 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain what 'update' entails operationally, doesn't clarify parameter relationships (e.g., that member_address identifies which member to update), and provides no information about return values or error handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50% (3 of 6 parameters have descriptions). The description adds no parameter information beyond what's in the schema. The baseline is 3 because the schema provides reasonable coverage for half the parameters, but the description doesn't compensate for the undocumented parameters (list_address, member_address, vars).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Update' and resource 'mailing list member', making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'put--v3-lists-list_address' or 'post--v3-lists-list_address-members', which appear to be related list operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives. The description doesn't mention prerequisites, when this update operation is appropriate versus creating new members, or how it relates to sibling tools like 'get--v3-lists-list_address-members-member_address' (likely for retrieving members).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

put--v3-routes-idC

Update a route

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoUnique identifier of the route
priorityNoSmaller number indicates higher priority. Higher priority routes are handled first.
descriptionNoAn arbitrary string.
expressionNoThe filtering rule.
actionNoThis action is executed when the expression evaluates to True. You can pass multiple parameters.

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. 'Update a route' implies a mutation operation, but it doesn't specify required permissions, whether changes are reversible, error handling, or response format. This is inadequate for a mutation tool with zero annotation coverage, as critical behavioral traits are missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero wasted words. It's appropriately sized and front-loaded, making it easy to parse quickly without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a mutation tool with no annotations and no output schema, the description is incomplete. It lacks information on behavioral aspects (e.g., side effects, error cases) and return values, which are crucial for an agent to use it correctly. The high schema coverage helps with inputs, but overall context is insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, meaning all parameters are documented in the schema itself. The description adds no additional parameter semantics beyond the schema's details (e.g., 'id' for route identifier, 'priority' for ordering). This meets the baseline of 3, as the schema does the heavy lifting, but the description doesn't enhance understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Update a route' clearly states the verb ('update') and resource ('route'), making the basic purpose understandable. However, it doesn't specify what aspects of a route can be updated or distinguish this from other route-related tools like 'get--v3-routes' or 'get--v3-routes-id', leaving it somewhat vague compared to siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing route ID), exclusions, or comparisons to sibling tools like 'get--v3-routes' (list routes) or 'post--v3-routes' (create route), leaving the agent with no usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

put--v4-domains-name-verifyD

Verify Domain

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

D1.5/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. 'Verify Domain' implies a read-only check, but it doesn't specify whether this is a simple status check, a configuration validation, or a more complex verification process. There's no information about permissions required, rate limits, or what happens during verification.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While technically concise with just two words, this is under-specification rather than effective conciseness. The description fails to provide any meaningful information that would help an agent understand or use the tool properly. Every word should earn its place, but here the words don't earn their place by adding value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations, no output schema, and 0% parameter documentation, the description is completely inadequate. It doesn't explain what verification means, what the tool actually does, what it returns, or how it differs from other domain-related tools. The context demands much more explanation than provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage for the single 'name' parameter, the description provides no compensation. It doesn't explain what format the domain name should be in, whether it needs to be a fully qualified domain, or any constraints on the input. The description adds zero semantic value beyond what's already in the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Verify Domain' is essentially a tautology that restates the tool name, providing no additional specificity about what verification entails. It doesn't specify what resource is being verified (domain ownership? configuration? deliverability?) or distinguish this tool from sibling tools that also operate on domains.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides absolutely no guidance about when to use this tool versus alternatives. With multiple sibling tools operating on domains (get--v4-domains, get--v4-domains-name, various domain statistics tools), there's no indication of when domain verification is needed versus other domain operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

C2.6/5.0
Disambiguation5/5

Every tool has a clearly distinct purpose based on specific resources and actions, with no ambiguity. For example, tools differentiate between getting bounces, complaints, templates, stats, IPs, lists, and routes, each with precise paths and operations.

Naming Consistency5/5

All tools follow a consistent verb-path naming pattern (e.g., get--v3-domain_name-bounces, post--v3-domain_name-messages, put--v3-domain_name-templates-template_name). The structure is uniform across all 70 tools, using HTTP method prefixes and versioned API paths.

Tool Count2/5

With 70 tools, the count is excessive for an MCP server, making it heavy and potentially overwhelming for agents. This suggests poor scoping, as many tools could be consolidated or omitted for a more manageable interface.

Completeness5/5

The tool set provides comprehensive coverage for the Mailgun domain, including CRUD operations for emails, templates, domains, IPs, lists, routes, and analytics. It supports full lifecycle management with no apparent gaps in core functionalities.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    A Model Context Protocol server that provides a seamless email management interface through Claude, allowing users to search, read, and send emails directly through natural language conversations.
    4
    114
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI assistants like Claude to interact with Gmail through natural language, providing comprehensive email management capabilities including sending, reading, organizing, searching, and managing drafts and labels.
    21
    GPL 3.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables Claude AI to interact with Gmail, supporting email sending, reading, searching, labeling, draft management, and batch operations through natural language commands.
    2
    MIT
  • A
    license
    C
    quality
    B
    maintenance
    A Model Context Protocol server that enables AI models to send emails via simple tool calls, supporting both plain text and HTML formats with JWT authentication.
    1
    24
    13
    ISC

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mailgun/mailgun-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server