Problem statement
Annotation mapping code (e.g., in McpAnnotationMapper) currently performs normalization (conversion of ability annotations into MCP tool/resource/prompt metadata) and silently returns null (dropping invalid values) when values cannot be converted.
Meanwhile, stricter validation is toggled by mcp_adapter_validation_enabled. The behavior is not clearly documented, and invalid annotation fields are dropped without diagnostics or developer feedback.
Why this matters
- Developers may supply annotation metadata that they believe is being processed—yet invalid values get silently dropped with no warning, making debugging difficult.
- Distinction between “normalization” (best-effort conversion) vs “validation” (enforcement of schema/types) is blurred.
- Without diagnostics (warnings/errors), it’s difficult to trace where annotation data is lost or mis-handled.
Discussion opened on PR #91 (comments)