实践应用 实践应用是 Model Context Protocol (MCP) 威力真正体现的地方。虽然理解 MCP 的理论和架构很重要,但真正的价值在于将这些概念应用到构建、测试和部署解决方案中,以解决现实世界的问题。本章弥合了概念知识与实际开发之间的差距,指导你完成基于 MCP 的应用从无到有的过程。 无论你是在开发智能助手、将 AI 集成到业务流程中,还是构建用于数据处理的定制工具,MCP 都提供了灵活的基础。它的语言无关设计和针对主流编程语言的官方 SDK,使其对广泛的开发者都很友好。通过利用这些 SDK,你可以快速进行原型设计、迭代开发,并在不同平台和环境中扩展你的解决方案。
实践应用是 Model Context Protocol (MCP) 威力真正体现的地方。虽然理解 MCP 的理论和架构很重要,但真正的价值在于将这些概念应用到构建、测试和部署解决方案中,以解决现实世界的问题。本章弥合了概念知识与实际开发之间的差距,指导你完成基于 MCP 的应用从无到有的过程。
无论你是在开发智能助手、将 AI 集成到业务流程中,还是构建用于数据处理的定制工具,MCP 都提供了灵活的基础。它的语言无关设计和针对主流编程语言的官方 SDK,使其对广泛的开发者都很友好。通过利用这些 SDK,你可以快速进行原型设计、迭代开发,并在不同平台和环境中扩展你的解决方案。
在接下来的章节中,你将看到实用示例、示范代码以及部署策略,展示如何在 C#、Java、TypeScript、JavaScript 和 Python 中实现 MCP。你还将学习如何调试和测试 MCP 服务器、管理 API,并使用 Azure 将解决方案部署到云端。这些动手资源旨在加速你的学习,帮助你自信地构建健壮且适合生产环境的 MCP 应用。
本课聚焦于 MCP 在多种编程语言中的实际应用。我们将探讨如何使用 C#、Java、TypeScript、JavaScript 和 Python 的 MCP SDK 构建稳健的应用,调试和测试 MCP 服务器,以及创建可复用的资源、提示和工具。
完成本课后,你将能够:
Model Context Protocol 提供了多种语言的官方 SDK:
本节提供了多种编程语言中实现 MCP 的实用示例。你可以在 samples 目录中按语言查找示范代码。
仓库包含以下语言的示例实现:
每个示例展示了该语言及生态系统中 MCP 的关键概念和实现模式。
MCP 服务器可以实现以下任意组合的功能:
资源为用户或 AI 模型提供上下文和数据:
提示是为用户准备的模板化消息和工作流:
工具是 AI 模型可执行的函数:
官方 C# SDK 仓库包含多个示例,展示 MCP 的不同方面:
MCP C# SDK 处于预览阶段,API 可能会变动。我们将持续更新博客以跟进 SDK 的演进。
完整的 C# 实现示例,请访问官方 C# SDK 示例仓库
Java SDK 提供了企业级功能的稳健 MCP 实现选项。
完整的 Java 实现示例,请参见示例目录中的 Java 示例。
JavaScript SDK 提供轻量且灵活的 MCP 实现方案。
完整的 JavaScript 实现示例,请参见示例目录中的 JavaScript 示例。
Python SDK 采用 Python 风格实现 MCP,且与主流机器学习框架集成良好。
完整的 Python 实现示例,请参见示例目录中的 Python 示例。
Azure API Management 是保护 MCP 服务器的有效方案。思路是在 MCP 服务器前端放置一个 Azure API Management 实例,让它处理你可能需要的功能,如:
这里有一个 Azure 示例,正是实现了上述功能,即创建 MCP 服务器并用 Azure API Management 保护它。
下面的图片展示了授权流程:

图中发生了以下流程:
我们来详细看看授权流程:
%E5%88%9D%E5%AD%A6%E8%80%85%E5%AD%A6%E4%B9%A0%E6%8C%87%E5%8D%97/mcp-client-auth.png?raw=true)
了解更多关于MCP 授权规范
让我们尝试部署之前提到的示例:
克隆仓库
git clone https://github.com/Azure-Samples/remote-mcp-apim-functions-python.git cd remote-mcp-apim-functions-python
注册 Microsoft.App resource provider.
az provider register --namespace Microsoft.App --wait.Register-AzResourceProvider -ProviderNamespace Microsoft.App. Then run (Get-AzResourceProvider -ProviderNamespace Microsoft.App).RegistrationState,稍等片刻后检查注册是否完成。运行此 azd 命令,预配 API 管理服务、函数应用(含代码)以及其他所需的 Azure 资源
azd up
此命令将部署所有 Azure 云资源
在新终端窗口中,安装并运行 MCP Inspector
npx @modelcontextprotocol/inspector
你应该会看到类似的界面:
%E5%88%9D%E5%AD%A6%E8%80%85%E5%AD%A6%E4%B9%A0%E6%8C%87%E5%8D%97/translated_images_connect.141db0b2bd05f096fb1dd91273771fd8b2469d6507656c3b0c9df4b3c5473929.zh.webp)
按住 CTRL 点击,使用应用显示的 URL(例如 http://127.0.0.1/#resources)加载 MCP Inspector Web 应用
将传输类型设置为 SSE
Set the URL to your running API Management SSE endpoint displayed after azd up,然后连接:
https://<apim-servicename-from-azd-output>.azure-api.net/mcp/sse
列出工具。点击某个工具并运行工具。
如果所有步骤顺利完成,你现在应该已连接到 MCP 服务器,并成功调用了一个工具。
Remote-mcp-functions:这一系列仓库是使用 Azure Functions 结合 Python、C# .NET 或 Node/TypeScript 快速构建和部署自定义远程 MCP(Model Context Protocol)服务器的模板。
这些示例提供了完整解决方案,允许开发者:
仓库包含所有必要的配置文件、源代码和基础设施定义,助你快速启动生产级 MCP 服务器实现。
Azure Remote MCP Functions Python - 使用 Azure Functions 和 Python 实现的 MCP 示例
Azure Remote MCP Functions .NET - 使用 Azure Functions 和 C# .NET 实现的 MCP 示例
Azure Remote MCP Functions Node/Typescript - 使用 Azure Functions 和 Node/TypeScript 实现的 MCP 示例
设计一个实用的 MCP 工作流,解决你所在领域的实际问题:
下一章:高级主题
免责声明:
本文件使用 AI 翻译服务 Co-op Translator 进行翻译。虽然我们力求准确,但请注意自动翻译可能存在错误或不准确之处。原始文件的原文应被视为权威来源。对于重要信息,建议采用专业人工翻译。因使用本翻译而产生的任何误解或误释,我们概不负责。