Skip to main content
Glama
Pcummings

sparkpost-mcp

by Pcummings

sparkpost-mcp

MCP server exposing the SparkPost (EU) email API as 20 tools — account, templates, transactional sends, suppression, sending domains, webhooks, subaccounts, message events, deliverability metrics, and recipient lists.

Published on npm as @pcummings/sparkpost-mcp.

Install into an AI agent

You need a SPARKPOST_API_KEY (SparkPost EU dashboard → API Keys). For the US region, also set SPARKPOST_API_BASE=https://api.sparkpost.com/api/v1.

The commands below fetch the server from npm via npx -y @pcummings/sparkpost-mcp. To run from a local clone instead, replace npx -y @pcummings/sparkpost-mcp with npx tsx /absolute/path/to/index.ts.

Claude Code

claude mcp add sparkpost -e SPARKPOST_API_KEY=your-key -- npx -y @pcummings/sparkpost-mcp

Add --scope user to make it available in every project.

OpenAI Codex

codex mcp add sparkpost --env SPARKPOST_API_KEY=your-key -- npx -y @pcummings/sparkpost-mcp

Gemini CLI

gemini mcp add -e SPARKPOST_API_KEY=your-key sparkpost npx -y @pcummings/sparkpost-mcp

US region — append the base-URL env to any command above (-e for Claude/Gemini, --env for Codex):

SPARKPOST_API_BASE=https://api.sparkpost.com/api/v1

Any other MCP client (Claude Desktop, Cursor, Windsurf, VS Code, Cline, Zed …) — add this to the client's MCP config:

{
  "mcpServers": {
    "sparkpost": {
      "command": "npx",
      "args": ["-y", "@pcummings/sparkpost-mcp"],
      "env": { "SPARKPOST_API_KEY": "your-key" }
    }
  }
}

For a local clone, use "args": ["tsx", "/absolute/path/to/index.ts"].

Related MCP server: SendLayer MCP Server

Run from source

npm install
export SPARKPOST_API_KEY=your-key   # required; server exits if missing
export SPARKPOST_API_BASE=...        # optional; defaults to EU. US: https://api.sparkpost.com/api/v1
npm start

Tools

Tool

Description

get_account

Get SparkPost EU account info and usage

list_templates

List all email templates

get_template

Get a specific template by ID

create_template

Create a new email template

update_template

Update an existing template

send_email

Send a test/transactional email

check_suppression

Check if an address is suppressed

list_sending_domains

List all verified sending domains

list_webhooks

List all webhooks

create_webhook

Create a webhook (name, target URL, events)

delete_webhook

Delete a single webhook by id

list_subaccounts

List all subaccounts

create_subaccount

Create a subaccount with an API key (name, key_label, key_grants)

search_message_events

Search message events (one page; cursor + per_page for paging)

get_deliverability_metrics

Get deliverability metrics (from + metrics required; group_by selects a breakdown dimension)

list_recipient_lists

List all recipient lists

get_recipient_list

Get a recipient list by id (optionally with recipients)

create_recipient_list

Create a recipient list (recipients required; id/name auto-generated if omitted)

add_suppression

Add or update a suppression entry for one email

remove_suppression

Remove the suppression entry for one email

Usage examples

Send an email:

Send a transactional email to alice@example.com from noreply@yourdomain.com with subject "Hello" and body "Hi Alice"

Create a template:

Create an email template with id "welcome", name "Welcome Email", subject "Welcome to {{company}}!", html "Hi {{name}}", from noreply@yourdomain.com

Search recent bounces:

Search message events for bounce events in the last 24 hours for recipient domain example.com

Dev

npm run typecheck   # tsc --noEmit
npm test            # node:test suite (44 tests)

Available Tools

20 tools
add_suppressionC

Add or update a suppression entry for one email

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNonon_transactional
emailYes
descriptionNo

TDQS

C2.9/5.0
Behavior2/5

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

Without annotations, the description carries full responsibility for behavioral disclosure. It hints at an upsert behavior ('Add or update') but does not explain key traits such as whether the operation is idempotent, what happens on duplicate emails, required authentication, or rate limits. The description is too sparse for safe agent 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 a single, front-loaded sentence with no unnecessary words. It efficiently conveys the core action and resource, earning 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 the tool's moderate complexity (3 parameters, upsert behavior) and lack of output schema or annotations, the description is inadequate. It does not explain parameter roles, return values, or side effects, leaving the agent without sufficient information for reliable 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 schema has 3 parameters with 0% description coverage, meaning the parameter names, types, and enums are not explained in the description. The description mentions no parameters at all, failing to compensate for the lack of schema descriptions. Without guidance on what 'type' or 'description' mean, the agent cannot use the tool correctly.

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

