AI在线 AI在线

利用MCP创建AI代理:C# 实践指南

译者 | 晶颜审校 | 重楼大型语言模型(LLMs)的快速演进已对人工智能应用领域产生颠覆性影响,其核心优势在于具备自然语言理解与生成能力及逻辑推理能力。 然而,LLMs仍存在显著局限性:无法访问实时数据源,亦不能调用外部计算工具。 这种“信息孤立”状态使其无法提供实时更新的信息,同时限制了其在动态系统中的适配能力及文本生成之外的任务执行能力。

译者 | 晶颜

审校 | 重楼

大型语言模型(LLMs)的快速演进已对人工智能应用领域产生颠覆性影响,其核心优势在于具备自然语言理解与生成能力及逻辑推理能力。然而,LLMs仍存在显著局限性:无法访问实时数据源,亦不能调用外部计算工具。这种“信息孤立”状态使其无法提供实时更新的信息,同时限制了其在动态系统中的适配能力及文本生成之外的任务执行能力。

当前行业针对该问题的解决方案,要求开发人员为每个数据源或工具单独构建应用连接,导致系统结构复杂,不仅难以实现管理、扩展,也无法在不同AI应用间形成标准化体系。无论是通信协议、认证机制还是数据转换逻辑,均需针对每个集成项目开展定制化开发,最终造成开发成本高企、跨系统兼容性不足等问题。

模型上下文协议(MCP)通过通用接口标准有效解决了上述痛点,为AI系统与外部资源的连接提供了标准化方案。其运作逻辑可简化为:构建“AI应用的USB-C接口”,使所有符合MCP标准的客户端,无需掌握具体实现细节,即可与任意符合MCP标准的服务器建立连接。

凭借标准化特性,MCP为开发人员构建AI代理提供了多重核心优势:其一,所有连接的API层面保持一致性,大幅简化多数据源集成流程;其二,标准化的认证与授权机制,提升系统安全性与隐私控制能力;其三,标准化特性支持开发可复用组件,供不同组织及各类AI应用灵活调用。

MCP的价值不仅限于功能可用性层面。基于其标准协议,可构建完善的生态系统,使AI代理在不同工具与数据源之间切换时,无需担心上下文与状态丢失。而开发需执行复杂多步骤任务的AI代理,恰恰需要具备与多系统交互的能力,MCP的这一特性为此类开发提供了关键支撑。

C#编程语言和.NET生态系统为基于MCP的AI代理开发提供了最佳基础。由Anthropic与微软联合开发的官方C# SDK,充分利用现代.NET应用的依赖注入、托管及配置功能。这种深度集成使开发人员能够构建可扩展、易维护的AI代理,且该类代理可适配多种部署环境,从本地开发机器到云端生产系统均能稳定运行。

本文为C#环境下基于MCP的AI代理开发与部署提供了详尽指南,内容涵盖协议架构解析、实现模式研究,以及如何依托MCP功能开发满足安全、性能及维护要求的高效AI代理。

模型上下文协议基础原理

模型上下文协议(MCP)的架构设计基于业界广泛认可的通信标准与设计原则,核心目标是实现系统间的互操作性、安全性与可扩展性。MCP采用JSON-RPC 2.0作为消息格式,为客户端与服务器间的远程过程调用提供高效且可靠的框架。协议设计过程中,未选择开发全新通信方式,而是优先采用已成熟验证的技术,确保协议稳定性与兼容性。

MCP采用客户端-服务器架构模式:AI应用程序(主机)运行MCP客户端,客户端与MCP服务器建立连接;服务器通过资源、工具、提示等各类功能,向已连接的客户端开放服务能力。系统组件呈现非对称结构特征:客户端主动发起连接流程,随后向服务器发送请求;服务器仅响应客户端请求,并可选择性对请求进行采样处理。

