clearon-ops-audit-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@clearon-ops-audit-mcpRun an ops audit and summarize job failures and gateway health"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
20or newerThe
openclawCLI available onPATH, orOPENCLAW_BINset explicitlyA local MCP client that can launch a stdio server
Installation
cd tools/clearon-ops-audit-mcp
npm install
npm test
npm run smokeMCP 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 reportTools
get_server_healthlist_recurring_jobsget_job_healthget_recent_failuresfind_missed_or_overdue_runssummarize_degraded_successescheck_delivery_failuresprobe_registered_mcpscheck_gateway_healthaudit_locksgenerate_ops_report
Available Tools
11 toolsaudit_locksA
Scan only approved workspace roots for actual .lock files.
| Name | Required | Description | Default |
|---|---|---|---|
| roots | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| lookback_days | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| grace_minutes | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| lookback_days | No | ||
| include_lock_scan | No | ||
| include_mcp_health | No | ||
| history_limit_per_job | No | ||
| include_gateway_health | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | ||
| history_limit | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| lookback_days | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| include_disabled | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| servers | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| patterns | No | ||
| lookback_runs | No |
TDQS
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.
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.
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.
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.
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.
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.
11 tool updates
v0.1.0- First observed
audit_locks - First observed
check_delivery_failures - First observed
check_gateway_health - First observed
find_missed_or_overdue_runs - First observed
generate_ops_report - First observed
get_job_health - First observed
get_recent_failures - First observed
get_server_health - First observed
list_recurring_jobs - First observed
probe_registered_mcps - First observed
summarize_degraded_successes
TDQS
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.
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.
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.
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
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
Read-only MCP access to a documented IT fleet: state, changes, posture. 15 tools.
Inspect scheduled jobs, runs, durable workflows, and webhook health; run one confirmed job.
Read-only finance and operations controls for AI agents with evidence and safe next actions.
Read-only checks for proposed orders against evidence and policy; no trading or payment authority.
Related MCP Servers
- AlicenseAqualityCmaintenanceRead-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.1119MIT
- FlicenseNot gradedqualityCmaintenanceEnables 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.-
- AlicenseNot gradedqualityCmaintenanceEnables 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
- FlicenseNot gradedqualityCmaintenanceProvides read-only Proxmox cluster oversight and configuration compliance checks through MCP, covering health, inventory, storage, backups, snapshots, and updates.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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