Purpose5/5

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

The description clearly states the verb 'Add or update' and the resource 'suppression entry for one email'. It effectively distinguishes from sibling tools like check_suppression (checking) and remove_suppression (removing), making the tool's purpose unambiguous.

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. For instance, it does not explain that this tool is for creating or updating suppressions, while check_suppression is for verification and remove_suppression for deletion. The description lacks context for appropriate tool selection.

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

check_suppressionC

Check if an address is suppressed

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It does not disclose behavioral traits such as read-only nature, side effects, rate limits, or prerequisites. Minimal information beyond the action.

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?

Description is a single short sentence, which is concise. However, it lacks structure and additional details that could fit in the same space. It is front-loaded but insufficient 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 low complexity (1 param, no output schema), the description is incomplete. It does not mention return value (e.g., boolean), implications of suppression, or other context 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 coverage is 0%, meaning description adds no meaning beyond the field name 'email'. While the field is self-explanatory, the description fails to specify format constraints or purpose beyond the name.

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?

Description clearly states verb (check) and resource (address suppression). It distinguishes from siblings like add_suppression and remove_suppression, but does not elaborate on what 'suppressed' means.

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 (e.g., add_suppression, remove_suppression). Context is implied but not explicit, 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.

create_recipient_listB

Create a recipient list (recipients required; id/name auto-generated if omitted)

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
nameNo
recipientsYes
descriptionNo

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries full behavioral disclosure burden. It mentions auto-generation of id/name if omitted, but does not discuss side effects (e.g., whether duplicate ids cause errors), auth requirements, rate limits, or the fact that creation is a write 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 sentence with a parenthetical note, front-loading the key action. Every word is functional with no redundancy, making it very concise.

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 absence of an output schema and the moderate complexity (4 parameters), the description should explain return values and behavior when id is provided (e.g., does it overwrite or error?). It also fails to clarify the recipients email format requirement, which is only in the schema pattern. Overall incomplete.

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 0%, so description must compensate. It notes that recipients are required and id/name are auto-generated if omitted, adding meaning beyond schema structure. However, the description parameter is not mentioned, and no details about id/name formats or constraints are provided.

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 'create' and the resource 'recipient list', distinguishing it from sibling tools like get_recipient_list and list_recipient_lists. However, it does not explain the purpose of a recipient list (e.g., for sending campaigns), which would add context.

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

Usage Guidelines3/5

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

The description implies usage for creating a new list and notes that recipients are required, but provides no explicit guidance on when to use this tool versus alternatives (e.g., updating an existing list, which has no dedicated tool). No when-not-to-use information is given.

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

create_subaccountC

Create a subaccount with an API key (name, key_label, key_grants)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
key_labelYes
key_grantsYes

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 the full burden of disclosing behavioral traits. It only states the creation action without mentioning side effects, authentication needs, idempotency, or error handling. The description adds minimal behavioral insight 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.

Conciseness4/5

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

The description is a single concise sentence with no extraneous information. It is front-loaded with the action. However, the brevity sacrifices completeness in other dimensions, earning a slight deduction.

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 3 required parameters, no output schema, and no annotations, the description is insufficient. It lacks information about return values, side effects, error conditions, and whether creation is idempotent. An agent would lack critical context 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?

The description enumerates the three parameter names but adds no semantic meaning or constraints beyond what the input schema provides. Since schema description coverage is 0%, the description should compensate, but it fails to explain the purpose or format of each parameter (e.g., name rules, key_label usage, key_grants allowed values are already in schema).

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

Purpose5/5

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

The description clearly states the action ('Create a subaccount with an API key') and lists the required parameters (name, key_label, key_grants). It effectively distinguishes this tool from sibling tools like list_subaccounts or create_webhook, as it specifies creating a subaccount with an API key.

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 does not mention prerequisites, conditions, or exclusions, such as when to use list_subaccounts instead. The lack of usage context makes it hard for an agent to decide when this tool is appropriate.

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

create_templateC