MCP借鉴了语言服务器协议(LSP)的核心设计理念——LSP已在软件开发生态中实现编程语言服务与开发工具交互的标准化。与LSP类似,MCP支持任意AI应用通过标准化接口连接至任意数据源或工具,打破了传统开发中的“接口壁垒”。

能力协商是MCP架构的关键机制,旨在保障客户端与服务器间的兼容性。连接建立初期,双方会执行握手流程,交换能力信息并明确各自可提供的功能。这一机制确保即便客户端与服务器的功能集、版本或能力存在差异,系统仍能保持稳定连接。

安全与信任是MCP架构设计的核心考量因素。鉴于MCP支持任意数据访问与代码执行,具备强大功能拓展性,因此对用户授权、数据隐私及工具安全性提出了严格要求。安全设计贯穿协议架构全流程,为基于MCP的系统在生产环境中的安全部署提供了底层保障。

核心组件与功能特性

MCP系统由多个关键组件构成,各组件协同工作,实现AI系统与外部资源的深度整合。开发基于MCP的AI代理,需首先深入理解这些核心组件的功能与作用机制。

资源组件

资源是MCP系统中的核心数据访问载体。通过资源组件,服务器可向AI模型及用户提供标准化的内容与关联背景信息。每个资源均具备唯一URI,用于身份标识,且可承载从基础文本文件到复杂结构化信息等各类内容。资源抽象机制使服务器能够实现数据分发,而无需客户端掌握数据存储方式或访问协议,降低了客户端开发复杂度。

根据内容特性,资源可分为两类:

  • 静态资源:包含长期稳定、极少变更的内容,如文档、配置文件等;
  • 动态资源:内容会根据当前系统数据及外部环境因素实时生成,支持AI代理整合实时信息。

凭借资源组件的灵活性,MCP服务器可作为AI系统与实时数据库、API、监控系统等外部资源的数据桥梁,实现多源数据的高效对接。

行动导向组件

MCP的行动导向组件包含能够使AI模型在连接的系统中运行功能并执行操作的工具。工具定义需包含完整架构细节,明确输入参数要求、预期输出结果及行为描述。基于标准化架构定义,AI模型可准确理解工具使用方式,同时保障类型安全性与操作可验证性。

系统安全与用户管理是MCP工具执行机制的核心设计原则:工具调用前需获得用户明确授权,协议支持用户在工具运行前核查其使用范围与权限。这种设计使AI代理能够执行复杂自动化任务,同时有效防范未授权操作风险。

提示组件

提示组件使服务器能够向AI应用提供预置的通信模板与流程模板。与主要为AI模型提供数据支持的资源、工具不同,提示组件的核心作用是通过为任务与查询提供结构化模板,支撑人机交互过程。这些模板包含可自定义参数,参数值可从当前上下文自动获取。

借助提示组件,开发人员可构建可复用的交互模式,适配各类AI应用场景。对于需建立标准化AI交互流程,或为缺乏最优提示策略的用户提供分步指导的组织而言,该组件的价值尤为突出。

传输层与通信机制

MCP的传输层为客户端与服务器间的通信提供基础支撑,支持多种传输机制,以适配不同部署场景与业务需求。协议采用“传输无关”设计理念,确保相同应用逻辑可在各类通信通道中直接运行,无需修改代码。

标准输入/输出(stdio)传输

stdio是MCP实现中最常用的传输机制,其核心优势在于依托各操作系统与编程环境中均具备的标准输入/输出流,实现广泛兼容性。该传输方式尤其适用于本地开发场景,以及MCP服务器作为独立进程部署、且由客户端应用程序启动和管理的场景。

在开发与测试阶段,stdio传输具备显著优势:通过标准日志机制实现便捷调试;支持进程生命周期的简化管理;配置需求极低;同时天然实现进程隔离,避免服务器故障直接影响客户端应用程序运行。

HTTP传输

