资讯详情

资讯详情

mcp-for-beginners 实战指南:使用 Microsoft Foundry Toolkit 构建、调试与部署 MCP 服务器

教程文档人工智能【免费下载链接】mcp-for-beginnersThis open-source curriculum introduces the fundamentals of Model Context Protocol (MCP) through real-world, cross-language examples in .NET, Java, TypeScript, JavaScript, Rust and Python. Designed for developers, it focuses on practical techniques for building modular, scalable, and secure AI workflows from session setup to service orchestration.项目地址https://gitcode.com/GitHub_Trending/mc/mcp-for-beginners点击查看免费下载本文以 mcp-for-beginners 仓库中《Streamlining AI Workflows: Building an MCP Server with Microsoft Foundry Toolkit》工作坊文档为骨架系统讲解如何将 Model Context ProtocolMCP与 Microsoft Foundry Toolkit 扩展组合使用从零完成 AI 应用的智能化升级。读完本文你将掌握 Model Catalog 与 Agent Builder 的完整用法、MCP 客户端-服务器架构、基于 MCP Python SDK 编写自定义服务器Weather 与 GitHub Clone 两个实战案例以及结合 VS Code 调试器与 MCP Inspector 的专业调试工作流最终具备把 AI 模型接入真实业务工具与服务的实战能力。工作坊概览MCP × Microsoft Foundry Toolkit该工作坊将两项前沿技术组合成一条完整的动手实践Hands-On学习路径Model Context ProtocolMCP连接 AI 模型与外部工具、数据源和服务的开放标准实现一次协议、无限接入Microsoft Foundry Toolkit 扩展VS Code微软推出的 AI 开发扩展把 VS Code 打造成集模型管理、提示词工程、Agent 构建与 MCP 集成于一体的 AI 开发环境。工作坊以从自动化测试到自定义 API 集成为线索覆盖会话建立session setup到服务编排service orchestration的完整链路最终目标是培养读者解决复杂业务问题的实战能力。兼容性说明工作坊代码基于 MCP2025-11-25规范构建与验证见文档徽标对于新的协议实现应使用当前的2026-07-28规范并在迁移实验室代码前查看 SDK 发布说明。此外Lab 3 中明确提示其 Inspector 调试地址使用传统的/sse端点并锁定 MCP SDK1.9.3与 Inspector0.14.0依赖并非2026-07-28规范的 Streamable HTTP 示例——动手前务必先确认你使用的规范版本与依赖组合。核心技术栈拆解MCPAI 应用的USB-CMCP 被誉为AI 的 USB-C——正如 USB-C 终结了线缆混战的乱局MCP 用一套统一协议消除了 AI 集成中的碎片化。其关键特性包括标准化集成提供 AI 与工具连接的通用接口灵活架构通过 stdio / SSEServer-Sent Events等传输方式同时支持本地与远程服务器丰富生态工具Tools、提示词Prompts与资源Resources统一在一个协议内企业就绪内置安全与可靠性设计。MCP 解决的痛点在 MCP 之前每种工具都需要定制集成、专有方案造成厂商锁定、临时连接带来安全隐患、基础集成往往耗费数月开发周期引入 MCP 之后工具接入即插即用、架构与厂商无关、内置安全最佳实践、新增能力只需数分钟。MCP 架构采用客户端-服务器模型构成一个安全、可扩展的生态四个核心组件各司其职组件角色示例MCP Hosts消费 MCP 服务的主机VS Code、Foundry ToolkitMCP Clients处理协议连接内置于 Hosts 中MCP Servers提供能力Playwright、Files、Azure、GitHubTransport Layer连接客户端与服务器stdio、HTTP、WebSocketsMicrosoft Foundry ToolkitVS Code 的 AI 增强引擎微软的旗舰级 AI 开发扩展核心能力包括Model Catalog模型目录接入 GitHub、ONNX、OpenAI、Anthropic、Google 等来源的 100 模型一站式发现与对比本地推理ONNX 优化的 CPU / GPU / NPU 执行Agent Builder智能体构建器可视化开发 AI Agent并内置 MCP 集成多模态支持文本、视觉与结构化输出。对开发者而言它带来零配置模型部署、可视化提示词工程、实时测试 Playground、无缝 MCP 服务器集成的开发体验。四模块学习路径总览工作坊由 4 个递进式模块组成形成工具基础 → MCP 集成 → 自定义开发 → 生产落地的完整闭环模块一Microsoft Foundry Toolkit 基础15 分钟对应文档 10-StreamliningAIWorkflowsBuildingAnMCPServerWithAIToolkit/lab1/README.md学习目标安装并配置 VS Code 的 Microsoft Foundry Toolkit 扩展探索 Model Catalog100 模型覆盖 GitHub、ONNX、OpenAI、Anthropic、Google掌握 Interactive Playground 的实时模型测试用 Agent Builder 构建第一个 AI Agent使用内置指标F1、relevance、similarity、coherence评估模型性能了解批量处理与多模态支持。产出创建可运行的 AI Agent并全面理解 Foundry Toolkit 能力边界。模块二MCP Foundry Toolkit 基础20 分钟对应 10-StreamliningAIWorkflowsBuildingAnMCPServerWithAIToolkit/lab2/README.md学习目标掌握 MCP 架构与核心概念探索微软 MCP 服务器生态Azure、Dataverse、Playwright、Files、MarkItDown、Clarity 等基于 Playwright MCP 服务器构建浏览器自动化 Agent在 Agent Builder 中集成、配置与测试 MCP 工具导出并部署由 MCP 驱动的 Agent。产出部署一个通过 MCP 外接工具的超级 Agent。模块三Foundry Toolkit 高级 MCP 开发20 分钟对应 10-StreamliningAIWorkflowsBuildingAnMCPServerWithAIToolkit/lab3/README.md学习目标使用 Foundry Toolkit 模板创建自定义 MCP 服务器配置并使用 MCP Python SDK实验室文档锁定 v1.9.3搭建 MCP Inspector 调试环境构建 Weather MCP 服务器并掌握专业调试流程在 Agent Builder 与 Inspector 双环境下调试服务器。产出掌握现代工具链下的自定义 MCP 服务器开发与调试。模块四实战——自定义 GitHub Clone 服务器30 分钟对应 10-StreamliningAIWorkflowsBuildingAnMCPServerWithAIToolkit/lab4/README.md学习目标构建真实场景的 GitHub Clone MCP 服务器实现带校验与错误处理的智能仓库克隆实现目录管理与 VS Code 集成在 GitHub Copilot Agent Mode 中使用自定义 MCP 工具应用生产级可靠性与跨平台兼容设计。产出部署一个能简化真实开发流程的生产级 MCP 服务器。环境准备与前置条件系统要求组件要求说明操作系统Windows 10、macOS 10.15、Linux任意现代操作系统Visual Studio Code最新稳定版Foundry Toolkit 必需Node.jsv18.0 与 npm用于 MCP 服务器开发与 InspectorPython3.10构建 Python MCP 服务器内存最低 8GB本地模型建议 16GB推荐的 VS Code 扩展Microsoft Foundry Toolkitms-windows-ai-studio.windows-ai-studioPythonms-python.pythonPython Debuggerms-python.debugpyGitHub CopilotGitHub.copilot——可选但有帮助可选工具uv现代 Python 包管理器uv sync安装依赖MCP InspectorMCP 服务器的可视化调试工具Playwright用于 Web 自动化示例。源码剖析一基于 MCP Python SDK 的 Weather 服务器Lab 3 引导你通过 Agent Builder 的Tools → Add Tool → MCP Server → Create A new MCP Server →python-weather模板生成weather_mcp项目。仓库中的完整工程位于 10-StreamliningAIWorkflowsBuildingAnMCPServerWithAIToolkit/lab3/code/weather_mcp/结构如下weather_mcp/ ├── src/ │ ├── __init__.py # 入口按参数选择 sse / stdio 传输 │ └── server.py # FastMCP 服务器与工具定义 ├── inspector/ │ ├── package.json # MCP Inspector 启动脚本 │ └── package-lock.json ├── pyproject.toml # Python 依赖声明 ├── uv.lock └── README.md服务器实现server.py核心代码见 server.pyimport json import random from mcp.server.fastmcp import FastMCP # Initialize FastMCP server server FastMCP(weather_mcp) server.tool() async def get_weather(location: str) - str: Get weather for a location. Args: location: Location to get weather for, e.g., city name, state, or coordinates if not location: return Location is required. # mock weather data conditions [ Sunny, Rainy, Cloudy, Snowy ] weather { location: location, temperature: f{random.randint(10, 90)}°F, condition: random.choice(conditions), } return json.dumps(weather, ensure_asciiFalse)关键点FastMCP(weather_mcp)初始化服务器实例server.tool()装饰器把异步函数注册为可供 LLM 调用的 MCP 工具工具函数通过类型注解location: str自动生成 JSON Schema 供模型感知返回值以 JSON 字符串形式返回结构化结果。当前版本使用模拟天气数据演示你可以在真实项目中替换为外部天气 API 调用。入口点init.py见init.py它决定了服务器以何种传输方式运行import os import sys from server import server if __name__ __main__: Main entry point transport_type sys.argv[1] if len(sys.argv) 1 else None server.settings.log_level os.environ.get(LOG_LEVEL, DEBUG) if transport_type sse: port int(os.environ.get(PORT, 3001)) server.settings.port port server.settings.host 127.0.0.1 server.run(transportsse) elif transport_type stdio: server.run(transportstdio) else: print(Invalid transport type. Use sse or stdio.) sys.exit(1)入口逻辑清晰通过命令行第一个参数选择传输类型——sse模式监听PORT环境变量默认 3001并绑定127.0.0.1适合配合 Inspector 调试stdio模式用于被 Host 进程直接拉起日志级别通过LOG_LEVEL环境变量控制默认DEBUG。依赖声明pyproject.toml仓库内 pyproject.toml 声明[project] name weather_mcp version 0.1.0 description A simple MCP weather server readme README.md requires-python 3.10 dependencies [ mcp1.26.0 ] [project.optional-dependencies] dev [debugpy1.8.8]注意Lab 3 文档正文标注锁定 MCP SDK1.9.3与 Inspector0.14.0而仓库中提交的代码文件已升级为mcp1.26.0Inspector 依赖为modelcontextprotocol/inspector2.0.0见 inspector/package.json其dev:inspector脚本直接运行mcp-inspector并通过overrides将shell-quote锁定到1.8.4。动手时请以你实际安装的 SDK 版本为准并注意版本差异带来的行为变化。专业调试工作流VS Code 调试配置深度解读Lab 3 的核心亮点是双环境调试。先安装依赖# Python 依赖项目根目录 uv sync # Inspector 依赖 cd inspector npm installlaunch.json三种调试入口{ version: 0.2.0, configurations: [ { name: Attach to Local MCP, type: debugpy, request: attach, connect: { host: localhost, port: 5678 }, presentation: { hidden: true }, internalConsoleOptions: neverOpen, postDebugTask: Terminate All Tasks }, { name: Launch Inspector (Edge), type: msedge, request: launch, url: http://localhost:6274?timeout60000serverUrlhttp://localhost:3001/sse#tools, cascadeTerminateToConfigurations: [Attach to Local MCP], presentation: { hidden: true }, internalConsoleOptions: neverOpen }, { name: Launch Inspector (Chrome), type: chrome, request: launch, url: http://localhost:6274?timeout60000serverUrlhttp://localhost:3001/sse#tools, cascadeTerminateToConfigurations: [Attach to Local MCP], presentation: { hidden: true }, internalConsoleOptions: neverOpen } ], compounds: [ { name: Debug in Agent Builder, configurations: [Attach to Local MCP], preLaunchTask: Open Agent Builder }, { name: Debug in Inspector (Edge), configurations: [Launch Inspector (Edge), Attach to Local MCP], preLaunchTask: Start MCP Inspector, stopAll: true }, { name: Debug in Inspector (Chrome), configurations: [Launch Inspector (Chrome), Attach to Local MCP], preLaunchTask: Start MCP Inspector, stopAll: true } ] }三个入口的含义Attach to Local MCP用 debugpy 附加到5678端口上已由任务启动的 MCP 服务器进程实现断点调试Launch Inspector (Edge / Chrome)用浏览器打开http://localhost:6274并携带serverUrlhttp://localhost:3001/sse指向本地 SSE 服务器#tools锚点直达工具面板两个 compound 配置一键组合启动服务器 打开 Agent Builder或启动服务器 启动 Inspector 附加调试器按下 F5 即可进入完整调试会话。tasks.json后台任务的编排{ version: 2.0.0, tasks: [ { label: Start MCP Server, type: shell, command: python -m debugpy --listen 127.0.0.1:5678 src/__init__.py sse, isBackground: true, options: { cwd: ${workspaceFolder}, env: { PORT: 3001 } }, problemMatcher: { pattern: [ { regexp: ^.*$, file: 0, location: 1, message: 2 } ], background: { activeOnStart: true, beginsPattern: .*, endsPattern: Application startup complete|running } } }, { label: Start MCP Inspector, type: shell, command: npm run dev:inspector, isBackground: true, options: { cwd: ${workspaceFolder}/inspector, env: { CLIENT_PORT: 6274, SERVER_PORT: 6277 } }, problemMatcher: { pattern: [ { regexp: ^.*$, file: 0, location: 1, message: 2 } ], background: { activeOnStart: true, beginsPattern: Starting MCP inspector, endsPattern: Proxy server listening on port } }, dependsOn: [ Start MCP Server ] }, { label: Open Agent Builder, type: shell, command: echo ${input:openAgentBuilder}, presentation: { reveal: never }, dependsOn: [ Start MCP Server ] }, { label: Terminate All Tasks, command: echo ${input:terminate}, type: shell, problemMatcher: [] } ], inputs: [ { id: openAgentBuilder, type: command, command: ai-mlstudio.agentBuilder, args: { initialMCPs: [ local-server-weather_mcp ], triggeredFrom: vsc-tasks } }, { id: terminate, type: command, command: workbench.action.tasks.terminate, args: terminateAll } ] }编排逻辑要点Start MCP Server以python -m debugpy --listen 127.0.0.1:5678启动带调试监听的服务器SSE 传输、端口 3001并配置 background problemMatcher 识别启动完成标志Start MCP Inspector在 inspector 目录运行npm run dev:inspector占用CLIENT_PORT6274与SERVER_PORT6277且依赖服务器已启动Open Agent Builder通过ai-mlstudio.agentBuilder命令直接打开 Agent Builder并用initialMCPs: [local-server-weather_mcp]预挂载本地服务器实现启动即连接。双环境测试Agent Builder 调试选择 Debug in Agent Builder 配置 → F5 → 等待服务器启动并自动打开 Agent Builder用自然语言测试SYSTEM_PROMPT You are my weather assistant USER_PROMPT Hows the weather like in SeattleInspector 调试选择 Debug in Inspector (Edge/Chrome)打开http://localhost:6274后可以查看可用工具列表、执行工具调用、监控网络请求、调试服务器响应——这是验证工具参数与返回结构的最高效途径。源码剖析二生产级 GitHub Clone 服务器Lab 4 针对一个真实痛点手动克隆 GitHub 仓库并打开 VS Code 需要开终端 → 切目录 →git clone→ 打开编辑器四步操作。MCP 方案将其压缩为一条智能指令。仓库中的完整实现位于 10-StreamliningAIWorkflowsBuildingAnMCPServerWithAIToolkit/lab4/code/github_mcp_server/提供三个能力能力说明 智能仓库克隆带校验的git clone自动化错误检查 智能目录管理安全地检查与创建目录防止覆盖 跨平台 VS Code 集成打开 VS Code / InsidersWindows/Linux/macOS 全覆盖git_clone_repo带完整校验的克隆工具见 server.py工具按先校验、再执行的原则实现server.tool() async def git_clone_repo(repo_url: str, target_folder: str) - str: Clone a git repository to a specified folder. # 1. 目标目录已存在则拒绝防止覆盖 target_path Path(target_folder).expanduser().absolute() if target_path.exists(): return json.dumps({success: False, error: fTarget folder already exists: {str(target_path)}}) # 2. 检查 git 是否已安装 try: subprocess.run([git, --version], checkTrue, capture_outputTrue, textTrue) except FileNotFoundError: return json.dumps({success: False, error: Git is not installed. Please install Git first.}) except subprocess.CalledProcessError: return json.dumps({success: False, error: Error checking Git installation.}) # 3. 递归创建父目录 target_path.parent.mkdir(parentsTrue, exist_okTrue) # 4. 执行克隆并捕获失败原因 try: result subprocess.run([git, clone, repo_url, str(target_path)], checkTrue, capture_outputTrue, textTrue) return json.dumps({success: True, target_folder: str(target_path)}) except subprocess.CalledProcessError as e: return json.dumps({success: False, error: fGit clone failed: {e.stderr}})该校验链与 Lab 4 文档中要求完全一致检查目标目录是否存在存在即报错、验证 GitHub URL 格式、确认 git 命令可用缺失时提示安装、处理网络问题并为所有失败场景返回明确错误信息。所有返回统一为{success, ...}JSON 结构便于 LLM 与调用方解析。open_in_vscode跨平台应用启动第二个工具解决用应用本体而非终端命令打开 VS Code的跨平台问题server.tool() async def open_in_vscode(folder_path: str, use_insiders: bool False) - str: Open a folder in VS Code or VS Code Insiders application. folder_path Path(folder_path).expanduser().absolute() if not folder_path.exists(): return json.dumps({success: False, error: fFolder does not exist: {str(folder_path)}}) system platform.system() try: if system Darwin: # macOS app_name Visual Studio Code - Insiders if use_insiders else Visual Studio Code subprocess.run([open, -a, app_name, str(folder_path)], checkTrue) elif system Windows: # 依次探测 LOCALAPPDATA 与 Program Files 路径兜底使用 code/code-insiders 命令 ... elif system Linux: # 先尝试 xdg-open 唤起桌面应用失败后回退 code 命令 ... return json.dumps({success: True, message: fOpened {str(folder_path)} in ...}) except subprocess.CalledProcessError as e: return json.dumps({success: False, error: fFailed to open VS Code: {str(e)}}) except FileNotFoundError: return json.dumps({success: False, error: VS Code is not installed or not in PATH})实现细节macOS 用open -a指定应用名Windows 先探测LOCALAPPDATA与 Program Files 下的Code.exe支持 Insiders找不到再回退到code/code-insiders命令行并刻意以无 shell 方式启动可执行文件以避免路径元字符的命令注入Linux 优先xdg-open唤起桌面应用失败后回退命令行。use_insiders参数统一控制是否使用 Insiders 版本。借助 Copilot Agent Mode 生成与测试Lab 4 的推荐路径是用 GitHub Copilot Agent Mode选择 Claude 3.7 模型以增强推理能力配合一段详细提示词自动生成上述工具代码然后在 Agent Builder 中配置系统提示词如You are my intelligent coding repository assistant...用真实场景测试Clone https://github.com/kinfey/GHCAgentWorkshop and save to {目标路径}, then open it with VS Code Insiders在 Agent Builder 与 MCP Inspector 双环境验证工具调用与错误处理。企业级应用场景工作坊文档还给出了四类企业落地方向用于启发读者把所学技能映射到业务中DevOps 自动化智能仓库管理AI 驱动的代码审查与合并决策、智能 CI/CD基于代码变更的流水线优化、Issue 自动分类与指派质量保障革命智能测试生成、AI 驱动的视觉回归检测、主动式性能监控数据管道智能化自适应 ETL、实时数据质量异常检测、智能数据流路由客户体验增强具备客户历史访问能力的上下文感知支持、预测式问题解决、多渠道统一 AI 体验。技能掌握清单完成工作坊后用以下清单自检核心能力MCP 协议掌握深入理解架构与实现模式Foundry Toolkit 熟练运用快速开发 AI 应用自定义服务器开发构建、部署与维护生产级 MCP 服务器工具集成把 AI 无缝接入既有开发工作流问题解决应用将所学技能用于真实业务挑战技术技能在 VS Code 中配置 Foundry Toolkit设计与实现自定义 MCP 服务器将 Foundry 模型与 MCP 架构集成用 Playwright 构建自动化测试工作流部署生产级 AI Agent调试与优化 MCP 服务器性能进阶能力设计企业级 AI 集成架构落地 AI 应用安全最佳实践设计可扩展的 MCP 服务器架构为特定领域创建自定义工具链后续学习路径完成本工作坊后可继续深入仓库中的其他专题MCP 核心概念与协议细节见 01-CoreConcepts/README.md含 01-CoreConcepts/mcp-2026-07-28.md 规范笔记安全设计参考 02-Security/README.md 与其中的 02-Security/mcp-security-best-practices.md进阶主题传输、采样、OAuth2、路由、扩展等见 05-AdvancedTopics/README.md。工作坊文档也推荐继续进入 11-MCPServerHandsOnLabs/README.md 的服务器实操实验室从架构、安全、数据库、工具到部署监控把本工作坊的 MCP 技能落地成完整的生产级 MCP 服务。赞分享教程文档人工智能【免费下载链接】mcp-for-beginnersThis open-source curriculum introduces the fundamentals of Model Context Protocol (MCP) through real-world, cross-language examples in .NET, Java, TypeScript, JavaScript, Rust and Python. Designed for developers, it focuses on practical techniques for building modular, scalable, and secure AI workflows from session setup to service orchestration.项目地址https://gitcode.com/GitHub_Trending/mc/mcp-for-beginners点击查看免费下载相关推荐mcp-for-beginners 实战使用 Microsoft Foundry Toolkit 构建与调试 Weather MCP Servermcp for beginners 实战使用 Microsoft Foundry Toolkit 构建与调试 Weather MCP Server 本文是 m教程文档人工智能mcp-for-beginners 实战指南Microsoft Foundry Toolkit 基础与 AI Agent 构建Module 1mcp for beginners 实战指南Microsoft Foundry Toolkit 基础与 AI Agent 构建Module 1 本篇文章对教程文档人工智能.NET 9 构建 MCP stdio 服务器实战传输机制、工具实现与 MCP Inspector 调试指南mcp-for-beginners.NET 9 构建 MCP stdio 服务器实战传输机制、工具实现与 MCP Inspector 调试指南mcp for beginners 本文以 m教程文档人工智能上一篇OpCore-Simplify让黑苹果安装从复杂到简单的智能助手下一篇Cycle.js PWA后台同步指南响应式应用的离线同步创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →