Create an SNS topic and one or more SQS queues, then subscribe each queue to the topic via SNS console or aws sns subscribe
Grant the SNS topic permission to send messages to each SQS queue by attaching a queue policy allowing sns:SendMessage from the topic ARN
Set a FilterPolicy on each subscription (JSON attribute map) to route only matching messages to that queue; unmatched messages are silently dropped for that subscription
Publish messages to SNS with MessageAttributes matching the filter criteria to ensure correct routing
Enable raw message delivery on subscriptions where you do not want SNS to wrap the payload in its JSON envelope
Known gotchas
Filter policies apply to message attributes, not the message body by default; to filter on body content, set FilterPolicyScope to MessageBody (supported in newer API versions)
A subscription with no filter policy receives all messages; an empty filter policy object {} also matches all messages — these are not equivalent to a restrictive filter
SNS retries delivery to SQS for a limited period on failure; if the queue is full or the policy is wrong, messages are lost after retries are exhausted
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp