Skip to main content
Glama

Get monitors

monitoring_get_monitors
Read-onlyIdempotent

The workspace's monitors, with their schedule, cost and how many changes are new.

Use when: "what am I monitoring", "which monitors do we have", before changing or deleting one, or to find a monitor_id. Not for: the changes themselves, use monitoring_get_changes. A monitor's numbers over time, use monitoring_get_history. Returns: List. rows[]: monitor_id, name, description (what it is for, as its maker wrote it), preset, status (active or paused), paused_reason (user, credits or spend_cap), cadence (hourly, daily or weekly), fields, est_credits_check, est_credits_month, credits_this_month, new_changes (since the workspace last opened it), headline (the last check's main number) and headline_label, warnings (where the last check read less than it should), next_check_at, last_check_at, made_in (the host or app that made it). Cost: 0 credits. Example: {}

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
metaYes
rowsNo
errorNo
hintsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / meta / properties / credits_remaining / description
      Previous value: -"The workspace's credits left after this call. null when the call did not check the balance (free tools, cache hits, dry runs, tasks) or the balance has no limit."New value: +"The workspace's credits left after this call. null when the call did not check the balance (free tools, cache hits, dry runs, tasks) or the balance has no limit. Leaves out credits held for calls still running, so it can dip during parallel calls and come back; credits_charged is what this call cost."
  2. Changed1 schema field changed
    • addedOutput schema / properties / meta / properties / feedback_request
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Once per workspace: after the task, ask the user once for feedback and send any answer with submit_feedback.",
      +  "properties": {
      +    "message": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "message"
      +  ],
      +  "type": "object"
      +}
  3. Added

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description is free to add cost ('0 credits') and semantic meaning for volatile fields such as new_changes being relative to when the workspace last opened it and warnings meaning a short-read check. It does not add anything about result size limits or ordering, but for a zero-parameter read this is solid added context 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?

The labeled structure (Use when / Not for / Returns / Cost / Example) is strongly front-loaded and scannable. The one waste is the long enumeration of every return field, which largely restates the output schema rather than adding selection-relevant guidance.

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 no-argument list tool, the definition covers purpose, triggers, exclusions, cost, and call shape, and an output schema exists to carry the return structure. An agent has everything needed to decide to call it and how to call it.

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?

The tool takes no parameters, so the baseline applies and there is nothing for the description to disambiguate. The empty example call ('Example: {}') usefully confirms the agent should invoke it with no arguments.

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 opening sentence names a specific resource (the workspace's monitors) and the exact facets returned (schedule, cost, new-change count). The 'Not for' line explicitly routes to monitoring_get_changes and monitoring_get_history, so an agent can distinguish it from its closest siblings without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives three concrete trigger phrases ('what am I monitoring', 'which monitors do we have', 'before changing or deleting one') plus the discovery use case of finding a monitor_id. It also names two explicit exclusions with the sibling to use instead, leaving nothing to inference.

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