Harness-agnostic MCP stdio CLI that acts as a sentinel between any agent and MCP servers — polling long-running tasks on the agent's behalf so that token-costly status loops never enter the LLM inference path
MCP Sentinel defines 5 tools with complete input schemas and descriptions. Naming follows verb_noun convention (poll, status, attach, read, set_notifier). Descriptions are adequate (80-200 chars) but lack actionable recovery guidance. Parameter descriptions are present but sparse, many lack format/constraint details. Output schemas are undocumented. Error handling is minimal; tools return plain strings but do not guide LLM recovery. No tool annotations (readOnlyHint/destructiveHint). Composition is sound: each tool has one responsibility, and outputs chain (poll returns task ID, status/attach/read consume it). Security: no secrets in params (good), but no audit logging or permission gates visible.
block until a sentinel task completes. Polls getSentinelTask every 1000 ms internally (no token cost during the wait). isAborted reports user cancellation so the wait can end early.
submit a long-running MCP tool call and poll it until a condition is met.
read raw poll outputs with offset/limit pagination.
register shell commands to run when a sentinel task completes (CLI only).
check status, list active tasks, or cancel a task.
Output schemas undocumented. Tools return results but LLM cannot predict field structure, forcing parsing guesses and downstream lookup calls.
Error handling lacks recovery guidance. Tools return plain error strings but do not tell LLM what to do next (retry? ask user? call another tool?).
Parameter descriptions lack format/constraint details. 'interval' and 'timeout' accept milliseconds but no min/max bounds stated; 'until' accepts JSON but no schema for SentinelCondition documented.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2025-06-18+ | v2 |
No tool annotations (readOnlyHint/destructiveHint/idempotentHint). mcp_sentinel_status 'cancel' action is destructive but unmarked; mcp_sentinel_set_notifier_commands is write but unmarked.
mcp_sentinel_set_notifier_commands description is vague ('register shell commands') and lacks safety warnings. Executing arbitrary shell commands is a security risk; no mention of validation, sandboxing, or user confirmation.