.NET开发MCP服务教程以及接入Dify的演示
本文原始出处:公众号:Dotnet Dancer
作者:Wesky
不写前言和介绍,直接动手吧。各种介绍网上多的是。
创建一个基于.NET 8的webapi项目
安装ModelContextProtocol.AspNetCore 包,由于目前【当前日期:2025年4月27日】只有预览版本,所以需要勾选预览版才能搜索到。
开发一个工具类,用于给MCP客户端调用时候,用于应用我们开发的MCP服务功能。返回控制台一个hello world,也返回给客户端hello world
启动项里面,注册MCP服务以及上面的工具类,并开放端口,例如我本地指定9081端口。这些操作,会自动开放Http接口,以及SSE接口。目前MCP服务最常用的就是SSE接口和STDIO接口。此处咱们使用SSE接口,因为几乎所有常见客户端都可以支持SSE。
启动MCP服务,浏览器输入 http://MCP服务IP:端口/sse 输出类似下面内容,说明MCP服务启动成功。
下面我在Dify上面做个测试,在Dify上面使用sse工具,进行配置授权,授权链接配置以后,可以发现控制台输出了一些链接测试的内容。
Dify上的SSE工具配置内容参考:
代码语言:javascript代码运行次数:0运行复制{ "server_name1":
{
"url": "
http://MCP服务1:服务1端口/sse
",
"headers": {}, "timeout": 60,
"sse_read_timeout": 300
},
"server_name2":
{
"url": "
http://MCP服务2:服务2端口/sse
",
"headers": {}, "timeout": 60,
"sse_read_timeout": 300
}
}
创建一个Dify工作流,调用MCP工具,工具名称为我们上面定义的Test,参数为空,进行调用,发现可以正常调用,并且控制台也返回了Hello World,Dify也识别到返回值 Hello World,说明测试成功,MCP服务端测试OK。 如果需要本文的演示源码,公众号内回复:MCP001 即可获取。