Skip to main content
Glama
kwgoodwin

clearon-ops-audit-mcp

by kwgoodwin

Clearon Ops Audit MCP

Read-only MCP server for deterministic scheduler, runtime, and lock-state audits.

It summarizes recurring-job health, delivery failures, degraded-success patterns, overdue runs, gateway/MCP health, and lock-file inventory without modifying the system it inspects.

What it does

  • Lists recurring jobs and summarizes current job health

  • Separates execution failures from delivery failures

  • Flags repeated degraded-success summaries

  • Reports overdue recurring jobs

  • Probes gateway, MCP, and approved lock roots in read-only mode

  • Generates a combined operational report

Related MCP server: mcp-azure-landing-zone

What it does not do

  • It does not edit cron jobs or configuration

  • It does not restart services

  • It does not delete lock files

  • It does not infer that a lock file is stale just because it exists

Requirements

  • Node.js 20 or newer

  • The openclaw CLI available on PATH, or OPENCLAW_BIN set explicitly

  • A local MCP client that can launch a stdio server

Installation

cd tools/clearon-ops-audit-mcp
npm install
npm test
npm run smoke

MCP client setup

Example stdio configuration:

{
  "mcpServers": {
    "clearon-ops-audit": {
      "command": "node",
      "args": ["/absolute/path/to/clearon-ops-audit-mcp/server.mjs"],
      "env": {
        "CLEARON_OPS_AUDIT_WORKSPACE": "/absolute/path/to/workspace"
      }
    }
  }
}

The workspace defaults to the client process working directory. Override it with CLEARON_OPS_AUDIT_WORKSPACE when lock scanning should target a specific tree.

Commands

npm test
npm run smoke
npm run syntax
npm run report

Tools

  • get_server_health

  • list_recurring_jobs

  • get_job_health

  • get_recent_failures

  • find_missed_or_overdue_runs

  • summarize_degraded_successes

  • check_delivery_failures

  • probe_registered_mcps

  • check_gateway_health

  • audit_locks

  • generate_ops_report

Available Tools

11 tools
audit_locksA

Scan only approved workspace roots for actual .lock files.

ParametersJSON Schema
NameRequiredDescriptionDefault
rootsNo

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral disclosure burden. It adds useful constraints ('only approved workspace roots' and 'actual .lock files') and 'scan' implies a read-only operation, but it does not disclose what the tool returns, side effects, or behavior when the optional roots parameter is omitted.

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?

One sentence with no filler. The verb, scope constraint, and target format are all present and front-loaded.

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?

The tool is low-complexity: one optional parameter, simple enum values, and no output schema. The description gives the essential scope constraint and target. It is mostly complete, though the optional-roots default behavior and return shape are left to inference.

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?

The schema coverage is 0%, so the description must compensate. It connects the roots parameter to 'approved workspace roots' and the enum values are workspace names, giving the parameter a policy meaning. However, it does not explain whether omitting roots scans all approved roots or how the roots parameter filters the scan.

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?

Description uses a specific verb ('Scan') with a clear resource ('approved workspace roots') and target ('actual .lock files'). It cleanly distinguishes itself from the sibling health/job monitoring tools, none of which deal with lock-file auditing.

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?

The description conveys usage context by explaining that only approved workspace roots are scanned, which acts as a safety constraint. It does not explicitly name alternatives or when-not-to-use cases, but no sibling tool overlaps with lock auditing, so the context is reasonably clear.

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

check_delivery_failuresC

Separate current intended-delivery failures from execution failures.

ParametersJSON Schema
NameRequiredDescriptionDefault
lookback_daysNo

TDQS

