Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【译】微软与 Anthropic 合作为 MCP 创建官方 C# SDK

【译】微软与 Anthropic 合作为 MCP 创建官方 C# SDK

作者头像
郑子铭
发布于 2025-06-28 06:51:41
发布于 2025-06-28 06:51:41
5800
代码可运行
举报
运行总次数:0
代码可运行

    微软正在与 Anthropic 合作,为模型上下文协议(MCP)创建一个官方的 C# SDK。MCP 已经在人工智能社区得到了迅速的应用,这次合作旨在增强人工智能模型与 C#应用程序的集成。

    该 SDK 是作为一个开源项目在 modelcontextprotocol GitHub 组织中开发的,这使得开发人员很容易找到并在项目上进行协作。该库的 NuGet 包叫 ModelContextProtocol。

    这个库的起点是一个名为 mcpdotnet 的项目,由 Peder Holdgaard Pederson 发起。我们非常感谢 Peder 和其他贡献者所做的工作,他们为官方的 C# MCP 库奠定了坚实的基础。

MCP 是什么?

    模型上下文协议(MCP)是由 Anthropic 创建的一个开放协议,用于实现 LLM 应用程序与外部工具和数据源之间的集成。它最初于2024年11月发布,最近进行了更新,增加了新的流功能。该协议被设计为可扩展和灵活的,允许开发人员创建可用于 LLM 的自定义工具和数据源。

    许多微软产品已经增加了对 MCP 的支持,包括 Copilot Studio、VS Code 的新 GitHub Copilot Agent 模式和 Semantic Kernel。许多微软产品正在创建 MCP 服务器来访问它们的功能。GitHub MCP Server 和 用于浏览器自动化的 Playwright MCP 都是很受欢迎的例子,还有更多的正在开发中。

为什么是 C#?

    C# 是一种流行的编程语言,被许多开发人员使用,尤其是在企业领域。通过为 MCP 创建官方 C# SDK,微软旨在使开发人员更容易将 AI 模型集成到他们的 C# 应用程序中,并使用 C# 构建 MCP 服务器。C# SDK 还利用了现代 .NET 中显著的性能改进,为人工智能应用程序提供了出色的速度和效率。有了.NET 优化的运行时和对容器化的支持,服务在本地开发场景中表现良好。微软的许多核心产品都是用 C# 编写的,包括 Visual Studio、大部分 Azure 服务、支持 Microsoft Teams 和 XBOX 的服务等等。所有这些产品都可以从 MCP 中受益,C# SDK 为此提供了基础。

MCP的简要说明

    AI 应用程序可以使用 MCP 连接到外部工具和数据源,然后将其作为其上下文的一部分提供给 LLM。通过让 LLM 访问和使用外部数据和工具,增强其功能,使其能够执行更复杂的任务。

    AI 应用程序在 MCP 中称为 Host,通过 MCP 客户端与 MCP 服务器通信。MCP 客户端理解 MCP 协议,可以向 MCP 服务器发送请求,然后 MCP 服务器处理请求并返回响应。如下图所示:

    MCP 客户端和服务器端可以交换一组标准消息,包括:

消息

描述

InitializeRequest

该请求在客户端第一次连接时从客户端发送到服务器,要求服务器开始初始化

ListToolsRequest

从客户端发送请求服务器拥有的工具列表

CallToolRequest

客户端用来调用服务器提供的工具

ListResourcesRequest

从客户端发送,请求服务器拥有的资源列表

ReadResourceRequest

从客户端发送到服务器,读取特定的资源URI

ListPromptsRequest

从客户端发出,请求服务器所持有的提示词和提示词模板列表

GetPromptRequest

客户端用于获取服务器提供的提示词

PingRequest

由服务器或客户端发出的一种ping,用于检查对方是否还活着

CreateMessageRequest

服务器向客户端发出的通过客户端对大语言模型(LLM)进行采样的请求。客户端可以自主决定选择使用哪个模型。此外,客户端应在开始采样之前告知用户,以便用户能够检查该请求(引入人工干预环节),并决定是否批准该请求。

SetLevelRequest

从客户端到服务器的请求,以启用或调整日志记录

    正如您所看到的,MCP 协议被设计为灵活和可扩展的,允许开发人员创建可与 LLM 一起使用的自定义工具和数据源。而且已经有很多 MCP 服务器可用,每天都有更多的服务器被创建。modelcontextprotocol/servers repo 中的自述文件包含了参考服务器、第三方服务器和社区服务器的列表,这些服务器总共有数百个。

