C#实现自己的MCP Client

360影视 欧美动漫 2025-05-21 09:53 2

摘要:我是编程乐趣,一个10年.Net开发经验老程序员,点击右上方“关注”,每天为你分享开源项目和编程知识。私信回复:888,领取.Net学习资料!

市面上,有很多免费Client客户端。

虽然说,这些Client客户端可以满足我们大部分的需求,但是在实际企业业务场景中,免费的Client无法全部满足我们的需求。

下面我们用C# 实现MCP Client。

新建项目

框架选择.Net 8

添加依赖库:ModelContextProtocol,版本为:最新预发行版 0.1.0-preview.13,添加的时候记得勾选:包括预发行版。

这个是官方提供的C#版本的SDK,官网:https://modelcontextprotocol.io/introduction。

三、实现客户端

下面代码,创建一个SSE客户端实例,并获取工具列表。

using ModelContextProtocol.Client; // 包含 McpClientFactory 和 McpClient 相关定义using ModelContextProtocol.Protocol.Transport; // 包含传输层相关类,如 SseClientTransport// 创建一个 SSE(Server-Sent Events)客户端传输配置实例var config = new SseClientTransport( // 配置传输选项,指定服务端点(Endpoint) new SseClientTransportOptions { // 设置远程服务器的 URI 地址 (记得替换真实的地址,从魔搭MCP广场获取) Endpoint = new Uri("https://mcp.api-inference.modelscope.cn/sse/215e9461d2xxxxx") });// 使用配置创建 MCP 客户端实例var client = await McpClientFactory.CreateAsync(config);// 调用客户端的 ListToolsAsync 方法,获取可用工具列表var listToolsResult = await client.ListToolsAsync;Console.WriteLine("功能列表:");// 遍历工具列表,并逐个输出到控制台foreach (var tool in listToolsResult){ Console.WriteLine($" 名称:{tool.Name},说明:{tool.Description}" );}

运行效果如下,Fetch网页内容抓取,提供的工具列表。

这里MCP Server用的协议是Sse,Stdio协议实现,等后续文章自定义MCP Server会讲到。

官方也有提供C# 实现客户端的例子:

https://modelcontextprotocol.io/quickstart/client#c。

- End -

更多.Net开源项目合集(已整理300个):

来源:编程乐趣一点号

相关推荐