Skip to main content
Glama

Send Email

horizon_send_email

Send transactional emails to registered horizOn users via your SMTP server using preconfigured templates, with optional scheduling up to 30 days ahead.

Instructions

Sends a transactional email to a registered horizOn user using a pre-configured template. The email is sent through the developer's own SMTP server. Optionally schedule delivery for a future time (up to 30 days ahead).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
userIdYeshorizOn user ID of the recipient
languageYesISO 639-1 language code for template rendering (e.g. 'en', 'de')
variablesYesTemplate variable values as key-value pairs (e.g. {"username": "John"})
scheduledAtNoISO 8601 timestamp for scheduled delivery. Omit to send immediately.
templateSlugYesSlug of the email template (e.g. 'welcome', 'reminder')

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.5.4

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and it does provide meaningful behavioral context: transactional scope, template constraint, SMTP routing through the developer's own server, and a 30-day scheduling ceiling. It does not disclose auth requirements, rate limits, or what happens on failure, which keeps it short of a 5.

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?

Three tight sentences front-load the core action and then add the delivery channel and scheduling constraint with no filler. It could be marginally shortened but every clause adds relevant information.

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 mutation tool with no annotations and no output schema, the description covers purpose, mechanism, and scheduling but leaves gaps: it does not say what the tool returns (an email ID?), whether sending is idempotent, or how scheduled sends interact with horizon_cancel_email. It is adequate but not complete for the tool's complexity.

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 five parameters including userId format, ISO 639-1 language, variables map, templateSlug, and scheduledAt. The description adds the 30-day scheduling bound and the template concept, but otherwise the schema does the heavy lifting — the baseline of 3 applies.

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 states a specific verb (Sends), resource (transactional email), recipient constraint (registered horizOn user), and mechanism (pre-configured template via the developer's own SMTP server). This distinguishes it from siblings like horizon_cancel_email and horizon_get_email_status, which are the only other email-related tools.

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?

Usage is implied by 'transactional email ... using a pre-configured template' and the scheduling hint, but there is no explicit when-to-use vs when-not-to-use guidance and no explicit routing to horizon_cancel_email or horizon_get_email_status for follow-up. A reader can infer the context, but nothing is stated outright.

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