C2.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It only states that the tool separates failure categories; it does not disclose whether the operation is read-only, how it determines 'current,' what the return value looks like, or whether it queries a specific service.

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 a single sentence with no filler, and the core action is stated directly. It is concise and well-structured, though brevity comes at the cost of needed context captured in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, no annotations, and an unexplained one-parameter input, the description leaves too much unspecifed. An agent cannot reliably predict the returned shape, the meaning of the two failure categories, or the effect of lookback_days in this sibling-heavy tool list.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description never mentions lookback_days orthe relevant time window. The schema provides default/min/max constraints, but the description does not connect this parameter to the tool's behavior, leaving the agent without suffcient semantic grounding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action, 'separate,' and a resource, 'delivery failures,' and introduces two categories. However, the terms 'intended-delivery failures' and 'execution failures' are not defined, and it is unclear whether the tool returns a report, a classification, or a filtered list.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool instead of siblings such as get_recent_failures, find_missed_or_overdue_runs, or summarize_degraded_successes. The phrase 'current intended-delivery failures' implies a diagnostic use case, but explicit selection criteria and exclusions are missing.

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

check_gateway_healthB

Run lightweight gateway health and MCP doctor checks.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations provided, the description must carry the burden of behavioral disclosure. It conveys that the checks are lightweight and diagnostic, implying read-only behavior, but does not describe network access, side effects, failure modes, or what 'doctor checks' entail. This is minimal but plausible transparency for a health-check tool.

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 a single, front-loaded sentence with no filler. Every word ('lightweight', 'gateway health', 'MCP doctor checks') contributes to the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the zero-parameter schema, the description is minimally sufficient for an agent to invoke the tool, but it lacks contextual guidance on what the health results mean, whether this overlaps with siblings, and what kind of output to expect. It is adequate but not thorough.

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 has zero parameters and the schema already covers 100% of them, so the description does not need to add parameter semantics. Per the baseline for zero-parameter tools, this is adequate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action ('Run') and resource ('gateway health and MCP doctor checks'), so an agent understands the tool's focus. It does not explicitly differentiate it from siblings like get_server_health or probe_registered_mcps, but the gateway/doctor wording narrows the scope sufficiently.

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

Usage Guidelines2/5

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

No guidance is given about when to choose this tool over alternatives such as get_server_health or probe_registered_mcps. The adjective 'lightweight' hints at a quick check, but there is no explicit when-to-use or when-not-to-use guidance.

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

find_missed_or_overdue_runsB

Find enabled recurring jobs whose next-run timestamp is overdue.

ParametersJSON Schema
NameRequiredDescriptionDefault
grace_minutesNo

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the query criteria; it does not explicitly say the operation is read-only, does not mention side effects or permission requirements, and does not explain how the grace_minutes parameter influences what counts as overdue.

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 a single sentence that front-loads the action and resource. Every word contributes meaning, with no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, no annotations, and an undocumented parameter. A complete description would specify what the returned list looks like, how grace_minutes affects results, and when to prefer this over sibling tools. The current one-liner leaves these gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not mention grace_minutes at all. The parameter name and schema bounds (default 30, min 0, max 10080) provide some inference, but the agent is left to guess how the grace period interacts with the 'overdue' condition.

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 uses a specific verb ('find'), a concrete resource ('enabled recurring jobs'), and a precise condition ('next-run timestamp is overdue'). This clearly distinguishes the tool from siblings such as list_recurring_jobs, which would list all recurring jobs, and get_recent_failures, which targets failures rather than overdue schedules.

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

Usage Guidelines2/5

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

The description provides no guidance on when to choose this tool over alternatives, no exclusions, and no preconditions. It is self-evident that you use it to find overdue jobs, but there is no explicit routing compared to sibling tools like get_recent_failures or summarize_degraded_successes.

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

generate_ops_reportC

Compose a read-only scheduler/runtime report from normalized checks.

ParametersJSON Schema
NameRequiredDescriptionDefault
lookback_daysNo
include_lock_scanNo
include_mcp_healthNo
history_limit_per_jobNo
include_gateway_healthNo

TDQS

C2.7/5.0
Behavior3/5

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