一个简单的例子——Echo 服务器

    使用官方 C# SDK 创建一个简单的 MCP 服务器非常容易。这里我们将演示 SDK README 中包含的示例 Echo 服务器。Echo 服务器只是回显它从客户机接收到的任何消息,并以“hello”为前缀。

    从一个新的 dotnet 控制台应用程序开始,添加 Microsoft.Extensions.Hosting 和 ModelContextProtocol NuGet 包:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dotnet add package Microsoft.Extensions.Hosting
dotnet add package ModelContextProtocol --prerelease

    然后,将 Program.cs 文件中的代码替换为以下代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using ModelContextProtocol.Server;
using System.ComponentModel;

var builder = Host.CreateApplicationBuilder(args);
builder.Logging.AddConsole(consoleLogOptions =>
{
    // Configure all logs to go to stderr
    consoleLogOptions.LogToStandardErrorThreshold = LogLevel.Trace;
});
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 {message}";
}

    注意:MCP C# SDK 处于预览阶段,Api 可能会发生变化。随着 SDK 的发展,我们将不断更新这个博客,但是如果您遇到上述代码的任何问题,请尝试使用 mcp-csharp README 中的“Getting Started (Server)”部分中的第一个代码示例。

    现在要查看服务器的运行情况,可以使用 MCP Inspector,这是 MCP 服务器的可视化测试工具。

    由于 MCP Inspector 是一个 node 应用程序,您不需要安装它,只需使用 npx 运行它即可。Inspector 的参数是一个将运行服务器的命令。在本例中,我们希望在当前目录下运行服务器,所以我们可以使用 dotnet run:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npx @modelcontextprotocol/inspector dotnet run

    系统可能会提示您安装 Inspector ,您可以按 y 并按 enter 键来安装。Inspector 将启动并执行用于启动服务器的命令。您会在终端上看到一些输出,表明服务器正在启动,然后它会显示一条消息,表明 Inspector UI 准备好了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
🔍 MCP Inspector is up and running at http://localhost:5173 🚀

    打开浏览器窗口并导航到终端中显示的 URL。您应该看到这样的内容:

    现在点击“Connect”按钮连接到服务器。Inspector 将连接到服务器并提供工具列表请求。如果服务器有任何资源或提示,它会提供请求资源或提示列表的功能。

    单击“List Tools”按钮查看服务器所拥有的工具列表。此时,只有一个工具可用,即 Echo 工具。

    现在点击“Echo”工具来查看工具的细节。您将看到工具描述和工具接受的参数的输入框—在本例中,Echo 工具接受一个名为“message”的参数。

    在“message”框中输入消息,然后单击“Run Tool”按钮。Inspector 将调用该工具并显示结果。

    这是一个非常简单的例子来介绍基本的概念。有关更复杂的示例,请参阅 SDK repo 中的 samples 目录。

结论

    这是对 MCP 和新的 MCP C# SDK 的快速介绍。SDK 仍处于早期阶段,但它已经是将 AI 模型集成到 C# 应用程序中的强大工具。SDK 是开源的,可以在 GitHub 上获得,我们欢迎来自社区的贡献。

    尝试 SDK 库中的一个示例,或者使用 SDK 创建自己的 MCP 服务器。如果遇到任何问题,请在 GitHub repo 上创建 issue。

    我们很高兴看到开发人员使用 MCP C# SDK 来发明创造,我们期待看到 MCP 生态系统的成长和发展。

