A server to deploy a collection of Flux MCP tools for job management and event streaming on Flux clusters
The server defines 3 tools with minimal schema documentation. Tool names follow verb_noun convention (ingest, query, find), which is good. However, parameter descriptions are sparse or missing, input schemas lack detail (no type constraints, enums, or ranges), and output schemas are not documented. The ingest_flux_event tool conflates multiple concerns (event parsing + database write) and is marked SYSTEM-only in description, signaling a composition problem. None of the tools provide error recovery guidance or explain when to use them relative to each other. Two tools (query_job_history, find_failed_jobs) share similar intent but lack differentiation. Overall, tools are named clearly but severely under-documented compared to production baselines (average param descriptions: 0 chars observed vs 72-char baseline; zero output schemas documented).
Finds recent jobs that did not complete successfully.
SYSTEM TOOL: Ingests raw Flux events into the database. This should only be called by the Scribe service, not by Users/Agents.
Retrieve the historical record of a job from the database. Useful for analyzing jobs that have already finished/purged.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields without knowing the response structure.
Parameter descriptions are missing or minimal. cluster_name, event_json, job_id, and limit lack context on valid ranges, formats, or lookup methods.
ingest_flux_event is labeled SYSTEM TOOL and should not be exposed as a user-callable tool. This signals composition error, system-internal operations should not be in the MCP interface.
query_job_history and find_failed_jobs overlap in intent (both retrieve job info). Descriptions do not explain when to use each, forcing LLM to guess.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 46 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 40 | - | v1 |
No error handling or recovery guidance. Missing documentation on what happens when job_id is not found, cluster_name is invalid, or event_json is malformed.
No parameter constraints (enums, min/max, regex patterns). event_json accepts free-form strings with no validation guidance. limit has default but no min/max bounds.
Tool descriptions are too brief to guide LLM selection. Average description length ~82 chars (baseline: 194 chars, p10=34, p90=392). Descriptions lack WHAT, WHEN, WHY context.