Create a new email template

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTemplate ID/slug
htmlYes
nameYes
textNo
subjectYes
from_nameNo
from_emailYes

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 must disclose behavioral traits. It only states the action, omitting critical details such as idempotency, overwrite behavior, required permissions, error states, or response format.

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 very concise (5 words), which helps readability, but it sacrifices necessary detail. It could be more informative without losing conciseness.

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 7 parameters, 5 required, and no output schema, the description is insufficient. It does not explain parameter semantics, return values, or side effects, making the tool hard to use correctly without external documentation.

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 low (14%), and the description adds no parameter information. Even the schema only describes 'id' as 'Template ID/slug'. The description does not compensate for the lack of parameter meaning in the schema.

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

Purpose5/5

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

The description 'Create a new email template' clearly states the action (create) and resource (email template), distinguishing it from siblings like get_template (read) and update_template (modify).

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 update_template or import tools. No prerequisites, context, or exclusionary conditions are mentioned.

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

create_webhookC

Create a webhook (name, target URL, events)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
eventsYes
targetYes
auth_typeNonone

TDQS

C2.4/5.0
Behavior2/5

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

No annotations exist, so the description must disclose behavioral traits. It only states 'Create' implying mutation, but fails to mention any side effects, idempotency, rate limits, or confirmation of success. The description is insufficient for 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 very short and front-loaded with key info. However, it sacrifices necessary detail; it's concise but not optimally structured for agent 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 lack of output schema and annotations, the description fails to provide complete context. It doesn't mention what the tool returns (e.g., webhook ID), error handling, or confirmation. This is severely incomplete.

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 description adds no meaning beyond listing parameter names in parentheses. With 0% schema description coverage, the agent gets no context on the events enum, target format, or optional auth_type. This is inadequate.

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 states the verb 'Create' and resource 'webhook' along with key parameters (name, target URL, events). This clearly identifies the tool's function but doesn't differentiate it from sibling tools like delete_webhook or list_webhooks.

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, 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.

delete_webhookA

Delete a single webhook by id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesWebhook UUID

TDQS

A3.7/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only states 'Delete', which implies destructive behavior, but lacks details on irreversibility, prerequisites (e.g., webhook must exist), or side effects. Minimal 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?

Single sentence, front-loaded with key action and parameter. No redundant or unnecessary words. Efficient and clear.

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 simple delete operation with one parameter, the description is minimally adequate. However, no output schema exists and annotations are absent, missing information on return value or confirmation. Could be improved with a note about successful deletion response.

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 covers 100% of parameters with description 'Webhook UUID'. The description's phrase 'by id' aligns with the schema but adds no additional meaning. Baseline score applied as schema already documents the parameter sufficiently.

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

Purpose5/5

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

Description clearly states the action (delete), resource (webhook), and identifier (by id). It is specific and distinct from sibling tools like create_webhook and list_webhooks.

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

Usage Guidelines4/5

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

While no explicit when-to-use or alternatives are given, the purpose is straightforward: delete a single webhook. The sibling set includes only one delete webhook tool, so usage context is clear without additional guidance.

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

get_accountA

Get SparkPost EU account info and usage

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description correctly implies a read-only operation ('Get'), but provides no details on potential rate limits or behavioral constraints. Adequate for a simple retrieval.

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?

A single, efficient sentence with no extraneous information.

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

Completeness4/5

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

For a zero-parameter getter, the description adequately conveys the tool's purpose and scope, though adding expected output fields would be 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?

No parameters exist, and schema coverage is 100%. Description adds no parameter info, but the absence of parameters makes this irrelevant.

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

Purpose5/5

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

Description clearly states verb 'Get', resource 'account', and scope 'EU', distinguishing it from siblings like get_deliverability_metrics or get_recipient_list.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives, but the context of a simple getter with no parameters makes its usage self-evident.

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

get_deliverability_metricsC

Get deliverability metrics (from + metrics required; group_by selects a breakdown dimension)

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoEnd of time range (ISO-8601)
fromYesStart of time range (ISO-8601, required)
limitNo
metricsYesMetrics to retrieve (e.g. count_delivered, count_bounce, count_accepted, open_rate, click_rate)
group_byNoBreakdown dimension (becomes a URL path suffix)
timezoneNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose whether the tool is read-only, requires authentication, has rate limits, or any side effects. Although 'get' implies read-only, this is not explicit.

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 sentence that conveys the core purpose and key parameters without excess. It is concise but could be structured into a brief list for better readability.

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?