HTTP传输机制将MCP的应用范围拓展至分布式系统与网络化部署场景。通过支持标准HTTP协议,MCP服务器可作为网络服务部署,实现任意联网客户端的访问。这种传输方式使“共享MCP服务器(为多客户端应用提供服务)”、“云端部署(服务器与客户端处于不同环境)”等场景成为可能。

HTTP传输引入了额外的认证、授权及网络安全考量,MCP通过可扩展头部机制及对标准HTTP安全实践的支持,满足上述安全需求;同时,协议还定义了针对HTTP特有问题(如连接池管理、超时控制、错误处理)的解决方案。

服务器推送事件(SSE)传输

SSE传输采用混合策略,融合了HTTP通信的优势与实时流传输能力。该机制支持服务器主动向客户端推送更新,无需客户端持续轮询,因此特别适用于实时数据流处理、长时间运行操作等场景。

对于需实时感知外部条件变化、或接收相关事件通知的AI代理而言,SSE传输的价值尤为显著。它使开发更具响应性与情境感知能力的AI系统成为可能——此类系统可在无需用户手动干预的情况下,自动对外部环境变化做出反应。

利用MCP创建AI代理:C# 实践指南

图1:模型上下文协议架构图,展示了主机之间的关系:通过协议层与客户端、服务器以及外部系统进行通信

C# SDK实现与架构

针对模型上下文协议(MCP)的官方C#开发工具包(SDK),实现了协议的完整功能,并深度融合.NET生态系统的技术特性。该SDK由Anthropic与微软联合开发,以三个独立软件包的形式提供,适配不同应用场景的开发与部署需求。

  • ModelContextProtocol包:作为大多数应用的核心入口,集成了托管扩展、依赖注入能力及符合现代.NET开发标准的高级抽象。该包与微软“Hosted”框架无缝兼容,支持开发人员通过标准化模式与约定创建MCP服务器和客户端。
  • ModelContextProtocol.Core包:为仅需基础依赖或需直接操作底层协议的应用提供精简版本。包含核心的客户端/服务器API、协议类型定义及传输抽象,但不含托管与依赖注入功能,可适配从简单控制台应用到复杂分布式系统的多类部署场景。
  • ModelContextProtocol.AspNetCore包:为ASP.NET Core应用提供基于HTTP的MCP服务器功能,包含中间件、路由扩展及服务器推送事件(SSE)支持,使MCP服务器可作为网络服务运行。通过与ASP.NET Core管道的集成,MCP服务器能直接复用框架内置的认证授权、日志监控等能力。

SDK的模块化设计展示了一种经过深思熟虑的软件开发方法,兼顾了易用性与适应性。开发人员可根据需求选择组件,确保应用仅包含必要依赖,有效降低云原生环境下的资源占用与启动耗时,符合轻量化部署要求。

依赖注入与服务配置

C# SDK与微软依赖注入框架的深度整合,是其核心架构优势之一。这种整合允许开发人员复用在其他.NET应用中的开发模式与实践经验,降低学习成本并提升代码可维护性。具体特性如下:

  • 无缝集成配置:SDK提供与 IServiceCollection 接口无缝对接的扩展方法,支持MCP服务器、客户端与其他应用服务协同配置,可实现外部服务注入MCP工具、多传输机制配置、自定义认证授权逻辑等复杂场景。
  • 自动化服务注册:采用流畅配置模式,支持开发人员精准定义MCP服务器需暴露的功能。例如, WithToolsFromAssembly() 方法通过反射自动发现并注册带有 McpServerTool 属性的方法,无需手动操作且保持类型安全。
  • 便捷测试支持:MCP工具与资源均以服务形式注册,在单元测试中可轻松模拟或替换为测试实现,使AI代理能脱离外部依赖独立完成验证,为构建可靠、可测试的系统提供保障。

传输层实现

C# SDK的传输层功能为MCP接口提供抽象化通信方案,确保相同应用逻辑无需修改即可适配多种传输类型,提升部署与集成的灵活性。

