如何把ASP.NET Core WebApi打造成Mcp Server

(); PromptExecutionSettings promptExecutionSettings = new() {

FunctionChoiceBehavior = FunctionChoiceBehavior.Auto()

}; var history = new ChatHistory(); while (true) {

Console.Write($"User:");
string input = Console.ReadLine();

if (string.IsNullOrWhiteSpace(input) || input == “exists”)

{
    break;
}

history.AddUserMessage(input);

var chatMessage = await chatCompletionService.GetChatMessageContentAsync(
history,
executionSettings: promptExecutionSettings,
kernel: kernel);

Console.WriteLine(“Assistant:” + chatMessage.Content); history.AddAssistantMessage(chatMessage.Content); } Console.ReadLine(); “ 因为MCP是一个协议标准,所以MCP Server`可以做到一次构建,到处使用。

运行效果

运行的时候需要先运行起来WebApi项目,然后把McpServer编译成exe文件,然后运行McpClient项目,我们打印出来了可用的Tools列表。在Client项目进行对话,询问当前天气效果如下 感兴趣的如果想运行具体的代码示例,可以查看我上传的代码示例https://github.com/softlgl/McpDemo

总结

本文演示了如何把ASP.NET Core WebApi打造成Mcp Server,通过讲解基本概念,介绍使用的框架,以及简单的示例展示了这一过程,整体来说是比较简单的。MCP的重点是标准化,而不是取代。如果想在AI应用中使用MCP,模型需要支持Function Calling.我们可以把原来固定在AI应用里的工具代码单独抽离出来,形成独立的应用,这样这个Tools应用就可以和AI应用隔离,形成独立可复用的工具。 现在AI大部分时候确实很好用,但是它也不是银弹。至于它的边界在哪里,只有不断地使用实践。你身边的事情都可以先用AI尝试去做,不断地试探它的能力。AI帮你做完的事情,如果能达到你的预期,你可以看它的实现方式方法,让自己学习到更好的思路。如果是完全依赖AI,而自己不去思考,那真的可能会被AI取代掉。只有你自己不断的进步,才能进一步的探索AI,让它成为你的好工具。