Skip to main content
Glama

rails_get_mailers

Read-onlyIdempotent

Retrieves ActionMailer mailer classes with their delivery actions, defaults, layouts, callbacks, templates, previews, interceptors, observers, and Action Mailbox routing so you can find which mailer sends what.

Instructions

Get ActionMailer mailers: every mailer class with its delivery actions, delivery method, own defaults, layout and callbacks, template formats per action and preview class, the queue deliver_later uses, interceptors and observers, and the Action Mailbox mailboxes with the routing that sends inbound mail to each. Use when: adding an email, checking which mailer sends what, or finding the action to preview/test. Filter with mailer:"UserMailer". Omit for all mailers.

Input Schema

NameRequiredDescriptionDefault
limitNoMax mailers to return. Default: 50.
mailerNoShow only this mailer (e.g. "UserMailer"). Default: all mailers.
offsetNoSkip this many mailers for pagination. Default: 0.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv5.39.1

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description's extra content is about what data is returned rather than behavior (no cost, no truncation/pagination caveats, no note that the scan is static analysis). It adds scope context but not much behavioral insight beyond the annotations.

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?

Front-loaded correctly: verb and resource appear in the first clause, then contents, then use cases, then filtering. The opening sentence is long and dense (a dozen comma-separated items), which borders on overload, but each item describes a distinct part of the return payload rather than padding.

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?

With no output schema, the description does the heavy lifting of explaining the returned structure in detail, and it covers when to call and how to filter. The only residual gap is pagination behavior for limit/offset, which is left to the schema field descriptions.

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 all three parameters (limit, mailer, offset) are already documented with defaults and examples. The description restates the mailer filter ("Filter with mailer:\"UserMailer\". Omit for all mailers.") without adding syntax or semantics beyond the schema, so baseline 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?

Specific verb (Get) plus specific resource (ActionMailer mailers), followed by an enumeration of exactly what is included: mailer classes, delivery actions, method, defaults, layout, callbacks, template formats, preview classes, queue, interceptors/observers, and Action Mailbox routing. An agent can distinguish this from siblings like rails_get_controllers or rails_get_callbacks purely from the description.

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?

Explicit usage triggers are given: "Use when: adding an email, checking which mailer sends what, or finding the action to preview/test." It also states how to narrow scope (filter by mailer name, omit for all). It stops short of naming a sibling alternative or a when-not condition, keeping it at a 4.

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