With no annotations, the description explicitly states 'read-only' and 'from normalized checks', which gives some behavioral context about side effects and aggregation. However, it does not clarify what checks are used, whether the tool performs live probes, what the output contains, or any operational implications.

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 a single concise sentence with no filler, and 'Compose a read-only scheduler/runtime report' is front-loaded. It is compact, but the brevity comes at the cost of critical operational detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has five optional parameters, no output schema, and no annotations, so the description must carry substantial contextual weight. It only offers a general purpose and does not explain report contents, how parameters shape the report, or what the caller should expect in return. This leaves significant gaps for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not mention any of the five parameters or how they affect the report. It does not compensate for the schema's lack of descriptive detail at all.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Compose') and resource ('scheduler/runtime report') and adds the read-only and normalized-checks framing. It is distinguishable from the sibling health/failure tools, which are individual checks, though 'normalized checks' remains somewhat vague.

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

Usage Guidelines2/5

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

There is no guidance on when to use this report tool versus individual siblings like get_server_health or get_recent_failures. The word 'Compose' implies aggregation, but no explicit conditions, exclusions, or alternative recommendations are provided.

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

get_job_healthA

Summarize current health for one job using recovery-aware run evidence.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes
history_limitNo

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. 'Summarize' strongly implies a read-only operation, and 'recovery-aware run evidence' adds useful behavioral context about how health is evaluated. However, it does not disclose return format, side effects, permissions, or how recovery affects the health conclusion.

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 a single front-loaded sentence that names the verb, resource, and distinctive behavior without wasted words. Every phrase contributes meaning: 'current health', 'one job', and 'recovery-aware run evidence' all shape the agent's understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no annotations and no output schema, so the description is the only context for what the agent should expect. It leaves ambiguity around what 'health' means, what role history_limit plays, and what the returned summary contains. For a tool with two parameters and sibling tools offering overlapping health concepts, more contextual detail is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the schema's lack of explanatory text. 'For one job' loosely maps to the required job_id parameter, but history_limit is not mentioned and its effect on run evidence is not explained. The description adds little semantic value beyond what the parameter names already suggest.

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 uses a specific verb, 'Summarize', and names a precise resource: 'current health for one job'. The qualifier 'using recovery-aware run evidence' adds a distinguishing behavioral angle, and the singular scope separates it from sibling tools like get_server_health and get_recent_failures.

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 phrase 'for one job' implies this is the tool to use when a single job's health summary is needed, but no alternatives or exclusions are stated. It does not explicitly contrast with list_recurring_jobs or summarize_degraded_successes, so usage guidance remains implied rather than direct.

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

get_recent_failuresB

Return only current latest-run failures within a lookback window.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
lookback_daysNo

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral burden. It does disclose a useful selection behavior: only 'current latest-run' failures and only within a lookback window. However, it does not mention ordering, output shape, pagination, read-only safety, or any other behavioral details that would fully compensate for the absence of annotations.

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 a single tightly worded sentence, front-loaded with the verb and resource. Every phrase adds meaningful scope ('only', 'current latest-run', 'within a lookback window') without repetition or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity tool with two optional scalar parameters, the description provides the core purpose and one parameter's semantics. However, with no annotations and no output schema, it leaves some ambiguity about what exactly counts as a 'latest-run failure', how results are ordered, and what the response contains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description should compensate for both parameters. It gives semantic meaning to lookback_days via the phrase 'lookback window', but it never mentions the limit parameter or explains how the two parameters interact. The schema provides defaults and bounds, but the description adds only partial parameter context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action ('Return') and a specific resource ('failures'), further scoped by 'current latest-run' and 'lookback window'. It is not a tautology and names the resource type, but it does not explicitly distinguish itself from sibling failure-oriented tools like find_missed_or_overdue_runs or check_delivery_failures.

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

Usage Guidelines2/5

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

The description implies a use case—returning failures within a recent lookback window—but gives no explicit guidance on when to choose this tool over alternatives. It does not mention exclusions, prerequisites, or how it relates to siblings such as find_missed_or_overdue_runs or summarize_degraded_successes.

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

get_server_healthB

