Skip to main content
Glama

Delimit Obs Impl

_delimit_obs_impl
Destructive

Fetch metrics, search logs, view health status, or manage alert rules from a single observability endpoint. Choose the action by name to read data or configure thresholds in one request.

Instructions

Unified observability entry point — dispatches to one of four actions.

When to use: as the single MCP-registered observability surface (delimit_obs) when the caller wants to pick the action by name in one call rather than choosing a specific delimit_obs_* alias. Covers runtime metrics, log search, alert-rule management, and the at-a-glance health rollup. When NOT to use: from internal code paths — prefer the specific alias (delimit_obs_metrics, delimit_obs_logs, delimit_obs_alerts, delimit_obs_status) for clarity and so docstrings and license gates show up at the right call site. For the governance-kernel layer use delimit_gov_health, not this runtime-observability surface.

Sibling contrast: each delimit_obs_ wrapper below is a thin alias over this implementation; they exist so the action's docstring lives at the right name. This is the dispatch core. Within the actions: "metrics" returns numeric series, "logs" returns text matches over the same backend, "status" returns a synthesised health rollup, and "alerts" configures thresholds against the metric series rather than querying data.

Side effects: action="metrics" / "logs" / "status" are READ-ONLY and gated by require_premium (keys "obs_metrics", "obs_logs", "obs_status") — unlicensed callers receive a license payload and no backend call is made; licensed calls route to a distinct observability backend function and are wrapped via _with_next_steps for orchestrator hints. action="alerts" is the only WRITE-capable path: its sub-action ("create" / "update" / "delete") mutates alert configuration while "list" is read-only; it routes through the ops bridge and is EXPERIMENTAL — the alert_rule schema is backend- specific and may evolve. None of the read actions write data, append to the ledger, or send notifications. Errors are deterministic ({"error": ...}): an unknown action short-circuits before any backend call with the valid-action list.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryNoMetric query name (action="metrics") or log search string (action="logs"). Default "system". For "logs" this is effectively required — empty searches are rejected by the backend. Ignored for "alerts" and "status".system
actionNoWhich observability operation to perform. One of "metrics", "logs", "alerts", "status". Default "status". Case-insensitive and whitespace-trimmed. Other values return a deterministic error listing the valid actions.status
sourceNoOptional data/log source override (used only when action="metrics" or action="logs"). Default None = backend default / all configured sources.
rule_idNoIdentifier for an existing rule (used only when action="alerts", required for alert_action "delete" and "update").
alert_ruleNoAlert rule definition dict (used only when action="alerts", required for alert_action "create" and "update"). Backend-specific schema — typically metric, threshold, comparison, window, severity.
time_rangeNoWindow like "1h", "24h", "7d" (used only when action="metrics" or action="logs"). Default "1h". Larger windows may downsample or be capped server-side. Ignored for "alerts" and "status".1h
alert_actionNoAlert sub-action — one of "list", "create", "update", "delete" (used only when action="alerts"). Default "list". "create"/"update"/"delete" write; "list" reads.list

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

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

  1. Changed7 schema fields changedv4.13.1
    • changedInput schema / properties / action / description
      Previous value: -"Which observability operation to perform."New value: +"Which observability operation to perform. One of\n\"metrics\", \"logs\", \"alerts\", \"status\". Default \"status\".\nCase-insensitive and whitespace-trimmed. Other values\nreturn a deterministic error listing the valid actions."
    • changedInput schema / properties / alert_action / description
      Previous value: -"Alert sub-action list/create/delete/update (for action='alerts')."New value: +"Alert sub-action — one of \"list\", \"create\",\n\"update\", \"delete\" (used only when action=\"alerts\").\nDefault \"list\". \"create\"/\"update\"/\"delete\" write; \"list\"\nreads."
    • changedInput schema / properties / alert_rule / description
      Previous value: -"Alert rule definition (for alerts create/update)."New value: +"Alert rule definition dict (used only when\naction=\"alerts\", required for alert_action \"create\" and\n\"update\"). Backend-specific schema — typically metric,\nthreshold, comparison, window, severity."
    • changedInput schema / properties / query / description
      Previous value: -"Metrics query type or log search string (for metrics/logs)."New value: +"Metric query name (action=\"metrics\") or log search\nstring (action=\"logs\"). Default \"system\". For \"logs\" this\nis effectively required — empty searches are rejected by\nthe backend. Ignored for \"alerts\" and \"status\"."
    • changedInput schema / properties / rule_id / description
      Previous value: -"Rule ID (for alerts delete/update)."New value: +"Identifier for an existing rule (used only when\naction=\"alerts\", required for alert_action \"delete\" and\n\"update\")."
    • changedInput schema / properties / source / description
      Previous value: -"Optional data source (for metrics/logs)."New value: +"Optional data/log source override (used only when\naction=\"metrics\" or action=\"logs\"). Default None = backend\ndefault / all configured sources."
    • changedInput schema / properties / time_range / description
      Previous value: -"Time range e.g. 1h, 24h, 7d (for metrics/logs)."New value: +"Window like \"1h\", \"24h\", \"7d\" (used only when\naction=\"metrics\" or action=\"logs\"). Default \"1h\". Larger\nwindows may downsample or be capped server-side. Ignored\nfor \"alerts\" and \"status\"."
  2. Addedv4.5.5

TDQS

A4.6/5.0
Behavior5/5

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

The annotations (readOnlyHint=false, destructiveHint=true) correctly signal a mixed read/write tool, and the description richly expands on this: it breaks down which actions are READ-ONLY, which sub-actions mutate alert configuration, the require_premium license-gating behavior (unlicensed callers get a license payload with no backend call), the experimental alerts path with evolving schema, deterministic error format, and explicit non-effects (no ledger writes, no notifications). This goes far beyond 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 long (~280 words) but earns most of its length given the tool's complexity: 4 actions, mixed read/write paths, license gates. It is front-loaded with the core purpose and uses clear labeled sections (When to use, When NOT to use, Sibling contrast, Side effects). There is some redundancy — the alias relationship is explained three times across the when-to-use, when-not-to-use, and sibling-contrast sections — which keeps it from a 5.

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 7-parameter, 4-action tool with mixed side-effect profiles, license gating, and an experimental write path, this description is remarkably complete. It covers dispatch semantics, per-action return behavior, read/write boundaries, license-gate failure behavior, error format, and known volatility of the alert_rule schema. An output schema exists, so detailed return-shape documentation is not required from the description. Nothing an agent needs to invoke this correctly is missing.

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 schema already thoroughly documents every parameter's action-scoping, defaults, and requiredness. The description adds a modest framing layer (what each action returns — numeric series, text matches, health rollup — and which params matter per action), but it doesn't add per-parameter detail beyond the schema. It reinforces rather than extends.

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?

States a specific verb and resource — "Unified observability entry point — dispatches to one of four actions" — and enumerates exactly what the four actions cover (runtime metrics, log search, alert-rule management, health rollup). It explicitly contrasts itself with the delimit_obs_* wrapper siblings, calling itself the dispatch core, and even steers away from delimit_gov_health. An agent can tell exactly what this tool is for without opening the 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?

Provides explicit when-to-use, when-NOT-to-use, and alternative-selection guidance. It names the exact conditions under which to prefer the delimit_obs_* aliases (internal code paths, docstring/license-gate placement) and points governance-kernel callers to delimit_gov_health. The sibling contrast section further explains the alias relationship. Nothing is left to inference.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/delimit-ai/delimit-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server