标准输入输出(stdio)传输基于各环境通用的标准输入输出流,构建基础且高效的通信系统。SDK封装了进程管理、流缓冲、错误处理等底层操作,为开发人员提供简洁接口,适用于本地开发环境及独立进程式MCP服务器部署场景。

该传输实现具备完善的错误检测与恢复机制:通信异常时,SDK会输出具体错误信息并尝试重连,以可靠性为核心设计目标,保障系统在生产环境中的稳定运行。

HTTP传输实现使MCP能够在分布式环境以及网络部署中运行。该软件开发工具包依托ASP.NET Core的HTTP处理能力,构建强大可扩展的分布式通信基础,支持压缩、缓存、连接池化等标准HTTP功能,适配分布式环境与网络部署场景。

针对网络型AI代理部署的特定需求,该实现支持跨源资源共享(CORS),生产环境可复用标准HTTP认证机制;同时整合ASP.NET Core内置可观测性特性,提供完整的日志与监控功能。

服务器推送事件(SSE)传输融合了HTTP通信优势与实时流传输能力,尤其适用于需监测外部条件、接收事件通知的智能代理。

C# SDK 通过其 SSE 实现方式处理了长期连接的复杂性,为开发者提供了一种简便的编程模型。该SDK会自动维护连接生命周期、保障客户端平稳断开,并支持向多连接客户端广播更新,降低实时通信功能的开发难度。

利用MCP创建AI代理:C# 实践指南

图 2:MCP通信流程图,展示了各组件之间交互的顺序

实际应用示例

本示例旨在阐释使用 C# SDK 构建 MCP 服务器的核心概念,通过简洁的配置流程,实现一个可正常运行的 MCP 服务器,并向连接的客户端提供可用工具。

C#

复制

此基本实现展示了几个关键概念。Host.CreateApplicationBuilder() 方法创建了一个包含依赖注入、配置和日志功能的.NET 应用程序。其中日志定向至标准错误流,是因标准输出流被协议通信独占,避免二者冲突。

AddMcpServer() 扩展方法为 MCP 服务器功能提供了必要的服务,而WithStdioServerTransport()则配置服务器以使用标准输入/输出进行通信。WithToolsFromAssembly() 方法开启工具自动发现机制,无需手动注册,SDK会自动识别带有指定属性的工具方法。

该工具的实现展示了如何通过属性来展示功能:类通过 [McpServerToolType] 属性标识为“MCP工具容器”;单个方法通过 [McpServerTool] 属性成为可被调用的工具;[Description] 属性提供可读说明,帮助AI模型理解工具的功能及参数用途,提升交互适配性。

支持外部服务集成的高级服务器示例

大多数复杂的MCP服务器通常需与外部数据库、服务及API对接。本示例展示如何通过依赖注入实现外部服务访问,并实现MCP专属逻辑与业务逻辑的解耦。

C#

复制

该高级示例呈现了构建生产级MCP服务器的核心设计模式。通过对 IWeatherService (天气服务)与 IDataAnalysisService (数据分析服务)等外部服务实施依赖注入,实现了MCP专属逻辑与业务逻辑的彻底解耦。这种代码分离架构提高了可测试性和可维护性,并允许在不同的环境中重复使用业务逻辑。

基于接口定义外部服务的设计,支持开发人员在单元测试中用模拟实现替换真实服务,轻松构建复杂测试场景。这种方式对开发独立验证功能、无外部依赖的高可靠AI代理至关重要,是保障生产级系统稳定性的关键实践。

客户端实现与集成模式

MCP客户端是AI应用与MCP服务器建立连接、实现通信的核心组件。以下内容详细说明完整MCP客户端的构建逻辑,及其如何检测并调用服务器功能。

C#

复制

