Provenance-aware security proxy for AI agents: block prompt-injection actions at the MCP tool boundary.
Sentinel exposes 5 tools with basic schemas and descriptions, but falls short of production quality. Tool names are action-oriented (web_fetch, send_email, get_customer_record, delete_record, ping), which is good. However, descriptions are minimal (10-50 chars), parameter descriptions are sparse or missing, and output schemas are not documented. The ping tool is a protocol anti-pattern (removed in MCP 2026-07-28). Error handling is absent, no recovery guidance, no categorization. Security concerns: delete_record lacks permission gates despite being marked DESTRUCTIVE. No tool annotations (readOnlyHint, destructiveHint) despite risk labels in metadata. Schemas are present but incomplete, parameters lack detailed constraints, ranges, or format guidance.
Delete a record (privilege-violation target; deny_always in policy).
Return the SYNTHETIC customer record as JSON.
Ping endpoint for testing
'Send' an email — actually just records it to the observable outbox.
Fetch a (canned or user-supplied) web page.
Descriptions are too short (10-50 chars) to guide LLM tool selection. Rubric baseline is 194 chars average; these lack context on WHEN to use each tool and WHAT it returns.
Output schemas are not documented. LLMs cannot plan downstream calls or extract required fields without knowing what each tool returns. E.g., does web_fetch return {content, status_code, headers} or just {content}?
delete_record is marked DESTRUCTIVE but has no permission gate, confirmation step, or dry-run mode. An agent can delete arbitrary records without authorization checks.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Tool annotations (readOnlyHint, destructiveHint, idempotentHint) are absent from schema definitions, despite risk labels in metadata. LLMs cannot infer safety properties from names alone.
ping tool is a protocol anti-pattern (removed in MCP 2026-07-28). It serves no agent purpose and should be removed.