Report server health and read-only safety boundaries.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the transparency burden. It indicates a non-mutating 'Report' action and introduces the 'read-only safety boundaries' concept, but it doesn't clarify what those boundaries are, whether any side effects exist, or what the output looks like. It provides minimal but not misleading behavioral context.

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 a single sentence with no filler, front-loading the action and resource. It is appropriately sized for a zero-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple no-parameter health check, the description captures the main purpose, but it doesn't define what 'health' or 'read-only safety boundaries' mean or describe the return value, since no output schema exists. The ambiguity around 'safety boundaries' leaves meaningful gaps for an agent deciding whether this tool answers its question.

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 has zero parameters, so the schema is complete and the baseline of 4 applies. The description doesn't need to add parameter meaning, and no information is missing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Report') and a clear resource ('server health'), which distinguishes it at a high level from sibling tools like get_job_health and check_gateway_health. The phrase 'read-only safety boundaries' adds scope but is ambiguous, so it doesn't fully clarify what exactly is reported.

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

Usage Guidelines2/5

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

No guidance is given on when to choose this tool over siblings such as get_job_health, check_gateway_health, or check_delivery_failures. The context implies server-level health checks, but there are no explicit conditions, exclusions, or alternative routing.

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

list_recurring_jobsB

List normalized recurring cron jobs.

ParametersJSON Schema
NameRequiredDescriptionDefault
include_disabledNo

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the behavioral burden. It reveals only that jobs are 'normalized,' but not the output shape, whether the operation is read-only, or any filtering/default behavior. The word 'List' implies a read operation, but key details like the effect of include_disabled are absent.

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?

Exactly one sentence with an action verb and direct object; there are no superfluous words and the main purpose is front-loaded. It is concise and easy to parse, though it under-specifies by omitting usage and parameter context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and no output schema, the description alone must complete the picture for an agent. It does not mention return format, default filtering behavior, or how it relates to sibling report/health tools. This is not enough context for confident selection and expected output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no information about include_disabled; the input schema only gives type and default with no description. With 0% schema description coverage, the description should have mentioned that disabled jobs are excluded by default, rather than leaving this to the parameter name.

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 starts with an action verb ('List') and names a specific resource ('recurring cron jobs'), further qualified by 'normalized.' This clearly separates it from sibling tools like get_server_health and audit_locks, which focus on health and audits rather than listing jobs.

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?

There is no explicit guidance about when to use this over sibling tools; no when/when-not conditions or alternative names are given. The phrasing implies it is the tool for listing recurring cron jobs, but it does not clarify when get_job_health or generate_ops_report would be more appropriate.

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

probe_registered_mcpsB

Safely probe all configured MCPs or a named subset.

ParametersJSON Schema
NameRequiredDescriptionDefault
serversNo

TDQS

B3.2/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of disclosing behavior. 'Safely probe' suggests a non-destructive operation, but it does not clarify what probing does, what side effects (if any) exist, what happens on connection failure, or whether authentication/configuration is required. This is too vague for a tool with zero annotation support.

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 a single, front-loaded sentence with no filler. Every word earns its place: 'Safely' conveys non-destructive intent, 'probe' names the action, and 'all configured MCPs or a named subset' defines the scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one optional parameter and no output schema, the description is mostly adequate for invocation. However, it omits return-value expectations, error behavior, and any guidance on how this relates to the many sibling health/monitoring tools. Since no annotations supplement these gaps, the definition is not fully self-sufficient.

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 description coverage is 0%, but the description compensates by explaining the only parameter's core semantics: omitting 'servers' probes all configured MCPs, while providing it probes a named subset. This maps cleanly to the optional 'servers' array and gives an agent enough to call the tool correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action ('probe') and resource ('all configured MCPs'), and also notes the optional scoping to 'a named subset.' It distinguishes itself from the health-report siblings by focusing on probing rather than summarizing or listing jobs, though it does not explicitly call out a sibling.

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

Usage Guidelines2/5

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

