MCP初学者指南(5)-- 轻松拿捏MCP实践
在以下部分中,你将找到实际示例、示例代码和部署策略,它们演示了如何使用 C#、Java、TypeScript、JavaScript 和 Python 实现 MCP。我们将探索如何使用 C#、Java、TypeScript、JavaScript 和 Python 中的 MCP SDK 构建强大的应用程序、调试和测试 MCP 服务器,以及创建可复用的资源、提示符和工具。理解 MCP 背后的理论和架构固
实际实施
实际实施是模型上下文协议 (MCP) 强大功能的真正体现。理解 MCP 背后的理论和架构固然重要,但真正的价值在于将这些概念应用于构建、测试和部署解决实际问题的解决方案。本章将概念知识与实践开发相结合,指导您完成基于 MCP 的应用程序的开发过程。
无论您是开发智能助手、将 AI 集成到业务工作流,还是构建自定义数据处理工具,MCP 都能为您提供灵活的基础。其语言无关的设计和针对热门编程语言的官方 SDK,让广大开发者都能轻松上手。利用这些 SDK,您可以快速构建原型、迭代,并跨平台和环境扩展您的解决方案。
在以下部分中,你将找到实际示例、示例代码和部署策略,它们演示了如何使用 C#、Java、TypeScript、JavaScript 和 Python 实现 MCP。你还将学习如何使用 Azure 调试和测试 MCP 服务器、管理 API 以及将解决方案部署到云。这些实践资源旨在加速你的学习,并帮助你自信地构建可靠、可立即投入生产的 MCP 应用程序。
概述
本课程重点介绍跨多种编程语言实现 MCP 的实践。我们将探索如何使用 C#、Java、TypeScript、JavaScript 和 Python 中的 MCP SDK 构建强大的应用程序、调试和测试 MCP 服务器,以及创建可复用的资源、提示符和工具。
学习目标
学完本课后,您将能够:
- 使用各种编程语言的官方 SDK 实现 MCP 解决方案
- 系统地调试和测试MCP服务器
- 创建和使用服务器功能(资源、提示和工具)
- 为复杂任务设计有效的 MCP 工作流程
- 优化 MCP 实现以提高性能和可靠性
官方 SDK 资源
模型上下文协议为多种语言提供了官方 SDK:
使用 MCP SDK
本节提供跨多种编程语言实现 MCP 的实例。您可以在samples按语言组织的目录中找到示例代码。
可用样品
该存储库包含以下语言的示例实现:
每个示例都演示了特定语言和生态系统的关键 MCP 概念和实现模式。
核心服务器功能
MCP 服务器可以实现以下功能的任意组合:
资源
资源为用户或 AI 模型提供上下文和数据:
- 文档存储库
- 知识库
- 结构化数据源
- 文件系统
提示
提示是针对用户的模板化消息和工作流程:
- 预定义对话模板
- 引导式交互模式
- 专业对话结构
工具
工具是AI模型执行的功能:
- 数据处理实用程序
- 外部 API 集成
- 计算能力
- 搜索功能
示例实现:C#
官方 C# SDK 存储库包含几个示例实现,演示了 MCP 的不同方面:
- 基本 MCP 客户端:简单示例,展示如何创建 MCP 客户端和调用工具
- 基本 MCP 服务器:使用基本工具注册的最小服务器实现
- 高级 MCP 服务器:功能齐全的服务器,具有工具注册、身份验证和错误处理功能
- ASP.NET 集成:演示与 ASP.NET Core 集成的示例
- 工具实现模式:用于实现不同复杂程度的工具的各种模式
MCP C# SDK 处于预览阶段,API 可能会有所变更。我们将随着 SDK 的更新持续更新此博客。
主要特点
如需完整的 C# 实现示例,请访问官方 C# SDK 示例存储库
示例实现:Java 实现
Java SDK 提供了具有企业级功能的强大的 MCP 实现选项。
主要特点
- Spring 框架集成
- 强类型安全
- 反应式编程支持
- 全面的错误处理
有关完整的 Java 实现示例,请参阅示例目录中的MCPSample.java 。
示例实现:JavaScript 实现
JavaScript SDK 为 MCP 实现提供了一种轻量级且灵活的方法。
主要特点
- Node.js 和浏览器支持
- 基于 Promise 的 API
- 轻松与 Express 和其他框架集成
- WebSocket 对流的支持
有关完整的 JavaScript 实现示例,请参阅示例目录中的mcp_sample.js 。
示例实现:Python 实现
Python SDK 提供了一种 Pythonic 方法来实现 MCP,并具有出色的 ML 框架集成。
主要特点
- 使用 asyncio 支持 Async/await
- Flask 和 FastAPI 集成
- 简单的工具注册
- 与流行的机器学习库原生集成
有关完整的 Python 实现示例,请参阅示例目录中的mcp_sample.py 。
API 管理
Azure API 管理是解决 MCP 服务器安全问题的绝佳方案。其思路是将 Azure API 管理实例置于 MCP 服务器前端,并让它处理您可能需要的功能,例如:
- 速率限制
- 代币管理
- 监控
- 负载均衡
- 安全
Azure 示例
这是一个 Azure 示例,它正是执行此操作,即[创建 MCP 服务器并使用 Azure API 管理保护它])( https://github.com/Azure-Samples/remote-mcp-apim-functions-python )。
请参阅下图中的授权流程:

在上图中,发生了以下情况:
- 身份验证/授权使用 Microsoft Entra 进行。
- Azure API 管理充当网关并使用策略来引导和管理流量。
- Azure Monitor 记录所有请求以供进一步分析。
授权流程
让我们更详细地看一下授权流程:

MCP授权规范
了解有关MCP 授权规范的更多信息
将远程 MCP 服务器部署到 Azure
我们看看能否部署前面提到的样本:
-
克隆 repo
git clone https://github.com/Azure-Samples/remote-mcp-apim-functions-python.git cd remote-mcp-apim-functions-python -
注册
Microsoft.App资源提供者。- 如果您使用的是 Azure CLI,请运行
az provider register --namespace Microsoft.App --wait。 - 如果您使用的是 Azure PowerShell,请运行
Register-AzResourceProvider -ProviderNamespace Microsoft.App。 - 然后
(Get-AzResourceProvider -ProviderNamespace Microsoft.App).RegistrationState过一段时间再运行以检查注册是否完成。
- 如果您使用的是 Azure CLI,请运行
-
运行此azd命令来配置 api 管理服务、函数应用程序(带代码)和所有其他所需的 Azure 资源
azd up此命令应部署 Azure 上的所有云资源
使用 MCP Inspector 测试您的服务器
如果所有步骤都成功,您现在应该已连接到 MCP 服务器并能够调用工具。
适用于 Azure 的 MCP 服务器
Remote-mcp-functions:这组存储库是使用 Azure Functions 和 Python、C# .NET 或 Node/TypeScript 构建和部署自定义远程 MCP(模型上下文协议)服务器的快速入门模板。
该示例提供了完整的解决方案,允许开发人员:
主要特点:
该存储库包含所有必要的配置文件、源代码和基础设施定义,以便快速开始投入生产的 MCP 服务器实施。
关键要点
练习:
设计一个实用的 MCP 工作流程来解决您所在领域的实际问题:
-
在新的终端窗口中,安装并运行 MCP Inspector
npx @modelcontextprotocol/inspector您应该会看到类似以下内容的界面:

-
按住 CTRL 键并单击,从应用程序显示的 URL 加载 MCP Inspector Web 应用程序(例如http://127.0.0.1:6274/#resources)
-
将传输类型设置为
SSE -
将 URL 设置为在连接后显示的正在运行的 API 管理
azd upSSE端点:https://<apim-servicename-from-azd-output>.azure-api.net/mcp/sse -
列出工具。单击某个工具并运行工具。
- 本地构建并运行:在本地机器上开发和调试 MCP 服务器
- 部署到 Azure:使用简单的 azd up 命令轻松部署到云
- 从客户端连接:从各种客户端连接到 MCP 服务器,包括 VS Code 的 Copilot 代理模式和 MCP Inspector 工具
- 安全设计:MCP 服务器使用密钥和 HTTPS 进行保护
- 身份验证选项:支持使用内置身份验证和/或 API 管理的 OAuth
-
Azure 远程 MCP 函数 Python - 使用 Azure 函数和 Python 实现 MCP 的示例
-
Azure 远程 MCP 函数 .NET - 使用 Azure Functions 和 C# .NET 实现 MCP 的示例
-
Azure 远程 MCP 函数 Node/Typescript - 使用带有 Node/TypeScript 的 Azure 函数实现 MCP 的示例。
- MCP SDK 提供特定语言的工具来实现强大的 MCP 解决方案
- 调试和测试过程对于可靠的 MCP 应用至关重要
- 可重复使用的提示模板可实现一致的 AI 交互
- 精心设计的工作流程可以使用多种工具来协调复杂的任务
- 实施 MCP 解决方案需要考虑安全性、性能和错误处理
- 确定 3-4 种有助于解决此问题的工具
- 创建一个工作流程图来展示这些工具如何交互
- 使用您喜欢的语言实现其中一个工具的基本版本
- 创建一个提示模板,帮助模型有效地使用你的工具
- 网络隔离:允许使用 Azure 虚拟网络 (VNET) 进行网络隔离
- 无服务器架构:利用 Azure Functions 实现可扩展的事件驱动执行
- 本地开发:全面的本地开发和调试支持
- 简单部署:简化 Azure 部署流程
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)