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

.net AI MCP 入门 适用于模型上下文协议的 C# SDK 简介(MCP)

前言

最近看到很多文章都在谈mcp,但是很多文章都会给人一种感觉——看了,也好像啥也没看。本质上还是没懂,今天我们一起来学习下啥是mcp,让我们在一个极短的时间内,以说人话的方式,快速吃透它,让它为您所用。

起源

随着ai大模型的逐步崛起,各大ai大模型都已经变得非常厉害,它拥有很多知识,能写文章、能写代码、能识图。但是它们有一个局限性,就是在自己的圈子里很厉害,出了这个圈子啥也干不了。

啥意思? 给你举一个例子您就懂了。

  • 比如,在我们的电脑上有一个文件夹,里面放着开发相关的资料,你可以轻易的读取和修改这里的资料,但是对于ai来说就很为难,因为它无法直接读取、修改你的文件。于是,你不得不,手动复制粘贴后告诉ai,是不是很麻烦

  • 又比如,你有一个项目的原型设计放在figma上的,你可以自己拿着它做开发设计,但是ai也看不了;于是你只能,截图的方式告诉ai你的设计

  • 再比如,在你电脑的本地运行这一个mysql数据库,对你来说要查找users表里一个叫张三的用户非常easy,但是ai它无法直接读取你的数据库。

看到了吧~,说起ai很厉害,但是一遇到具体点的事,ai还得靠人,本质上就是大模型虽然智商很高,但是没有自己的手足,很多东西落不了地。

在没有mcp的情况下,为了解决上面的问题有两种办法:

  1. 人工处理(比如手动复制粘贴,很繁琐)

  2. 使用大模型的一个叫函数调用的功能(但是每次都要针对某个大模型做定制,存在大量重复开发的问题)

在这种情况下,Anthropic公司,也就是在代码编写方面拥有最强大模型Claude 3.7 sonnet的那家公司提出了mcp的概念。

为了解决这种混乱的局面,制定了mcp协议,统一ai大模型与各种外部工具的通信方式

原理

这里大致说下原理,首先mcp是一种协议,既然是一种协议它其实没什么神秘的,和我们常说的http协议这些常见协议没有什么不同,只不过它是用于ai大模型与外部工具通信的协议

另外,它的是一个client和server端通信的协议,server端提供具体的服务,这是不是和我们熟悉的http差不多呢,下面是运行交互的图,你看一眼就明白了。

这里着重说明下,通常我们在使用时是在一个工具里面使用比如cursorwindsurfvscode里,在这些工具里使用时,本质是同时整合了ai大模型和mcp client端的。

mcp server

目前官方为python、typescript、java、c#都提供了mcp sdk,直接集成去写也比较简单。限于篇幅,就不展开了,如果您比较感兴趣,可以到[这里]看看(modelcontextprotocol.io/introductio…)

Introduction - Model Context Protocol

目前市面上,大部分mcp的server都是通过python或者typescript写的。你想用mcp也不用自己去从头开始开发,因为大部分常用功能,已经有人开发好了。

去哪里获取mcp server呢? 主要有两个:

  1. mcp.so/ 非常全啊,目前显示有4880个啦

  2. mcp.composio.dev/ 这里要少一点,但是如果你使用cursor、windsurf会非常友好,它提供命令行直接复制运行就装上了很省事啊。

实操

前面说了那么多,总算来到实战了。说了那么多理论,那还不是为了我们更好的理解然后使用嘛,为了方便说明,我这里以windsurf演示说明

PS: 如果在cursor中安装更简单。如果你使用的是vscode可以通过cline插件去体验安装,安装好后您可以看到一个mcp市场直接搜就行,也支持手动安装。

step1: 打开上面我们提供的任意一个mcp server网站,比如mcp.so/ 然后搜索我们需要的mcp server名,比如这里我需要安装一个playwright——它是一个自动运行浏览器的mcp server.