With no output schema and only 67% parameter description coverage, the description fails to explain return values, pagination, error handling, or behavior around metrics combinations. It is insufficient for a tool with six parameters.

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 description adds context that from and metrics are required and that group_by selects a breakdown dimension. However, it does not explain parameters like to, limit, or timezone, and the schema already documents group_by's enum values and meaning. The added value is marginal.

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 tool gets deliverability metrics and highlights required parameters (from, metrics) and the optional group_by dimension. It distinguishes from sibling tools, which are about suppressions, templates, sending domains, etc., so there is no confusion with other metric tools.

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 like search_message_events or list_sending_domains. It does not mention prerequisites, when not to use, or how to choose breakdown dimensions.

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

get_recipient_listB

Get a recipient list by id (optionally with recipients)

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
show_recipientsNo

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description must disclose behavioral traits. Only states 'get', which implies read-only, but does not explicitly confirm safety, idempotency, or required permissions.

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?

Single sentence, 10 words, front-loaded with verb and resource. No wasted words, efficiently conveys core 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?

No output schema and no description of return values. For a retrieval tool, the agent needs to know what fields are returned. Description omits this essential 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 0%. Description mentions 'optionally with recipients' hinting at 'show_recipients', but does not explain 'id' format or the exact effect of 'show_recipients'. Insufficient for low schema coverage.

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

Purpose5/5

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

Description clearly states verb 'Get', resource 'recipient list', and scope 'by id (optionally with recipients)'. Distinguishes from sibling 'list_recipient_lists' which retrieves all lists.

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

Usage Guidelines3/5

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

Implies usage when a specific list ID is known, but no explicit guidance on when to use vs alternatives like 'list_recipient_lists' or when not to use.

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

get_templateB

Get a specific template by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
draftNo
template_idYes

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It indicates a read-only operation ('Get') but lacks details on authentication needs, rate limits, or any side effects. The transparency is adequate but minimal.

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 very concise with one sentence. While it is efficiently short, it could include more detail without becoming verbose.

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 parameters (one required), no output schema, and no annotations, the description is incomplete. It does not explain what the template contains or the purpose of the 'draft' parameter.

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%, and the description does not explain the parameters. 'template_id' and 'draft' are not described, so the description adds no meaning beyond the schema, failing to compensate for the lack of schema descriptions.

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

Purpose5/5

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

The description 'Get a specific template by ID' clearly states the verb 'Get', the resource 'template', and the method 'by ID'. It effectively distinguishes from sibling tools like 'list_templates'.

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. There is no mention of when not to use it or which sibling tools might be better suited for different scenarios.

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

list_recipient_listsB

List all recipient lists

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, the description carries full burden but only states it lists all recipient lists. It does not disclose permissions, return format, pagination, or any side effects, leaving significant 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?

Extremely concise, one sentence with no unnecessary words. It is front-loaded and efficient.

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 simple list tool with no params and no output schema, the description is minimal but functional. It lacks details on pagination, result count, or ordering, which might be needed for practical use.

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?

There are no parameters, so the description does not need to explain them. Schema coverage is 100% (trivially). The description adds nothing about parameters, but baseline is 4 for zero-param tools.

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 it lists all recipient lists, which matches the tool name and distinguishes it from siblings like get_recipient_list (single) and create_recipient_list. However, it could provide a bit more context on what a recipient list is.

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 get_recipient_list for a specific list. The description implies listing all but doesn't exclude other use cases or mention prerequisites.

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

list_sending_domainsA

List all verified sending domains

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

The description implies a read operation but does not disclose any behavioral traits such as authentication requirements, rate limits, or whether the list includes unverified domains. Since no annotations are present, the description carries the full burden and falls short.

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, focused sentence with no wasted words. It is appropriately concise and front-loaded.

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 simple list tool with no parameters and no output schema, the description is minimally adequate. However, it lacks details about what information is returned per domain and any pagination, which could be useful 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?

There are no parameters; the schema is fully covered. The description adds no extra meaning beyond what the schema provides, but with zero parameters, the baseline is set to 4.

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

Purpose5/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 the resource 'verified sending domains'. It is specific and distinct from sibling tools which deal with suppressions, templates, subaccounts, etc.

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 or any prerequisites. It simply states the action without context.

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

list_subaccountsB

