当前位置: 首页 > wzjs >正文

做网站推广汉狮网络软文媒体

做网站推广汉狮网络,软文媒体,深圳建筑设计院招聘信息,做整形网站多少钱MCP 入门实战:用 C# 开启 AI 新篇章 一、什么是 MCP? MCP,全称为 Model Context Protocol(模型上下文协议),是一个开放的协议,它为应用程序向大型语言模型(LLM)提供上下…

MCP 入门实战:用 C# 开启 AI 新篇章

一、什么是 MCP?

MCP,全称为 Model Context Protocol(模型上下文协议),是一个开放的协议,它为应用程序向大型语言模型(LLM)提供上下文的方式进行了标准化。你可以把 MCP 想象成 AI 应用程序的“USB-C 接口”。就像 USB-C 让设备能轻松连接各种外设和配件一样,MCP 让 AI 模型能轻松连接各种数据源和工具。

二、 为什么选择 MCP?

MCP 为开发者提供了诸多便利:

  • 丰富的预构建集成:MCP 提供了一个不断增长的预构建集成列表,LLM 可以直接使用这些集成,无需从头开始构建。
  • 灵活切换 LLM 提供商:你可以轻松切换不同的 LLM 提供商和厂商,而无需担心兼容性问题。
  • 数据安全:MCP 提供了在你的基础设施内安全处理数据的最佳实践,确保你的数据安全可靠。

三、MCP 的通用架构

MCP 采用客户端-服务器架构,主要组件包括:
在这里插入图片描述

  • MCP Hosts(主机应用):如 Claude Desktop、IDE 或 AI 工具,这些程序希望通过 MCP 访问数据。
  • MCP Clients(客户端):维护与服务器一对一连接的协议客户端。
  • MCP Servers(服务器):轻量级程序,通过标准的 Model Context Protocol 提供特定能力。
  • 本地数据源:MCP 服务器可安全访问的计算机文件、数据库和服务。
  • 远程服务:MCP 服务器可连接的互联网上的外部系统(如通过 APIs)。

四、实战:使用 C# 开发 MCP

C# 是一种功能强大的编程语言,非常适合用于 MCP 开发。你可以使用 C# 来构建 MCP 服务器和客户端,并与各种数据源和工具进行集成。

4.1构建MCP Server

使用dotnet命令创建名为**McpServerDemo(MCP服务)**并安装上mcp和host依赖

dotnet new console -n McpServerDemo
cd McpServerDemo
dotnet add package ModelContextProtocol --prerelease
dotnet add package Microsoft.Extensions.Hosting

以下代码使用 C# 和 MCP C# SDK 创建一个简单的 MCP 服务器。使用MCP服务器,包含标准输入输出传输协议,并加载程序集中的工具 ,其中TimeTool 类定义了一个工具方法,用于获取指定城市的当前时间。如果启动过程中遇到异常,代码将捕获并输出错误信息。

using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.DependencyInjection;
using ModelContextProtocol.Server;
using System.ComponentModel;try
{// 输出启动信息  Console.WriteLine("正在启动MCPServer");// 创建一个空的应用程序构建器  var builder = Host.CreateEmptyApplicationBuilder(settings: null);// 配置服务:添加MCP服务器,使用标准输入输出传输协议,并加载程序集中的工具  builder.Services.AddMcpServer().WithStdioServerTransport().WithToolsFromAssembly();// 构建并运行应用程序  await builder.Build().RunAsync();return 0;
}
catch (Exception ex)
{// 捕获异常并输出错误信息  Console.WriteLine($"主机意外终止: {ex.Message}");return 1;
}// 定义一个工具类,标记为MCP服务器工具类型  
[McpServerToolType]
public static class TimeTool
{// 定义一个工具方法,获取指定城市的当前时间  [McpServerTool, Description("Get the current time for a city")]public static string GetCurrentTime(string city) =>$"当前城市:{city},当前时间:{DateTime.Now.Hour}:{DateTime.Now.Minute}。";
}

4.2构建MCP Client

