Webhook relay for AI agents. Register URLs, send payloads, view history. Reads free, writes require Veyra.
Server has 5 tools with complete input schemas and descriptions, but quality is inconsistent. Tool names follow verb_noun convention (list_, get_, register_, send_, delete_). Descriptions are present but brief (avg 95 chars, below 194-char baseline). Critical gaps: no output schemas documented, no parameter descriptions for most fields, vague 'headers' parameter type (string instead of object), no error handling guidance, and veyra_token exposed as parameter (security anti-pattern). Schemas are structurally valid JSON Schema but lack depth. No tool annotations (readOnlyHint, destructiveHint). Composition is reasonable, each tool has single responsibility.
Delete a webhook and its history. Requires Veyra commit mode (Class B — €0.02).
Get send history for a webhook. FREE — no token required.
List all registered webhooks. FREE — no token required.
Register a new webhook URL. Requires Veyra commit mode (Class A — €0.005).
Send a payload to a registered webhook URL. Requires Veyra commit mode (Class B — €0.02).
veyra_token exposed as tool parameter instead of server-side secret injection. Credentials in parameters leak into agent logs and traces.
No output schemas documented. LLMs cannot predict response structure or plan downstream tool calls. Responses are JSON strings, not structured objects.
'headers' parameter in register_webhook is typed as string but described as 'JSON object'. Should be object type with properties schema, or accept JSON string with validation and clear format guidance.
Error responses return raw JSON without recovery guidance. 'Veyra token invalid' tells agent nothing about next steps. Should include 'Try obtaining a fresh token from...' or 'This operation is free, no token required.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Agents cannot distinguish safe reads from destructive writes without parsing descriptions.