客户端实现封装了MCP服务器连接与交互的标准化模式,核心流程如下:

  1. 传输配置定义: StdioClientTransport 配置项同时指定服务器进程的启动方式与通信协议,为客户端与服务器的底层通信提供基础参数;
  2. 连接与能力协商: McpClientFactory.CreateAsync() 方法负责完成服务器连接的建立,并自动执行客户端与服务器的能力协商,确保双方功能兼容;
  3. 工具调用与结果处理: ExecuteToolAsync() 方法定义了服务器工具的调用流程,包含工具启动、结果解析及错误处理。其完善的错误处理机制,可帮助客户端有效应对服务器故障、通信中断等异常场景,保障交互稳定性。

ASP.NET Core HTTP 服务器实现

ASP.NET Core 这个软件包提供了基于 HTTP 的完整 MCP 服务器支持,适用于需要进行基于Web部署或与现有Web应用程序集成的场景。

C#

复制

ASP.NET Core 实现方案清晰展示了MCP服务器与Web应用程序的整合逻辑:WithHttpServerTransport() 方法为 MCP 服务器配置基于 HTTP 协议的通信传输方式,奠定服务器与外部交互的网络通信基础;MapMcpServer() 方法将MCP服务器运行所需的通信端点注册至 ASP.NET Core 路由系统,实现HTTP请求与MCP服务的自动关联。

CORS(跨域资源共享)配置是关键支撑,允许基于网络的AI应用程序与MCP服务器建立跨域连接,从而兼容浏览器端、Web 服务端等多种客户端实现。该配置是构建运行于网络浏览器及各类网络系统中AI代理的核心要素,直接决定了Web场景下MCP服务器的可用性。

利用MCP创建AI代理:C# 实践指南

图3:C# SDK组件架构图,展示了包与其依赖项之间的关系

安全考量与最佳实践

安全架构与信任模型

MCP协议设计围绕AI系统访问外部数据源、执行代码所带来的安全风险展开,其安全模型的核心是用户同意与控制,确保用户对数据共享及操作执行拥有绝对掌控权。

  1. 多层级安全架构:通过定义协议层面的职责边界,明确客户端与服务器的安全职责,对敏感操作要求明确授权;客户端-服务器架构在AI应用与外部资源间构建天然屏障,阻止对安全控制的未授权直接访问。
  2. 用户授权机制:所有工具调用均需用户授权后方可执行,协议定义了客户端在执行前向用户展示工具描述、参数信息的标准化方式,使用户可提前知晓操作后果,保持对AI代理活动的人工监督。
  3. 数据隐私保护:主机在向服务器传输用户数据前,必须获得用户直接许可;协议提供数据传输管理工具,助力企业在满足审计要求的同时,严格管控敏感数据,适配企业级安全规范。

认证与授权模式

C# SDK支持开发人员为MCP系统构建灵活的认证与授权体系,可根据安全需求适配从基础API密钥认证到企业级复杂身份管理系统(如JWT令牌、OAuth 2.0、Azure Active Directory)等多种方案。

对于基于HTTP的MCP服务器,SDK深度集成ASP.NET Core的身份认证与授权功能,直接复用框架的标准化认证方案。以下为基于HTTP的MCP服务器身份认证配置示例:

C#

复制

该配置方案展示了如何借助标准.NET认证模式为MCP服务器配置权限控制,确保服务器功能仅对授权客户端开放。其中,基于策略的授权系统支持管理员为用户配置精细化权限,可精准管控用户对特定工具及资源的访问范围。

基于stdio的MCP服务器的认证过程通过操作系统安全机制在进程级别实现。SDK提供多维度配置选项,支持通过环境变量、命令行参数及配置文件完成客户端认证,进程级隔离特性在本地开发环境及同类安全场景中适配性优异。

输入验证与清理机制

MCP服务器需处理用户输入数据并执行外部命令,因此必须具备高强度输入验证能力。C# SDK内置多重安全防护功能,为全面输入验证提供技术支撑。

