sparkpost-mcp
This MCP server integrates the SparkPost email API, exposing 20 tools for managing email operations:
Account & Configuration: Retrieve account info/usage statistics and list verified sending domains.
Template Management: List, retrieve, create, and update email templates (draft or published) with HTML/text content and substitution variables.
Email Sending: Send transactional emails inline or via a stored template, with substitution data support.
Suppression Management: Check, add, and remove email addresses from suppression lists (transactional or non-transactional).
Webhooks: List, create, and delete webhooks for specific event types with optional authentication.
Subaccounts: List and create subaccounts with scoped API keys and defined permissions.
Analytics & Events: Search message events (bounces, deliveries, clicks, opens, etc.) with filtering and pagination; retrieve deliverability metrics (delivery rate, bounce rate, open/click rates) with optional breakdown by domain, campaign, template, subaccount, and more.
Recipient Lists: List, retrieve, and create recipient lists for bulk sending.
Provides tools for managing SparkPost email services, including account info, templates, sending emails, suppression lists, sending domains, webhooks, subaccounts, message events, deliverability metrics, and recipient lists.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@sparkpost-mcpSend a transactional email to alice@example.com with subject Hello"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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, replacenpx -y @pcummings/sparkpost-mcpwithnpx tsx /absolute/path/to/index.ts.
Claude Code
claude mcp add sparkpost -e SPARKPOST_API_KEY=your-key -- npx -y @pcummings/sparkpost-mcpAdd --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-mcpGemini CLI
gemini mcp add -e SPARKPOST_API_KEY=your-key sparkpost npx -y @pcummings/sparkpost-mcpUS 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/v1Any 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 startTools
Tool | Description |
| Get SparkPost EU account info and usage |
| List all email templates |
| Get a specific template by ID |
| Create a new email template |
| Update an existing template |
| Send a test/transactional email |
| Check if an address is suppressed |
| List all verified sending domains |
| List all webhooks |
| Create a webhook (name, target URL, events) |
| Delete a single webhook by id |
| List all subaccounts |
| Create a subaccount with an API key (name, key_label, key_grants) |
| Search message events (one page; cursor + per_page for paging) |
| Get deliverability metrics (from + metrics required; group_by selects a breakdown dimension) |
| List all recipient lists |
| Get a recipient list by id (optionally with recipients) |
| Create a recipient list (recipients required; id/name auto-generated if omitted) |
| Add or update a suppression entry for one email |
| 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 toolsadd_suppressionC
Add or update a suppression entry for one email
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | non_transactional | |
| Yes | |||
| description | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| Yes |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No | ||
| recipients | Yes | ||
| description | No |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| key_label | Yes | ||
| key_grants | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Template ID/slug | |
| html | Yes | ||
| name | Yes | ||
| text | No | ||
| subject | Yes | ||
| from_name | No | ||
| from_email | Yes |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| events | Yes | ||
| target | Yes | ||
| auth_type | No | none |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Webhook UUID |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End of time range (ISO-8601) | |
| from | Yes | Start of time range (ISO-8601, required) | |
| limit | No | ||
| metrics | Yes | Metrics to retrieve (e.g. count_delivered, count_bounce, count_accepted, open_rate, click_rate) | |
| group_by | No | Breakdown dimension (becomes a URL path suffix) | |
| timezone | No |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| show_recipients | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| draft | No | ||
| template_id | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| Yes |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End of time range (ISO-8601) | |
| from | No | Start of time range (ISO-8601) | |
| cursor | No | Pagination cursor from previous response links | |
| events | No | Filter by event types | |
| per_page | No | Results per page (1–10000) | |
| recipients | No | Comma-delimited recipient emails | |
| recipient_domains | No | Comma-delimited recipient domains |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient email | |
| html | No | ||
| subject | No | ||
| from_email | Yes | ||
| template_id | No | Use stored template instead of inline content | |
| substitution_data | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| html | No | ||
| text | No | ||
| subject | No | ||
| template_id | Yes | ||
| update_published | No |
TDQS
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.
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.
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.
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.
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.
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.
20 tool updates
v1.0.0- First observed
add_suppression - First observed
check_suppression - First observed
create_recipient_list - First observed
create_subaccount - First observed
create_template - First observed
create_webhook - First observed
delete_webhook - First observed
get_account - First observed
get_deliverability_metrics - First observed
get_recipient_list - First observed
get_template - First observed
list_recipient_lists - First observed
list_sending_domains - First observed
list_subaccounts - First observed
list_templates - First observed
list_webhooks - First observed
remove_suppression - First observed
search_message_events - First observed
send_email - First observed
update_template
TDQS
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.
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.
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.
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
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
Send transactional email over a verified domain — templates, attachments, custom headers.
Send, track, and manage transactional and bulk email delivery
Send email and read templates, marketing contacts, lists, stats, bounces and unsubscribes.
Send transactional email, run campaigns, manage contacts and automations, audit deliverability.
Related MCP Servers
- AlicenseBqualityFmaintenanceProvides an interface to manage email marketing, contact lists, dynamic templates, and email analytics via SendGrid's API.2161429ISC
- FlicenseBqualityNot gradedmaintenanceEnables 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-
- AlicenseNot gradedqualityDmaintenanceEnables sending and managing emails via Postmark, including email delivery with templates, template listing, and delivery statistics.MIT
- FlicenseNot gradedqualityDmaintenanceEnables sending emails (including mass emailing), querying, updating, and canceling delayed emails via the Resend API.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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