OpenClaw plugin for local UDP agent-to-agent communication — discover peers, exchange messages, configurable trust, hourly rate limits, and full message logging
Server defines 6 tools with complete input schemas and descriptions. Naming follows verb_noun convention (udp_discover, udp_send, udp_receive, udp_status, udp_trust, udp_log). Descriptions are present and substantive (avg ~120 chars), exceeding the 10-char minimum. However, several parameters lack descriptions (e.g., udp_trust 'peer_id' has description but 'action' enum values are not formally constrained in schema). Output schemas are not documented, callers cannot predict response structure. Error handling is minimal; no recovery guidance or actionable error messages visible in code. Security concerns: trust state persisted to disk without encryption; no rate-limit enforcement visible despite claims in tool descriptions.
Discover peers on the local network by broadcasting a discovery packet and collecting responses within a timeout window
Retrieve the message log for human review. Returns recent sent, received, and system messages with full metadata
Retrieve pending messages from the inbox. Returns messages from trusted peers or all pending messages depending on trust mode
Send a message to a trusted peer via UDP. Enforces hourly rate limits and message size constraints
Get the current status of the UDP messenger including agent ID, listening port, trust mode, hourly exchange counts per peer, and inbox summary
Manage trusted peers: approve, revoke, or list trusted peer relationships with approval timestamps and hostnames
Output schemas not documented. Callers cannot predict response structure (fields, types, pagination). LLMs must guess what fields to extract for downstream tool calls.
udp_trust 'action' parameter lacks enum constraint in schema. Description mentions 'approve', 'revoke', 'list' but schema does not formally restrict to these values. LLMs may pass invalid actions.
No error handling guidance. Code references rate limits and trust validation but provides no recovery hints (e.g., 'Rate limit exceeded. Try again in X seconds' or 'Peer not trusted. Call udp_trust to approve first'). Agents cannot self-correct.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Trust state persisted to disk (trusted-peers.json) without encryption or access control. Sensitive peer relationships and approval timestamps exposed to filesystem access.
udp_log 'direction' parameter accepts string but lacks enum constraint. Should restrict to 'sent', 'received', 'system', or null. LLMs may pass invalid directions.