其中,基于属性的工具定义系统集成标准.NET验证属性,可直接用于工具参数验证。以下示例展示如何为MCP工具配置完整的输入验证逻辑:

C#

复制

该示例呈现了多维度验证方案,以标准.NET验证属性为基础,逐步拓展至针对危险内容的自定义验证检查。这套完整的安全机制确保MCP工具可安全接收用户输入,同时避免因注入攻击或其他安全威胁导致系统漏洞暴露,为工具的输入安全构建全流程防护屏障。

错误处理与日志记录

完善的错误处理与日志记录系统,是保障系统安全及生产环境问题诊断的核心支撑。C# SDK通过对接.NET内置日志框架,提供了全面的可观测性能力。

该SDK通过一种将安全措施与用户友好的错误提示相结合的方式来处理错误,这种做法能够防止攻击者获取敏感信息。以下为安全错误处理模式的示例:

C#

复制

这种错误处理方案实现了双重核心目标:可捕获充足的错误信息,为问题定位提供完整依据;错误消息不会泄露敏感数据,避免给攻击者可乘之机。同时,结构化日志记录机制支持对生产环境进行高效监控与实时告警,为系统稳定性提供可视化运维支撑。

性能优化与可扩展性

连接管理与资源优化

高效的连接管理系统是实现MCP-based AI代理可扩展性的核心前提。C# SDK提供多维度工具,支持针对不同部署环境优化资源利用率与连接管理策略。

该SDK采用先进的进程生命周期管理技术,在降低资源占用的同时,确保系统响应速度不受影响;通过连接池机制,实现不同逻辑连接共享传输资源,大幅降低进程创建与管理的成本。

基于HTTP的MCP 服务器深度融合了ASP.NET Core成熟的可扩展性特性(包括连接池、请求管道、高效内存管理等),使MCP服务器能够承载高吞吐量业务,同时保障系统可靠性与性能稳定。

下述示例展示了如何利用连接管理来实现最佳性能:

C#

复制

缓存与数据管理策略

基于MCP的AI代理在执行高资源消耗决策(如复杂计算、数据库检索类任务)时,高效缓存策略可显著提升运行性能。C# SDK支持开发人员将应用与多类缓存系统集成,覆盖从基础内存缓存到分布式缓存的全场景需求。

下述示例将展示如何借助缓存增强MCP工具功能:

C#

复制

这种缓存系统通过优化高频信息获取路径,确保用户便捷获取常用数据;同时通过时效性管控机制避免推送过期内容,实现性能稳定性与数据时效性的平衡。

测试与质量保证

MCP 组件的单元测试策略

基于MCP的AI代理测试需采用针对性方法,既要适配系统的分布式特性,也要兼顾AI交互的复杂性。C# SDK凭借依赖注入与接口化抽象设计,为组件的完整测试提供了技术支撑,支持开发人员构建全面的测试用例。

下述示例将展示如何为MCP工具编写高效单元测试:

C#

复制

集成测试与端到端验证

MCP系统的集成测试需对存在外部依赖关系的多系统组件开展协同验证。C# SDK内置专属测试工具,为开发人员构建全面的集成测试场景提供支撑,可有效覆盖组件间交互、外部依赖调用等复杂测试需求。

C#

复制

部署与生产环境考量

现代部署实践中,基于MCP的AI代理常采用容器化技术实现跨环境一致性部署,C# SDK依托内置的.NET容器功能,天然支持容器化部署。尽管当前仍有企业采用传统非容器化部署(如本地部署、云原生部署等),但本文将重点聚焦于应用更广泛的容器化部署方案。

基于容器的部署策略

容器化部署是当前MCP AI代理的主流现代部署方式,其核心优势在于保障开发、测试、生产环境的一致性,简化部署流程与运维成本。C# SDK通过原生支持.NET容器特性,进一步降低了容器化部署的实施难度。

以下为用于构建MCP服务器容器的Dockerfile示例:

Dockerfile

