MCP Server for distributed task idempotency key management and deduplication. Protects downstream systems against redundant LLM retries and agent replays through deterministic idempotency keys, in-flight execution locking, and replay response caching.
Single tool with minimal definition quality. Tool name 'check_or_lock_key' lacks action verb clarity (should be 'acquire_lock' or 'check_idempotency_key'). Description is present but generic (47 chars, below 50-200 char baseline for LLM optimization). Input schema present with basic types but parameter descriptions are missing entirely, 'key' and 'ttl' have no descriptions explaining their purpose, format, or constraints. No output schema documented. No error handling guidance. Tool performs state mutation (acquires locks) but description does not indicate this is a command tool with side effects.
Check if an idempotency key is already processed or acquire in-flight lock.
Parameter descriptions missing entirely. 'key' and 'ttl' parameters have no descriptions in schema, LLM cannot infer what values are valid, what format is expected, or what constraints apply.
Tool name lacks action verb. 'check_or_lock_key' is ambiguous, does it check, lock, or both? Should be 'acquire_idempotency_lock' or 'check_and_acquire_lock' to clarify intent.
No output schema documented. Response structure is inferred from code (JSON with 'acquired' and 'cached' fields) but not formally declared. LLM cannot plan downstream tool calls without knowing return type.
Tool description does not indicate state mutation. 'Check if an idempotency key is already processed or acquire in-flight lock' is passive, should explicitly state 'Acquires an execution lock' to signal this is a command tool with side effects.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 31 | 2026-07-28+ | v2 |
No error handling guidance. Tool can return warning states ('OPERATION_IN_FLIGHT') but no error recovery instructions. LLM has no guidance on what to do if lock acquisition fails.