Files
csmcp/Program.cs
2025-05-29 23:00:05 +09:00

41 lines
1.2 KiB
C#

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using ModelContextProtocol.Server;
using System.ComponentModel;
internal class Program
{
private static async Task Main(string[] args)
{
var builder = Host.CreateApplicationBuilder(args);
builder.Logging.AddConsole(consoleLoggerOptions =>
{
consoleLoggerOptions.LogToStandardErrorThreshold = LogLevel.Trace;
});
builder.Services.
AddMcpServer().
WithStdioServerTransport().
WithToolsFromAssembly();
await builder.Build().RunAsync();
}
}
[McpServerToolType]
public static class EchoTool
{
[McpServerTool, Description("Echoes the message back to the client.")]
public static string Echo(string message) => $"Hello from C#: {message}";
[McpServerTool, Description("Echoes in reverse the message sent by the client.")]
public static string ReverseEcho(string message)
{
char[] charArray = message.ToCharArray();
Array.Reverse(charArray);
var reversed = new string(charArray);
return reversed;
}
}