Skip to main content
Glama
mailkite

MailKite

Official

mailkite_set_webhook_events

DestructiveIdempotent

Opt a domain's inbound webhook into email engagement events by passing "all" or specific event types, so the same webhook route receives sent, bounced, complained, opened, and clicked tracking events alongside inbound mail.

Instructions

Opt the domain's inbound webhook into engagement events — one webhook, all events. Pass "all" or a list of email.* tracking types (email.sent / email.bounced / email.complained / email.opened / email.clicked) and MailKite delivers them to the same webhook route that receives the domain's inbound mail; consumers switch on the payload's type (inbound mail is type email.received, engagement events follow the tracking-event schema). Off by default, so existing inbound consumers never see event types they didn't opt into. Events at the inbound webhook are signed with that route's secret (account secret fallback) — the same key inbound deliveries already use. If a dedicated tracking webhook URL is set (setTrackingWebhook), engagement events go there instead. Requires a management session token.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesPath parameter `id`.
eventsYesWhich email.* engagement events the domain's inbound webhook also receives: the literal "all", or a non-empty list of event types. Consumers distinguish deliveries by the payload's `type` (inbound mail is email.received; engagement events follow the tracking-event schema).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.20.0

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint false, idempotentHint true, destructiveHint true), the description adds substantial behavioral context: events are delivered to the same inbound webhook route, consumers switch on payload type, events are signed with the route's secret or account fallback, events are off by default, and a management session token is required. This is rich, transparent disclosure that exceeds what annotations provide.

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 dense and packed with necessary operational details, front-loaded with the main action. While it is longer than a minimal two-sentence form, every clause earns its place by covering delivery location, default behavior, signing, and the tracking webhook alternative. It remains readable and efficient for the depth it offers.

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

Completeness5/5

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

For a two-parameter setter with no output schema, the description is exceptionally complete: it covers authentication, parameter semantics, interaction with an alternative webhook, event naming, payload routing, and default state. An agent has enough to invoke it correctly without needing further context beyond the schema.

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?

Schema coverage is 100% so baseline is 3, but the description adds real value by tying the `id` parameter to 'the domain's inbound webhook' and explaining the `events` parameter behavior ("Pass 'all' or a list of email.* tracking types...') in a practical sense. It goes beyond the schema's minimal 'Path parameter id' and the enum list, providing operational understanding.

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 opens with a specific verb and resource: 'Opt the domain's inbound webhook into engagement events'. It clearly distinguishes from siblings like set_tracking_webhook and delete_webhook_events by explaining this tool configures the existing inbound webhook to also receive tracking events. This leaves no ambiguity about what the tool does.

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?

The description provides clear context for when to use the tool: to opt the inbound webhook into engagement events. It explicitly states the alternative when a dedicated tracking webhook is configured ('If a dedicated tracking webhook URL is set (setTrackingWebhook), engagement events go there instead'), and notes that the option is off by default. It does not explicitly mention the inverse tool for disabling, but the core when-to-use guidance is solid.

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

Install Server

Other Tools