Skip to main content
Glama

Create an alert

create_alert

Watch one metric on one MCP and say so when it crosses a line. Checked once a night against the day just gone.

Admin or owner. A rule only fires on a day with at least min_calls calls in scope — two empties out of three calls is 67% and means nothing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
mcpYesThe MCP, by name or id. Names are matched case-insensitively; call list_mcps if unsure.
nameYesWhat a person will recognise in a list, not a restatement of the condition.
metricYesWhat to watch. Call list_alerts first: the catalogue it returns is the only place each metric's unit and sensible direction are stated.
channelsYesWhere it goes. `in_app` and `email` are personal — each person also chooses which they accept, so a notification arrives only where both agree. `slack` and `discord` are the account's connections and deliver once per firing, not once per person; they need connecting in the dashboard first. Only `in_app` actually sends today — the rest are recorded and queued.
min_callsNoThe noise floor: a day with fewer calls than this in scope is skipped rather than judged. Default 20.
thresholdYesIn the metric's own unit, as `list_alerts` reports it: a rate is a fraction, so 0.6 means 60% — not 60. A rate threshold above 1 can never be crossed and the rule would never fire.
tool_nameNoOmit for every tool / every client. Narrowing to both is where the value is: one model can fail on a tool another handles fine, and the server-wide average is what hides it.
comparatorYesWhich side of the threshold trips the rule. Follow the metric's own `direction` — a rule that first-call success went *above* 70% is one nobody wants.
client_nameNoOmit for every tool / every client. Narrowing to both is where the value is: one model can fail on a tool another handles fine, and the server-wide average is what hides it.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
nameYes
mcp_idYes
metricYes
enabledYes
summaryYesThe rule as a sentence, rendered here so the inbox, an email and this tool all read the same words.
channelsYes
min_callsYesThe noise floor. Two empties out of three calls is 67% and means nothing.
thresholdYesIn the metric's own unit: a rate is a fraction, so 0.6 is 60%.
tool_nameYesNull means every tool.
comparatorYes
created_atYes
client_nameYesNull means every client.
fired_countYes
last_fired_atYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

The description adds meaningful behavioral context beyond the readOnly/destructive annotations: the alert is checked nightly against the previous day, requires admin or owner privileges, and only fires on days with enough calls in scope. It also uses the min_calls example to clarify the statistical guardrail, and the channels parameter description discloses that only in_app delivery actually sends today while others are queued. This is transparent about timing, permissions, and side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long, with the core purpose front-loaded in the first sentence. Every sentence earns its place: the first defines the behavior, the second covers permissions and schedule, and the third uses a concrete example to explain the min_calls constraint. There is no fluff or redundancy.

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 tool with 9 parameters, 6 required, annotations, and an output schema, the description plus the rich schema descriptions are complete enough for an agent to invoke it correctly. It covers permissions, the nightly evaluation model, the noise floor, and even directs the agent to list_alerts for metric units and list_mcps for MCP identification. The output schema covers return values, and the behavioral details are sufficiently disclosed.

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 baseline is 3. The main description adds a clarifying example for min_calls ('two empties out of three calls is 67% and means nothing'), which is helpful, but it does not systematically explain every parameter. The heavy lifting is correctly left to the schema, including units, comparator direction, channel behavior, and tool/client narrowing.

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 action: watch one metric on one MCP and alert when it crosses a threshold. This clearly distinguishes create_alert from its siblings like update_alert, delete_alert, and list_alerts. The purpose is immediately understandable and not a tautology of the name.

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?

The description gives useful context such as 'Admin or owner' and the nightly check, and the metric parameter tells the agent to call list_alerts first for unit guidance. However, it never explicitly says when to use create_alert versus update_alert or delete_alert, so the agent must infer that this tool is for creating a new alert rather than modifying or inspecting one.

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