Apify Actor that runs as an MCP server in standby mode.
Single tool 'add' has a clear verb-noun name and comprehensive schema with all parameters typed and described. Input schema uses Zod with proper type definitions (integer, default values, minimum constraints). Output schema is documented with structured fields (result, operands, operation). Description is adequate (97 chars) but could be more specific about use cases. Tool is READ_ONLY and idempotent. Main gaps: no error handling guidance, no recovery hints for edge cases, and output schema is defined in code but not formally exposed in the tool registration (only inputSchema is visible in the registration call).
Adds two numbers together and returns the sum with structured output
Output schema not formally registered in tool definition. Only inputSchema is passed to registerTool(); outputSchema is defined separately in code but not exposed to the MCP protocol.
No error handling guidance. Tool lacks descriptions of failure modes (e.g., what happens if waitSeconds is negative despite minimum constraint, or if computation fails). No recovery hints for the LLM.
Tool description lacks context on when to use it. At 97 chars, it states WHAT but not WHEN or WHY. No mention of prerequisites, use cases, or relationship to other tools.
Parameter 'waitSeconds' has a minimum constraint (0) but no maximum. Unbounded sleep duration could cause timeouts or resource exhaustion if an LLM passes a very large value.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2025-06-18+ | v2 |
No tool annotations (readOnlyHint, idempotentHint, destructiveHint) despite tool being READ_ONLY and idempotent. These hints help LLMs reason about retry safety and side effects.