使用dotnet命令创建名为**McpClientDemo(MCP客户端)**项目。

dotnet new console -n McpClientDemo
cd McpClientDemodotnet add package ModelContextProtocol --prerelease

使用 C# 和 MCP C# SDK 创建一个 MCP 客户端,创建了一个基于标准输入输出的客户端传输对象,并指定了要连接的mcp服务器命令路径。然后,异步创建了一个 MCP 客户端,并使用该客户端列出了服务器上所有可用的工具及其描述。最后,调用名为“GetCurrentTime”的工具,传递了参数“city”为“北京”,并输出了当前城市和时间。

using ModelContextProtocol.Client;
using ModelContextProtocol.Protocol.Transport;// 创建一个基于标准输入输出的客户端传输对象  
var clientTransport = new StdioClientTransport(new StdioClientTransportOptions
{Name = "Current Time MCP Server", // 传输的名称  Command = @"D:\Code\AI\McpServerDemo\bin\Debug\net9.0\McpServerDemo.exe" // 要执行的命令路径(对应MCPServerDemo) 的绝对路径 
});// 异步创建一个MCP客户端  
await using var mcpClient = await McpClientFactory.CreateAsync(clientTransport);// 示例:调用工具列表并输出每个工具的名称和描述  
foreach (var tool in await mcpClient.ListToolsAsync())
{Console.WriteLine($"{tool.Name} ({tool.Description})");
}// 调用名为“GetCurrentTime”的工具,传递参数“city”为“北京”  
var result = await mcpClient.CallToolAsync("GetCurrentTime",new Dictionary<string, object?>() { ["city"] = "北京" });// 输出调用结果中第一个类型为"text"的内容  
Console.WriteLine(result.Content.First(c => c.Type == "text").Text);

4.3 运行MCP Server和Client

运行mcp server和client可以看到输出当前城市和北京,这说明完成了通过客户端调用服务端的工具类。
在这里插入图片描述

五、总结

本文介绍了MCP的基本概念,并介绍了使用MCP C# SDK构建MCP Server和Client控制台服务,简单阐述了MCP的入门。在AI大热的今天,赶紧把MCP掌握起来吧!

http://www.dtcms.com/wzjs/171885.html

相关文章:

  • 网站开发前期准备宁波网站推广平台效果好
  • 怎么做网站实惠鹤壁seo推广
  • 网站商城制作百度官网首页官网
  • 淘宝可以在哪些网站上面打做推广百度一下首页网页百度
  • 网站正在建设推广哪个app最挣钱
  • 东莞网站建设公司口碑排名信阳seo推广
  • 专业做网站技术高端企业网站模板
  • 领养网站开发教程java webseo关键词排名技巧
  • 网址站点异常怎么解决网站关键词如何优化上首页
  • 工商注册代理沈阳seo关键词
  • 做游戏的网站有哪些如何注册网址
  • 网站数据库做好了 怎么做网页小时seo百度关键词点击器
  • 网站建设手机官网2022当下社会热点话题
  • 成人自考本科seo文章优化方法
  • 英特尔nuc做网站服务器我想做电商
  • 河南住房和城乡建设厅职称网站app推广怎么做
  • 深圳公司地址变更搜索引擎网站优化和推广方案
  • 怎么创建自己的公司网站网站服务器查询工具
  • 绥芬河网站建设seo外包服务项目
  • h5网页制作基础教程seo的方式包括
  • 公司注册资本多少有什么关系合肥seo搜索优化
  • 网站静态模板下载站外推广渠道有哪些
  • 北京物流网站建设windows7优化大师官方下载
  • 想给公司做个网站怎么做上海网站关键词排名优化报价
  • 珠海品牌机械网站建设百度手机怎么刷排名多少钱
  • WordPress金融网站杭州seo网站哪家好
  • 艺术培训机构浑江区关键词seo排名优化
  • 阿里云1m 宽带做网站服务器百度风云排行榜
  • 深汕特别合作区属于深圳吗上海自动seo
  • 凯里哪里有做网站的网站建设价格