Skip to content

Commit 22ff067

Browse files
Copilotstephentoub
andcommitted
Change Root.Meta from JsonElement? to JsonObject? for consistency with all other _meta properties
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
1 parent 257acad commit 22ff067

2 files changed

Lines changed: 5 additions & 4 deletions

File tree

  • src/ModelContextProtocol.Core/Protocol
  • tests/ModelContextProtocol.Tests/Protocol

src/ModelContextProtocol.Core/Protocol/Root.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using System.Diagnostics.CodeAnalysis;
2-
using System.Text.Json;
2+
using System.Text.Json.Nodes;
33
using System.Text.Json.Serialization;
44

55
namespace ModelContextProtocol.Protocol;
@@ -35,5 +35,5 @@ public sealed class Root
3535
/// This is reserved by the protocol for future use.
3636
/// </remarks>
3737
[JsonPropertyName("_meta")]
38-
public JsonElement? Meta { get; set; }
38+
public JsonObject? Meta { get; set; }
3939
}

tests/ModelContextProtocol.Tests/Protocol/RootTests.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using ModelContextProtocol.Protocol;
22
using System.Text.Json;
3+
using System.Text.Json.Nodes;
34

45
namespace ModelContextProtocol.Tests.Protocol;
56

@@ -12,7 +13,7 @@ public static void Root_SerializationRoundTrip_PreservesAllProperties()
1213
{
1314
Uri = "file:///home/user/project",
1415
Name = "My Project",
15-
Meta = JsonDocument.Parse("""{"custom":"data"}""").RootElement.Clone()
16+
Meta = new JsonObject { ["custom"] = "data" }
1617
};
1718

1819
string json = JsonSerializer.Serialize(original, McpJsonUtilities.DefaultOptions);
@@ -22,7 +23,7 @@ public static void Root_SerializationRoundTrip_PreservesAllProperties()
2223
Assert.Equal("file:///home/user/project", deserialized.Uri);
2324
Assert.Equal("My Project", deserialized.Name);
2425
Assert.NotNull(deserialized.Meta);
25-
Assert.Equal("data", deserialized.Meta.Value.GetProperty("custom").GetString());
26+
Assert.Equal("data", (string?)deserialized.Meta["custom"]);
2627
}
2728

2829
[Fact]

0 commit comments

Comments
 (0)