Multi-agent industrial root-cause analysis (RCA) system built on Anthropic's Model Context Protocol. Exposes 8 tools for querying sensor data, maintenance history, incident databases, equipment specs, diagnostics, safety protocols, SOP search, and CAPA draft generation.
OpsLens MCP has 8 tools with complete JSON schemas and descriptions. Naming follows verb_noun convention (query_, get_, search_, run_, fetch_, generate_). Descriptions are present (avg ~120 chars) and explain WHAT the tool does. However, parameter descriptions are sparse or generic ('Equipment identifier' repeated 5x), and output schemas are not formally documented. Error handling is minimal, most tools return {'error': '...'} without recovery guidance. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels. The generate_capa_draft tool is marked WRITE but lacks confirmation/dry-run pattern. Composition is sound, tools chain well (e.g., query_sensor_data → run_diagnostic_check). Security: no secrets in params, but no audit logging visible.
Retrieve equipment specifications, design limits, and asset metadata.
Generate a Corrective & Preventive Action draft. This is a *draft*; it must be reviewed and signed by a human engineer before being submitted to the CMMS / quality system.
Retrieve maintenance work orders and quality records for an asset.
Retrieve safety procedures and protocols for an asset class.
Return baseline vs. recent statistics and recent samples for an asset's sensors.
Apply rule-based diagnostics over the latest sensor window vs. specs to flag metrics approaching design limits.
Parameter descriptions are generic or missing. 'asset_id' described as 'Equipment identifier' in 5 tools; 'query' in search_incident_database and search_sop lacks guidance on expected format or term length. LLMs cannot infer whether to pass 'PUMP-204' or 'pump' or 'centrifugal pump'.
Output schemas not formally documented. Tools return dicts with fields like 'stats', 'recent_samples', 'findings' but no JSON Schema definition visible in code or docstrings. LLMs must infer structure from examples.
No tool annotations (readOnlyHint/destructiveHint/idempotentHint). generate_capa_draft is marked WRITE but lacks MCP annotation. All READ_ONLY tools lack annotation. Agents cannot infer safety properties from schema alone.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 67 | 2026-07-28+ | v2 |
Keyword search across historical incidents to find analogous failure modes.
Keyword search across the SOP markdown document. Returns whole-SOP sections that score on the query terms. Used by the Safety Critic to cite the exact procedure that applies.
Error handling lacks recovery guidance. Tools return {'error': 'unknown asset_id ...'} or {'error': 'sop_documents.md not found'} without suggesting next steps. Per pattern:recovery-guide, errors should guide the LLM: 'Try search_incident_database() with asset class filter.'
generate_capa_draft (WRITE tool) lacks confirmation/dry-run pattern. Agents can invoke it without review, risking unvetted CAPA submissions. Description says 'must be reviewed by human' but no mechanism enforces this.