复制

监控与可观测性

部署于生产环境的MCP系统,需配备完善的监控体系与可观测性工具,这是保障系统稳定运行、实现高效故障排查的核心前提。C# SDK与.NET原生可观测性功能深度集成,能够实时输出系统行为的详细数据,为运维监控提供全面支撑。

C#

复制

在VS Code中结合GitHub Copilot与MCP构建AI代理

设置与配置流程

开发人员需先完成GitHub Copilot扩展的安装与订阅激活,方可在Visual Studio Code(以下简称VS Code)中搭建融合GitHub Copilot与模型上下文协议(MCP)的AI代理。具体流程为:在完成扩展安装与订阅验证后,通过VS Code的系统设置配置MCP服务器连接;集成的核心步骤是在工作区的 .vscode 文件夹或用户设置目录下,创建或修改 mcp.json 配置文件,以此定义包含传输配置的MCP服务器参数。

步骤1:必备条件

  • 在VS Code中安装GitHub Copilot扩展程序。
  • 拥有有效的GitHub Copilot订阅服务。
  • 部署并运行可用的MCP服务器(上述提供了C#示例)。

步骤2:MCP 服务器配置

在工作区的 .vscode 文件夹内,创建名为 mcp.json 的配置文件,并按以下指定结构完成参数设置:

JSON

复制

步骤3:激活代理模式

  1. 启动VS Code并打开已完成配置的目标工作区;
  2. 打开GitHub Copilot聊天面板:Windows/Linux系统按 Ctrl+Shift+I ,Mac系统按 Cmd+Shift+I ;
  3. 开启代理模式:在聊天界面中找到代理图标,将“代理模式”切换为启用状态;
  4. 完成激活:此时AI代理已准备就绪,可调用配置的MCP工具开展业务操作。

步骤4:使用人工智能代理

代理模式启用后,GitHub Copilot可访问已配置MCP服务器提供的工具、资源及提示模板,支持以下操作场景:

  • 提出需结合数据分析或调用外部工具的复杂问题;
  • 发起特定任务请求,例如“分析此文本文件并生成报告”;
  • 执行多步骤串联操作,如数据获取、数据处理、可视化图表生成等。

步骤5:工具执行流程

在AI代理调用工具的过程中,VS Code将按以下流程自动执行操作:

1. 工具信息展示:清晰呈现待调用工具的名称、功能描述及所需参数;

2. 用户授权请求:弹出对话框,向用户发起工具执行许可请求;

3. 已授权工具执行:根据用户确认的许可,使用指定参数运行工具;

4. 结果整合反馈:将工具输出结果整合至AI响应内容中,同步展示给用户。

远程MCP服务器访问配置

以下示例为远程部署MCP服务器的访问方案,适用于跨环境使用需求。

重要提示:本示例仅用于教学演示。在生产环境中,必须采用符合安全规范的方式管理API密钥、令牌及各类认证信息,严防数据泄露与未授权访问。

基于HTTP的远程MCP服务器

基本的HTTP配置

JSON

复制

配置API密钥认证的HTTP协议

JSON

复制

配置自定义标头和环境变量的HTTP协议

JSON

复制

服务器推送事件(SSE)配置

基本的SSE配置

JSON

复制

带有自定义配置的SSE

JSON

复制

Azure云托管的MCP服务器

JSON

复制

未来发展趋势与新出现的模式

AI代理架构的演进

模型上下文协议(MCP)虽已确立AI代理的标准化架构,但该领域仍处于快速发展阶段。未来AI代理的核心发展方向是强化复杂场景适配能力,能够在多步骤工作流中统筹管理各类工具与数据源,实现更高效的任务协同。

C# SDK以灵活性设计适配未来需求变化:协议内置的能力协商机制具备良好兼容性,支持无缝新增功能与特性,确保MCP实现可随协议迭代持续运行,无需中断服务,从而快速响应新场景、新需求。

与大型语言模型(LLM)生态的深度整合

MCP通过持续迭代功能,保持与各类LLM生态的紧密集成。C# SDK与 Microsoft.Extensions.AI 深度对接,依托统一的接口与行为模式,为适配不同LLM提供商奠定技术基础。

未来发展将聚焦三大方向:

  • 强化多模态交互支持;
  • 优化扩展对话中的上下文管理能力;
  • 提供更先进的工具组合策略。

SDK的模块化结构与依赖注入特性,为新功能的快速落地提供了稳定支撑,确保技术迭代的高效性。

结语

模型上下文协议(MCP)是AI代理发展的重要里程碑,为AI系统与外部数据、工具的交互提供了标准化框架。本文研究表明,开发人员可依托C#语言及.NET生态,通过MCP的架构落地、实践应用,构建安全可扩展的复杂AI代理。

该研究全面剖析了MCP的设计原则、架构逻辑,结合官方C# SDK的实施指南与实际应用示例,形成完整的技术落地体系。安全指南和最佳实践为生产环境部署MCP系统提供关键指导,满足高可靠性、高安全性的核心需求。

C# SDK与.NET生态的深度集成,提升了企业开发效率。依赖注入、完备测试功能及现有.NET基础设施的复用,助力开发人员构建符合企业开发标准的人工智能代理。

随着AI技术迭代及代理系统复杂度提升,MCP的标准化框架将成为开发安全、可维护、可协同AI系统的核心支撑,在AI代理生态中的重要性将持续凸显。

本文提供的示例与模式,为开发人员构建生产级AI代理奠定基础——这类代理能够连接大型语言模型(LLM)与真实世界数据源,兼具功能完整性与能力扩展性,同时保障安全性、可靠性与可维护性。

MCP与C# SDK仍在不断演进,将为开发人员提供更先进的工具以构建下一代AI代理。MCP的标准化方法,结合.NET生态的强大开发能力,将共同打造高效、稳定的AI代理开发平台,推动AI技术在实际场景中的深度应用。

原文标题:Creating AI Agents Using the Model Context Protocol: A Comprehensive Guide to Implementation with C#,作者:Nilesh Bhandarwar

相关资讯

AI时代的头号安全威胁:机器身份

2025年以DeepSeek为代表的生成式AI技术迅猛发展,为企业带来了前所未有的创新机遇,也带来了新的安全风险。 其中,非人类身份(Non-Human Identities, NHI)——如API密钥、令牌、加密密钥和服务账户——已成为网络安全的重大盲点。 根据OWASP最新发布的《非人类身份十大风险》(NHI Top 10),NHI数量可能比人类身份多出10至50倍,是网络攻击的主要攻击面。
2/24/2025 1:44:35 PM
佚名

人工智能代理时代的安全、风险与合规治理

自主性催生治理模式变革人工智能代理(AI agents)正迅速成为企业运营的基础设施。 无论是处理服务工单、自动化政策执行、定制用户体验还是管理监管文件,AI代理已突破实验环境局限,深度参与企业服务交付、决策制定和运营扩展的全过程。 这类代理与传统机器人或确定性RPA(机器人流程自动化)系统存在本质差异。
6/19/2025 8:05:00 AM
清茶泡饭

OpenAI 首席产品官表示:2025 年是 AI 智能体之年

在瑞士达沃斯举行的论坛上,OpenAI 首席产品官凯文・韦尔(Kevin Weil)于1月21日表示,我们正处于人工智能代理的边缘。 他预测,到2025年,ChatGPT 将不仅仅是一个可以回答各种问题的智能工具,而是能够在现实世界中为用户完成具体任务的 “智能助手”。 韦尔强调,人工智能代理将在未来很快能够处理许多日常琐事,这些事情往往让人感到烦恼,比如填写表格、预订餐厅等。
2/9/2025 8:59:54 AM
AI在线
  • 1