原文连接:https://devblogs.microsoft.com/blog/microsoft-partners-with-anthropic-to-create-official-c-sdk-for-model-context-protocol

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-06-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DotNet NB 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
如何把ASP.NET Core WebApi打造成Mcp Server
MCP (Model Context Protocol)即模型上下文协议目前不要太火爆了,关于它是什么相信大家已经很熟悉了。目前主流的AI开发框架和AI工具都支持集成MCP,这也正是它的意义所在。毕竟作为一个标准的协议,当然是更多的生态接入进来才会有意义。使用MCP我们可以把Tools调用标准化,这意味着我们可以忽略语言、框架快速把工具融合到不同的模型中去。现在,如何把现有的业务逻辑快速的接入到模型中,成为模型落地很关键的一步,今天我们就借助微软的Semantic Kernel和Microsoft.Extensions.AI框架,通过简单的示例展示,如何把现有的ASP NET Core WebApi转换成MCP Server。
郑子铭
2025/06/11
1250
如何把ASP.NET Core WebApi打造成Mcp Server
.NET AI生态关键拼图:深度解读AI Extensions 和 Vector Extensions 如何重塑.NET开发生态
关注.NET AI和.NET Vector原生开发已有半年之久了,其核心组件在历经这半年预发布期的持续迭代后,终于在5月16日和5月20日逐步发布了。在此之前,基于预发布版本撰写的文章和调试工作常常受限于功能的缺失,许多特性无法正常调用,只能通过下载源代码进行调试。
AI.NET 极客圈
2025/06/10
1210
.NET AI生态关键拼图:深度解读AI Extensions 和 Vector Extensions 如何重塑.NET开发生态
一文读懂 MCP!大模型如何用它连接世界,打造更智能的 AI Agent?
最近,MCP[1](模型上下文协议,Model Context Protocol)在 AI 圈子里火了起来。然而,很多人对它的概念仍然感到困惑,包括我在最初接触时也是如此。
AgenticAI
2025/03/19
1.5K0
一文读懂 MCP!大模型如何用它连接世界,打造更智能的 AI Agent?
MCP 和 Function Calling:示例
实现这样一个场景:和大模型聊天,然后让大模型将回答的内容总结后保存到 flomo 笔记中。
郑子铭
2025/05/25
2740
MCP 和 Function Calling:示例
工良出品 | 长文讲解 MCP 和案例实战
示例项目地址:https://github.com/whuanle/mcpdemo
痴者工良
2025/04/22
1.8K1
工良出品 | 长文讲解 MCP 和案例实战
什么是MCP?本地如何开发MCP Server
MCP(Model Context Protocol)全称模型上下文协议,是由 Anthropic 推出的一种开放标准,旨在统一大型语言模型(LLM)与外部数据源和工具之间的通信协议。
叫我阿柒啊
2025/04/06
5.4K2
什么是MCP?本地如何开发MCP Server
.NET MCP项目对比分析:MCPSharp、mcpdotnet与ModelContextProtocol.NET
MCP(Model Context Protocol)协议是一种由Anthropic推出的开放协议,旨在实现大型语言模型(LLM)与外部数据源和工具之间的无缝集成。简要对比分析三个.NET的MCP项目(MCPSharp、mcpdotnet、ModelContextProtocol.NET)如下:
张善友
2025/03/04
2K0
MCP SDK 快速接入 DeepSeek 并添加工具!万万没想到MCP这么简单好用!
重新整理了上篇文章,主要修正了错误的地方,加上了正确的截图和代码!感谢大家的积极指正!
萌萌哒草头将军
2025/04/19
1.5K0
MCP SDK 快速接入 DeepSeek 并添加工具!万万没想到MCP这么简单好用!
如何用Spring AI构建MCP Client-Server架构
现代 Web 应用正加速与大语言模型(LLMs)深度融合,构建超越传统问答场景的智能解决方案。为突破模型知识边界,增强上下文理解能力,开发者普遍采用多源数据集成策略,将 LLM 与搜索引擎、数据库、文件系统等外部资源互联。然而,异构数据源的协议差异与格式壁垒,往往导致集成复杂度激增,成为制约 AI 应用规模化落地的关键瓶颈。因此,Anthropic公司推出了模型上下文协议(Model Context Protocol, MCP),通过标准化接口为 AI 应用与外部数据源建立统一交互通道。这一协议体系不仅实现了数据获取与操作的规范化,更构建起可扩展的智能体开发框架,使开发者能够基于原生 LLM 能力快速构建复杂工作流。
程序猿DD
2025/03/27
2.5K0
如何用Spring AI构建MCP Client-Server架构
一文带你入门 MCP(模型上下文协议)
MCP(Model Context Protocol,模型上下文协议) 是由 Anthropic 推出的一种开放标准,旨在统一大型语言模型(LLM)与外部数据源和工具之间的通信协议。MCP 的主要目的在于解决当前 AI 模型因数据孤岛限制而无法充分发挥潜力的难题,MCP 使得 AI 应用能够安全地访问和操作本地及远程数据,为 AI 应用提供了连接万物的接口。
Se7en258
2025/05/21
3550
一文带你入门 MCP(模型上下文协议)
爆火MCP的来时路:LLM开启超进化,从函数调用到通用上下文协议
2022年11月30日,ChatGPT的发布正式敲响了大语言模型(LLM,Large Language Models)时代的大门。而后的2023年,自然语言处理(NLP,Netural Language Process)技术飞速发展,LLM领域取得了诸多重大突破,这一年也被称为LLM元年。同年6月13日,OpenAI在gpt-4-turbo模型中首次引入函数调用(Function Calling)能力,为LLM突破纯文本交互边界迈出关键一步。而后的2024年11 月 25 日,Claude AI的开发商Anthropic开源的模型上下文协议(MCP,Model Context Protocol)通过建立规范化的模型间通信标准,进一步扩展了LLM应用的上限。2025年3月27日,OpenAI 宣布正式支持MCP,再次将MCP送上热搜... 在人工智能技术日新月异的今天,如何让模型更加智能、灵活地与现实系统或其他模型进行交互,已成为推动AI应用落地的关键课题。在接下来的内容中,本文将着重介绍函数调用与MCP出现的历史缘由以及必要性,并在文末结合腾讯广告API简单演示了MCP与业务结合的实践示例。
腾讯云开发者
2025/05/14
5470
爆火MCP的来时路:LLM开启超进化,从函数调用到通用上下文协议
MCP协议从原理到开发:一文读懂大模型交互的标准化革命!
本文系统介绍了MCP协议在大模型交互标准化中的创新应用,通过技术解析+实践案例的方式,阐述了MCP协议的架构设计、开发实现原理及实际应用效果。重点探讨了MCP如何解决AI工具调用碎片化问题,并通过企业微信机器人开发实例展示MCP服务端/客户端开发全流程,干货满满点赞收藏!
腾讯云开发者
2025/04/18
3.4K1
MCP协议从原理到开发:一文读懂大模型交互的标准化革命!
工良出品 | 长文讲解 MCP 和案例实战
示例项目地址:https://github.com/whuanle/mcpdemo
郑子铭
2025/06/07
4920
工良出品 | 长文讲解 MCP 和案例实战
MCP:AI Agent和API之间缺失的环节
重磅!Anthropic推出开源标准MCP,标准化AI Agent的API访问!Speakeasy力推MCP Server Generation,连接LLM与API生态。对比OpenAPI,MCP是动态的Server-Client交互。Vercel、Dub已用上!未来或有更多AI巨头入局,LangChain、AutoGen等Agent框架迎来新机遇!
云云众生s
2025/03/15
3550
MCP:AI Agent和API之间缺失的环节
大模型协议|深入理解MCP协议
前几日群里还在讨论MCP,好奇心的驱使,我也去看了下,搞了一通之后发现还需要梯子就没有再研究下去,今日闲来无事又开始琢磨琢磨,开始折腾之旅。
六月暴雪飞梨花
2025/03/14
1.4K2
大模型协议|深入理解MCP协议
MCP TypeScript SDK 初体验:挑战快速搭建一个 AI 应用!
这篇文章记录一下我用 MCP TypeScript SDK 实现一个自包含的 AI 聊天应用的过程:内部包含 MCP 服务器提供上下文,客户端拿上下文再去调 LLM 接口拿回答!
萌萌哒草头将军
2025/04/11
6620
MCP TypeScript SDK 初体验:挑战快速搭建一个 AI 应用!
元控制协议 (MCP) 与模型上下文协议 (MCP) 之比较分析
本文旨在对“元控制协议 (Meta-Control-Protocol)”与“模型上下文协议 (Model Context Protocol)”这两个名称缩写相同的协议进行全面的比较分析。鉴于两者名称的相似性,理解它们各自的定义、应用领域、技术特性以及相互关系至关重要。通过对现有研究资料的深入分析,本文将详细阐述这两个协议的功能、使用场景以及它们在各自领域内的重要性,从而帮助读者区分并理解这两个截然不同的技术概念。
用户7930345
2025/04/15
2470
.NET周刊【5月第2期 2025-05-11】
https://www.cnblogs.com/Can-daydayup/p/18865040
InCerry
2025/05/24
780
.NET周刊【5月第2期 2025-05-11】
拆解OpenAI最大对手的杀手锏:为什么会是MCP?
当Model Context Protocol(MCP)在2024年11月首次亮相时,技术社区曾短暂为之振奋——从Copilot到Cognition再到Cursor,主流AI工具链玩家相继宣布接入支持。然而这场技术狂欢如同流星划过,直到2025年2月AI工程师峰会上演了惊人转折。令人意外的是,这场长达120分钟的技术布道竟在社交媒体引发病毒式传播。这场现象级传播背后,是开发者社区对MCP规范白皮书技术细节的饥渴,更是对首个"AI原生协议标准"时代来临的集体觉醒。
半吊子全栈工匠
2025/05/26
3995
拆解OpenAI最大对手的杀手锏:为什么会是MCP?
C# 一分钟浅谈:GraphQL API 与 C#
这里推荐一篇实用的文章:《C++新旅程:三大特性之继承,详细介绍》,作者:【池央】。
Jimaks
2024/11/25
1850
推荐阅读
相关推荐
如何把ASP.NET Core WebApi打造成Mcp Server
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验