No explicit when-to-use or when-not-to-use guidance is provided. The word 'Safely' hints at a read-only intent, but the description does not tell an agent how to choose this tool over get_server_health, check_gateway_health, or the other sibling tools.

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

summarize_degraded_successesA

Find repeated successful runs whose summaries disclose partial, fallback, unavailable, or warning states.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternsNo
lookback_runsNo

TDQS

A3.5/5.0
Behavior3/5

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

The description surfaces a useful behavioral trait: it looks inside summaries of runs classified as successful and matches them against a set of degradation keywords. However, with no annotations, it does not disclose whether the operation is read-only, how 'repeated' is determined, what data is scanned, or what the returned summary contains.

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 one tightly worded sentence that front-loads the core behavior and all meaningful keywords. There is no filler or repetition of schema information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations and no output schema, the description needs to carry more weight: it should clarify the two parameters, the meaning of 'repeated', and the return shape. It covers the conceptual purpose but leaves key invocation details unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description never mentions patterns or lookback_runs. The agent must infer from names that patterns are likely strings to search for and lookback_runs limits how far back to look; the default/min/max in the schema provide some structure, but the tool description adds nothing about how these parameters affect behavior.

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 concrete operation ('find') and a precise target: repeated successful runs whose summaries contain partial, fallback, unavailable, or warning states. This clearly distinguishes it from siblings like get_recent_failures or get_job_health, which target failures or health status rather than apparently successful runs with degraded summaries.

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 target condition is clear enough to infer when this tool applies, but the description gives no explicit when-to-use/when-not-to-use guidance and names no alternatives. With siblings such as find_missed_or_overdue_runs and get_recent_failures nearby, an agent is left to infer the boundary from the name and condition alone.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 11 tool updatesv0.1.0
    • First observedaudit_locks
    • First observedcheck_delivery_failures
    • First observedcheck_gateway_health
    • First observedfind_missed_or_overdue_runs
    • First observedgenerate_ops_report
    • First observedget_job_health
    • First observedget_recent_failures
    • First observedget_server_health
    • First observedlist_recurring_jobs
    • First observedprobe_registered_mcps
    • First observedsummarize_degraded_successes

TDQS

B3.1/5.0
Disambiguation3/5

Several tools cluster around health and failure detection—get_server_health/check_gateway_health/probe_registered_mcps overlap in probing MCP/gateway state, and get_recent_failures/check_delivery_failures/find_missed_or_overdue_runs all surface different failure modes. Descriptions clarify the distinctions, but an agent could misroute a health/failure query without careful reading.

Naming Consistency3/5

All tool names are snake_case and mostly follow a verb_noun pattern, but verb choices are inconsistent: get/list/find/summarize/probe/check/audit/generate are used interchangeably, and check_/get_ overlap semantically. Still readable and object-focused.

Tool Count5/5

11 tools is well within the sweet spot for a specialized read-only ops audit server. Each tool corresponds to a distinct audit concern (health, jobs, failures, MCPs, delivery, locks, reporting) without bloat.

Completeness4/5

The surface covers the main read-only audit workflow: enumerate jobs, assess job/server/gateway health, surface failures and anomalies, audit locks, and generate a report. Minor gaps like per-tool historical trend endpoints or more granular failure detail are workaround-able.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Read-only MCP tools for coding agents to audit deployment targets, detect fabricated code, review backlog, database schema, analytics, ML models, architecture docs, and decision lenses.
    11
    19
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to inspect and audit Azure Landing Zones by inventorying resources, auditing tagging, evaluating policy compliance, and detecting infrastructure drift, all in read-only mode.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables approved senior engineers to run vetted, read-only audit scripts on Tactical RMM agents from Claude, using a fixed catalog of tools to inspect things like local admins, disk space, and installed software without permitting arbitrary code execution or destructive actions.
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides read-only Proxmox cluster oversight and configuration compliance checks through MCP, covering health, inventory, storage, backups, snapshots, and updates.
    -

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/kwgoodwin/clearon-ops-audit-mcp'

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