csharp-sdk/samples/anthropic/tools/ToolsConsole/McpToolExtensions.cs
Peder Holdgaard Pedersen 3e35efe79c
Reorganize folders, samples, minor bug fix (#14)
Reorganize folders
Samples
Casing fixes
2025-01-18 12:34:13 +01:00

32 lines
No EOL
1 KiB
C#

using Anthropic.SDK.Common;
using System.Text.Json;
using System.Text.Json.Nodes;
public static class McpToolExtensions
{
public static IList<Anthropic.SDK.Common.Tool> ToAnthropicTools(this IEnumerable<McpDotNet.Protocol.Types.Tool> tools)
{
List<Anthropic.SDK.Common.Tool> result = new();
foreach (var tool in tools)
{
var function = tool.InputSchema == null
? new Function(tool.Name, tool.Description)
: new Function(tool.Name, tool.Description, JsonSerializer.Serialize(tool.InputSchema));
result.Add(function);
}
return result;
}
public static Dictionary<string, object>? ToMCPArguments(this JsonNode jsonNode)
{
if (jsonNode == null)
return null;
// Convert JsonNode to Dictionary<string, object>
return jsonNode.AsObject()
.ToDictionary(
prop => prop.Key,
prop => JsonSerializer.Deserialize<object>(prop.Value)!
);
}
}