A tiny task-capable MCP server built on the official Go SDK, federated into demo.fold.run as the jobs__* namespace. Mints tasks that complete after a few seconds and allows polling/managing them via custom methods.
Single tool 'start_job' has a clear action verb and reasonable description (95 chars), but lacks critical details. Input schema is present with two parameters (label, seconds), both typed and described. However, the description references '_meta' and 'tasks/get' without explaining what those are or how the agent should use them. No output schema is documented. The tool modifies state (starts a job) but the description does not explicitly state this is a write operation or explain idempotency/retry semantics. Parameter 'seconds' lacks min/max bounds despite the description mentioning '1 - 120', this constraint should be in the schema, not just prose. Overall: functional but incomplete for production LLM use.
Start a demo background job that completes after `seconds` (1–120, default 10). The minted task is in the result _meta; poll it with tasks/get.
Output schema not documented. Description mentions '_meta' and 'tasks/get' but does not explain the response structure, fields, or how to extract the task ID for polling.
Parameter 'seconds' constraint (1 - 120) stated only in description prose, not in JSON Schema. Should use 'minimum' and 'maximum' keywords so LLMs and validators can enforce bounds.
Description does not explicitly state this tool modifies state (creates a job). Agents need to know which calls are safe to retry and which have side effects.
Reference to 'tasks/get' in description is unexplained. Should clarify: is this a separate tool? A resource? How does the agent poll for completion?
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 68 | 2026-07-28+ | v2 |
Parameter 'label' has no constraints or guidance. Is it required? Max length? Should it be unique? Description is too brief.