step2:

  1. 点击进去后,切换到content tab,

  2. 然后下拉找到对应的example config位置,复制mcpservers 内部的这个json参数备用。

 

  1. 然后打开你的编辑器我这里打开的是windsurf(你打开你的编辑器找到对应配置位置就行) 在windsurf中打开聊天框,下面有一个类似锤子的按钮,点击它然后在配置文件中,把你第二部分的复制内容粘贴进行,然后点击聊天按钮下的一个刷新按钮就行,激活以后可以看到当前有几个mcp server,并且可以看到每个mcp下有哪些工具。

好啦现在你已经安装完毕了,剩下的事你就可以直接在聊天框里告诉ai要做什么事,然后ai会决定什么时候使用mcp server的

PS: 大部分mcp的安装都非常简单,就是类似复制上面的配置json,粘贴,然后保存的事;要么就是一个命令行,直接粘贴到终端运行就行了。

最后,快去发现你想要的mcp server并安装它吧。

微软 适用于模型上下文协议的 C# SDK 简介(MCP)

发布日期2025年4月16日

欢迎使用适用于 MCP 的官方 C# SDK 的指南! 在此视频中,我们将引导你完成开始所需的一切,从设置开发环境到构建你自己的 MCP 服务器。 我们还将深入了解如何在 Visual Studio Code 中工作,展示改进编码体验的提示和技巧。 无论你是初学者还是经验丰富的开发人员,本教程都适合所有人。 让我们开始编码!

适用于模型上下文协议的 C# SDK 简介(MCP) | Microsoft Learn

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using ModelcontextProtocol.Server,
using System.ComponentModel;
var builder = Host.CreateEmptyApplicationBuilder(settings: null);
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}".
IMcpServerTool, Description("Echoes in reverse the message sent.")]public static string ReverseEcho(string message)=> message.Reverse().


它簡單地將 消息並反轉它 

modelcontextprotocol/csharp-sdk: The official C# SDK for Model Context Protocol servers and clients. Maintained in collaboration with Microsoft.

官方文档

.NET AI 和 MCP 入门 - .NET | Microsoft Learn

http://www.dtcms.com/a/483402.html

相关文章:

  • 做网站哪里需要用钱dedecms做电影网站
  • ZYNQ裸机开发指南笔记
  • Starlake:一款免费开源的ETL数据管道工具
  • 线性代数 | 要义 / 本质 (上篇)
  • 求网站建设和网页设计的电子书自己怎么给网站做优化
  • DM常用命令
  • 有趣的网站代码短视频运营公司网站建设
  • 网站模板二次开发网站怎么投放广告
  • Symmetric functions and hall polynomials 1.1 总结
  • 学好网页设计与网站建设的意义北京的软件公司
  • TCP三次握手与四次挥手详解
  • C++智能指针解析
  • Java 大视界 -- Java 大数据中的时间序列预测算法在金融市场波动预测中的应用与优化
  • 如何看网站关键词用discuz做的手机网站
  • 使用spring-ai时遇到的一些问题
  • 基于 recorder-core 的实时音频流与声纹识别技术实践
  • 成都没有做网站的公司详谈电商网站建设四大流程
  • 找平面设计师网站网页传奇游戏下载
  • C语言--复杂数据类型
  • 如何用“内容+AI”组合拳赋能导购,实现品牌高效增长?
  • 扁平化网站设计趋势wordpress可视化编辑器 windows
  • 网站数据维护滨州网站建设公司报价
  • C++ 之 串口通讯封装类
  • WHAT - 前端性能指标(网络相关指标)
  • 阿里云服务器怎么建网站常德市网络科技有限公司
  • 工程记录:使用tello edu无人机进行计算机视觉工作(手势识别,yolo3搭载)
  • 河北seo网站设计网站视频放优酷里面怎么做
  • 频偏估计方法--快速傅里叶变换(FFT)估计法
  • Flutter---Container
  • 揭阳专业做网站公司深圳做网站价格