List all subaccounts

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavior. It only says 'list', implying a read-only operation, but does not mention if results are paginated, filtered, or if there are any side effects. Minimal behavioral information.

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 (three words), which is good for conciseness, but it omits important context such as output details or usage context. More sentences could improve completeness without harming conciseness.

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 is a simple list operation with no parameters or output schema, the description is minimally complete. However, it lacks explanation of what a subaccount is or any limitations, which could aid an 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 tool has no parameters, so the schema coverage is 100%. Per the calibration baseline, a score of 4 is appropriate since there are no params to describe. The description adds no additional parameter information, but none is needed.

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 all subaccounts' clearly states the action (list) and resource (subaccounts). It is specific and matches the tool name, but does not differentiate from sibling list tools beyond the resource name.

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 usage guidance is provided. There is no information on when to use this tool versus alternatives like list_recipient_lists or list_templates. The description lacks context for appropriate use.

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

list_templatesA

List all email templates

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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

No annotations provided; description only states action without disclosing behavioral traits such as pagination, limits, ordering, or completeness of the list.

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?

One sentence with no wasted words, perfectly concise and front-loaded.

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

Completeness4/5

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

For a simple listing tool with no parameters, the description is mostly sufficient, though it could mention ordering or result limits.

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 has 0 parameters with 100% coverage; description adds meaning by clarifying the resource type, but baseline is 3 due to high schema coverage.

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

Purpose5/5

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

Description uses specific verb 'list' and resource 'email templates', clearly distinguishing from siblings like get_template, create_template, and list_recipient_lists.

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

Usage Guidelines3/5

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

No explicit guidance on when to use or alternatives, but the purpose is clear and siblings are distinct, implying usage without stating exclusions.

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

list_webhooksC

List all webhooks

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 the full burden. It only states 'list', implying read-only, but offers no details about pagination, ordering, or whether the tool is safe. More transparency is expected.

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 very concise (3 words) but lacks any additional structure or context. It is not verbose, but it could benefit from a slightly more descriptive sentence.

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 is a simple listing operation, the description is still incomplete. It does not explain the output format, potential limitations, or any side effects. With no output schema, the description should provide more context.

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?

There are no parameters, and schema description coverage is 100%. Per guidelines, 0 parameters grants a baseline of 4. The description does not need to add parameter information.

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 all webhooks' clearly states the action and resource. It distinguishes from siblings like 'create_webhook' and 'delete_webhook' by indicating a read 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?

No guidance on when to use this tool versus alternatives. There is no mention of context 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.

remove_suppressionC

Remove the suppression entry for one email

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavior. It only states 'Remove' without details on side effects, reversibility, authorization needs, or error conditions.

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 a single concise sentence, but it is too brief to convey necessary information. Brevity comes at the cost of completeness.

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 one parameter and no output schema, the description omits return behavior, error handling, and usage context, making it incomplete.

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 coverage is 0%, but the description adds no meaning beyond what the schema already provides via type, format, and pattern. It merely restates 'one email' without clarifying expected values or behavior.

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

Purpose5/5

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

The description uses a specific verb 'Remove' and resource 'suppression entry' with scope 'for one email', clearly distinguishing it from siblings like 'add_suppression' and 'check_suppression'.

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, nor are there any prerequisites or contextual hints for appropriate usage.

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

search_message_eventsA

Search message events (one page; cursor + per_page for paging)

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoEnd of time range (ISO-8601)
fromNoStart of time range (ISO-8601)
cursorNoPagination cursor from previous response links
eventsNoFilter by event types
per_pageNoResults per page (1–10000)
recipientsNoComma-delimited recipient emails
recipient_domainsNoComma-delimited recipient domains

TDQS

A3.6/5.0
Behavior3/5

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

No annotations exist. The description mentions pagination behavior but omits details on safety (e.g., read-only nature), authorization needs, or rate limits. It is adequate but not thorough.

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 key pagination info. No wasted words, though slightly more structure could be beneficial.

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 7 parameters and no output schema, the description provides minimal behavioral context (pagination). Lacks details on return format, common use cases, or prerequisites, making it only minimally complete.

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%, so the schema already documents all parameters. The description adds no new information about parameters, resulting in baseline score.

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

Purpose5/5

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

The description clearly states the action ('Search') and resource ('message events'), and adds pagination context ('one page; cursor + per_page for paging'). It effectively distinguishes from sibling tools, which are largely different in nature.

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

Usage Guidelines3/5

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

The description implies usage for searching events with pagination but does not provide explicit when-to-use or when-not-to-use guidance, nor alternatives like get_deliverability_metrics.

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

send_emailC

