veya_verify_secure_message
Verify ML-DSA signature on a secure routed message envelope
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | ||
| senderPublicKeyHex | Yes |
Verify ML-DSA signature on a secure routed message envelope
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | ||
| senderPublicKeyHex | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does not disclose the verification outcome shape (boolean vs. exception), failure behavior, whether the envelope must first be produced by veya_route_secure_message, or any auth/rate constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero waste, which is good structure, but for a tool with a nested opaque object parameter it is terse to the point of under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, and the key input (message) is an unconstrained nested object whose required envelope fields are undocumented. An agent cannot reliably construct a valid call from this definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema is bare: senderPublicKeyHex is an undescribed string with minLength 8, and message is a nested object with no defined properties (additionalProperties: {}). The description clarifies neither the envelope structure nor the key format, so it does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Verify) and a specific resource (ML-DSA signature on a secure routed message envelope), so an agent knows the operation is verification of a routed-message envelope. It does not explicitly distinguish itself from near neighbors such as veya_pq_verify or veya_verify_transaction, which is the only thing keeping it out of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance and names no alternative, despite several overlapping siblings (veya_pq_verify, veya_verify_transaction, veya_route_secure_message). An agent must infer the routing conditions entirely on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.