Skip to main content
Glama

_delimit_obs_impl

Routes requests to metrics, logs, alerts, or status operations for runtime observability. Supports reading metrics/logs, managing alert rules, and viewing health rollup.

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
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
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
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
sourceNoOptional data/log source override (used only when action="metrics" or action="logs"). Default None = backend default / all configured sources.
alert_actionNoAlert sub-action — one of "list", "create", "update", "delete" (used only when action="alerts"). Default "list". "create"/"update"/"delete" write; "list" reads.list
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.
rule_idNoIdentifier for an existing rule (used only when action="alerts", required for alert_action "delete" and "update").

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior5/5

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

No annotations provided, so description carries full burden. It details side effects: read-only actions gated by licensing, write-capable alert sub-actions being experimental, error handling returning deterministic errors, and that none of the read actions write data or send notifications.

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?

Well-structured with clear sections, front-loaded purpose, and no unnecessary sentences. Every sentence adds value and is efficient.

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?

Given the complexity (7 parameters, 4 actions, write vs read), the description is comprehensive. It covers all actions, licensing, error handling, and when parameters are relevant. Output schema exists so return values need not be explained.

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 100%, so baseline 3. The description adds significant behavioral context: when parameters are used/ignored (e.g., query ignored for alerts/status), defaults, and sub-actions for alerts. Adds meaning beyond schema descriptions.

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 clearly states it is a unified observability entry point dispatching to four actions: metrics, logs, alerts, status. It distinguishes itself from sibling aliases by explaining it is the core implementation, and each action is described with its purpose.

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?

Explicitly states when to use (as single MCP-registered observability surface) and when NOT to use (internal code paths, prefer specific aliases). Provides sibling contrast and details on each action's appropriate context.

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