Send a test/transactional email

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesRecipient email
htmlNo
subjectNo
from_emailYes
template_idNoUse stored template instead of inline content
substitution_dataNo

TDQS

C2.1/5.0
Behavior1/5

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

With no annotations and only a one-line description, the tool's behavioral traits (e.g., authentication needs, rate limits, idempotency, error handling) are entirely opaque. The description adds no value beyond stating 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.

Conciseness2/5

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

The description is a single sentence, which is short but not concise—it omits essential information. Brevity without substance is under-specification, not 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 complexity (6 parameters, nested object, no output schema), the description is severely incomplete. It lacks return value info, error conditions, prerequisites, or any operational 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 parameter schema coverage is only 33% (2 of 6 parameters have descriptions). The tool description adds no additional meaning to any parameter. For the undocumented parameters like 'html' and 'substitution_data', the description offers no help.

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 identifies the verb 'send' and the resource 'email'. It distinguishes this tool from siblings like 'create_template' or 'check_suppression'. However, it does not differentiate between 'test' and 'transactional' use cases, which could cause 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?

No guidance is provided on when to use this tool versus alternatives. Sibling tools like 'create_template' or 'get_deliverability_metrics' exist, but the description gives no context for choosing this tool over others.

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

update_templateC

Update an existing template

ParametersJSON Schema
NameRequiredDescriptionDefault
htmlNo
textNo
subjectNo
template_idYes
update_publishedNo

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 disclosing behavioral traits, but it only states the basic action. It does not mention whether the update is partial or full, what happens to excluded fields, the effect of the update_published parameter, or any required permissions.

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 a concise single sentence, but it lacks essential detail about parameters and behavior. It is not verbose, but it is under-informative for a tool with 5 parameters and no annotations.

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 5 parameters, no output schema, and no annotations, the description is insufficient. It does not explain return values, side effects, or how to use parameters like update_published, making it incomplete for an agent to invoke 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?

Schema description coverage is 0%, meaning the description does not explain any of the 5 parameters. The description adds no meaning beyond the schema field names, leaving the agent without guidance on how each parameter affects the update.

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

Purpose5/5

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

The description 'Update an existing template' clearly identifies the action (update) and the resource (template), distinguishing it from sibling tools like create_template, get_template, and list_templates which have different verbs or resource states.

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, no prerequisites, no when-not-to-use conditions. It simply states what it does without contextual usage advice.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 20 tool updatesv1.0.0
    • First observedadd_suppression
    • First observedcheck_suppression
    • First observedcreate_recipient_list
    • First observedcreate_subaccount
    • First observedcreate_template
    • First observedcreate_webhook
    • First observeddelete_webhook
    • First observedget_account
    • First observedget_deliverability_metrics
    • First observedget_recipient_list
    • First observedget_template
    • First observedlist_recipient_lists
    • First observedlist_sending_domains
    • First observedlist_subaccounts
    • First observedlist_templates
    • First observedlist_webhooks
    • First observedremove_suppression
    • First observedsearch_message_events
    • First observedsend_email
    • First observedupdate_template

TDQS

B3.2/5.0
Disambiguation5/5

Each tool targets a distinct resource and action (e.g., suppression, template, webhook). Even similar verbs like 'list' and 'get' are clearly separated by resource and operation.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., create_template, list_webhooks). No mixing of styles or vague verbs.

Tool Count5/5

20 tools cover the broad scope of an email service API (account, suppression, templates, webhooks, subaccounts, etc.) without being excessive. Each tool earns its place.

Completeness3/5

Covers core CRUD for most resources but misses some delete/update operations (e.g., no delete for templates, recipient lists, subaccounts; no update for webhooks). Still functional for common workflows.

Maintenance

ActivityStale
ResponsivenessNo issues

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
    B
    quality
    F
    maintenance
    Provides an interface to manage email marketing, contact lists, dynamic templates, and email analytics via SendGrid's API.
    21
    614
    29
    ISC
  • F
    license
    B
    quality
    Not graded
    maintenance
    Enables sending emails and managing webhooks through the SendLayer API. Supports plain text and HTML emails with attachments, CC/BCC recipients, and webhook event management for email delivery tracking.
    5
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables sending and managing emails via Postmark, including email delivery with templates, template listing, and delivery statistics.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables sending emails (including mass emailing), querying, updating, and canceling delayed emails via the Resend API.
    -

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/Pcummings/sparkpost_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server