Canon normalizes a tool name/pattern by trimming spaces and replacing
both '/' and ':' with '_' for stable comparisons across different
separators used in definitions and patterns.
Match returns true when pattern matches name using simple rules:
- Exact match
- '*' suffix means prefix match
- Service-only pattern (no ':' and no '*') matches any method under that service