Skip to main content
Glama

create_message_alert

Create a 定期依頼 (scheduled request): a cron periodically checks it and reports into a dedicated chat thread. Two modes: (1) watch-only — omit instruction/run_hour; the Gmail query is checked hourly, notifying on new hits (unchanged legacy behavior). (2) AI-driven — set BOTH instruction (what to do, natural language) and run_hour (0-23, the user's local hour); it then runs once a day at that hour as a full chat-agent turn (search/summarize/etc.), reporting the result into the per-request thread. Query conventions: use from: only when the sender is explicit; keep subject/body words as bare keywords (no subject:); append newer_than:1d unless a window is specified.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tzNoIANA timezone for deciding whether run_hour has already passed today. Defaults to Asia/Tokyo.
nameYesDisplay name for the request, e.g. "田中さんからの重要メール".
queryYesGmail-syntax query the request watches.
accountsNoAccount labels to watch. Omit for all accounts.
run_hourNoLocal hour (0-23) to run once a day. Required when instruction is set.
nl_sourceNoThe original natural-language request, if any.
instructionNoWhat the AI should do when it runs (natural language). Requires run_hour when set; omit both for a watch-only rule checked hourly (unchanged legacy behavior).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only supply destructiveHint=false and a title, so the description carries the behavioral load and does so well: it discloses the hourly cron check, the once-daily agent turn, the reporting destination (per-request thread), the unchanged legacy behavior for watch-only, and how tz decides whether run_hour has already passed today.

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 with the core purpose, then modes, then query conventions, and every sentence carries load. It is dense and reads as one long block rather than discrete labeled sections, which costs a little scanability.

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 7-parameter creation tool with no output schema and thin annotations, it covers mode semantics, scheduling behavior, timezone handling, and query syntax. It does not say what is returned (e.g., an alert id) that an agent would need to chain into update_message_alert or delete_message_alert.

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 already 100%, so the baseline is 3, but the description adds real meaning: the coupling rule that instruction requires run_hour, run_hour interpreted as the user's local hour, and Gmail query conventions (from: only for explicit senders, bare subject/body keywords, default newer_than:1d) that the schema does not state.

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 names a specific verb+resource ('Create a 定期依頼 (scheduled request)') and immediately disambiguates by enumerating its two operating modes, which lets an agent distinguish it from the list/update/delete alert siblings without opening the schema. The parenthetical translation resolves the bilingual naming.

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?

Mode selection is explicit and conditional: omit instruction/run_hour for hourly watch-only, set BOTH for the daily AI-driven turn. That is strong when-to-use guidance. It never names the alternative tools (update_message_alert, delete_message_alert) for modifying or removing an existing rule, so it falls short of 5.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources