diff --git a/src/ModelContextProtocol.Core/Protocol/ContentBlock.cs b/src/ModelContextProtocol.Core/Protocol/ContentBlock.cs
index ccc5e962..012038f1 100644
--- a/src/ModelContextProtocol.Core/Protocol/ContentBlock.cs
+++ b/src/ModelContextProtocol.Core/Protocol/ContentBlock.cs
@@ -25,7 +25,7 @@ namespace ModelContextProtocol.Protocol;
/// See the schema for more details.
///
///
-[JsonConverter(typeof(Converter))] // TODO: This converter exists due to the lack of downlevel support for AllowOutOfOrderMetadataProperties.
+[JsonConverter(typeof(Converter))]
public abstract class ContentBlock
{
/// Prevent external derivations.
@@ -55,6 +55,8 @@ private protected ContentBlock()
///
/// Provides a for .
///
+ /// Provides a polymorphic converter for the class that doesn't require
+ /// setting explicitly.
[EditorBrowsable(EditorBrowsableState.Never)]
public class Converter : JsonConverter
{
diff --git a/src/ModelContextProtocol.Core/Protocol/ElicitRequestParams.cs b/src/ModelContextProtocol.Core/Protocol/ElicitRequestParams.cs
index 2cd94a5d..50f9d4d5 100644
--- a/src/ModelContextProtocol.Core/Protocol/ElicitRequestParams.cs
+++ b/src/ModelContextProtocol.Core/Protocol/ElicitRequestParams.cs
@@ -61,7 +61,7 @@ public IDictionary Properties
/// Represents restricted subset of JSON Schema:
/// , , , or .
///
- [JsonConverter(typeof(Converter))] // TODO: This converter exists due to the lack of downlevel support for AllowOutOfOrderMetadataProperties.
+ [JsonConverter(typeof(Converter))]
public abstract class PrimitiveSchemaDefinition
{
/// Prevent external derivations.
@@ -84,6 +84,8 @@ protected private PrimitiveSchemaDefinition()
///
/// Provides a for .
///
+ /// Provides a polymorphic converter for the class that doesn't require
+ /// setting explicitly.
[EditorBrowsable(EditorBrowsableState.Never)]
public class Converter : JsonConverter
{
diff --git a/src/ModelContextProtocol.Core/Protocol/Reference.cs b/src/ModelContextProtocol.Core/Protocol/Reference.cs
index 876ce401..d5a78c33 100644
--- a/src/ModelContextProtocol.Core/Protocol/Reference.cs
+++ b/src/ModelContextProtocol.Core/Protocol/Reference.cs
@@ -39,6 +39,10 @@ private protected Reference()
///
/// Provides a for .
///
+ ///
+ /// Provides a polymorphic converter for the class that doesn't require
+ /// setting explicitly.
+ ///
[EditorBrowsable(EditorBrowsableState.Never)]
public sealed class Converter : JsonConverter
{
@@ -95,8 +99,6 @@ public sealed class Converter : JsonConverter
}
}
- // TODO: This converter exists due to the lack of downlevel support for AllowOutOfOrderMetadataProperties.
-
switch (type)
{
case "ref/prompt":