01Safety
0.0 / 30
What changed in the harness
Selection accuracy 100→100, token cost up 2%, unconfirmed writes 0%→0%.
Category breakdown
Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.
0.0 / 30
27.7 / 30
17.4 / 20
19.4 / 20
Highest-impact fix
Estimated gain +30 pointsExpose machine-readable principal/tenant confirmation and a non-mutating permission check so agents can verify both before destructive actions.
Description evidence
6 defects found across the exposed tool descriptions. Suggested rewrites make purpose, inputs, boundaries, and returns easier for an agent to understand.
| Tool | Defect types | Suggested rewrite |
|---|---|---|
echo |
no_return_description |
Echoes back the provided message as the tool's text output, useful for verifying connectivity to the server. |
get-resource-reference |
params_unexplained |
Returns a resource reference for the given resourceId that MCP clients can resolve to fetch content; resourceType selects whether the reference points to a Text or Blob resource (default 'Text'). |
toggle-simulated-logging |
name_restates_behavior no_return_description |
Enables or disables periodic simulated log messages at random severity levels sent from the server to the client for demo purposes; returns the new logging state after toggling. |
toggle-subscriber-updates |
no_return_description |
Enables or disables periodic simulated update notifications sent to subscribed resources for demo purposes; returns the new subscription-update state after toggling. |
trigger-long-running-operation |
no_return_description |
Runs a demo long-running operation lasting 'duration' seconds broken into 'steps' increments, emitting progress notifications after each step, and returns a completion message once the operation finishes. |
simulate-research-query |
no_return_description |
Simulates a multi-stage deep research task on the given topic, reporting progress through gathering, analysis, and synthesis stages via an MCP task, and returns a synthesized research summary; if 'ambiguous' is true and the client supports elicitation, it instead sends a clarification request before completing. |
Selection evidence
2 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.
| Tool A | Tool B | Confidence | Why they collide |
|---|---|---|---|
get-resource-links |
get-resource-reference |
medium | A vague request like 'get me a resource' or 'fetch a resource link' doesn't indicate whether the user wants a list of multiple resource links or a single client-usable resource reference, so the agent could pick the wrong one based on name similarity alone. |
toggle-simulated-logging |
toggle-subscriber-updates |
medium | Both are no-argument toggles for simulated/background MCP demo behavior; a task like 'turn off the simulated activity' doesn't specify logging vs subscription updates, so the agent could pick either based on the shared 'toggle-simulated' naming pattern. |
Compare the field