Token导航 LogoToken导航TokenDH.com
Azure MCP Demo logo
AI代理stdio官方级别未说明来源级核验

Azure MCP Demo

MCP Server

基于Azure Functions和MCP协议的智能购物助手,提供产品查询、定制设计生成和客户服务功能。

工具数

6

提示词数

0

GitHub Stars

0

资源数

0
图像生成Python文件搜索Docker

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

kinfey

提供方

kinfey

最后核验

2026/5/17 20:22

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -p 10000:10000 -p 10001:10001 -p 10002:10002 \

详细介绍

Azure MCP演示-ZavaShop人工智能助手

概述

此存储库演示了 具有模型上下文协议(MCP)的Azure函数 与...集成 Azure人工智能代理 用于构建智能购物助手。该项目展示了如何创建远程MCP服务器和人工智能驱动的会话代理,可以处理图像生成、文件搜索和交互式客户服务场景。

项目架构

该项目由三个主要部分组成:

1.使用Azure函数(Python)的远程MCP服务器

位于 MCP/remote-mcp-functions-python/,此组件提供:

  • MCP工具端点:通过Azure Functions公开的可供AI代理使用的自定义工具
  • 图像生成:与Azure OpenAI DALL-E集成,用于AI驱动的图像创建
  • Blob存储集成:使用Azure Blob存储进行片段存储和检索
  • 定制商店工具:ZavaShop用例的专用工具(定制衬衫设计、登录、产品信息)

主要特点:

  • 使用功能密钥身份验证保护HTTPS端点
  • 用于实时MCP通信的服务器发送事件(SSE)
  • 使用MCP协议的可扩展工具框架
  • 使用Azurite存储仿真器提供本地开发支持
  • 使用以下命令部署到Azure azd

2.集成MCP的AI Agent

文件: zavashop_voicelive_with_mcp_file_agent.py

此实现演示了:

  • 快速代理 使用Azure AI项目SDK
  • MCP工具集成:连接到远程MCP服务器以生成图像
  • 文件搜索功能:基于矢量存储的产品信息检索
  • 审批工作流程:演示受控工具执行的MCP审批请求处理

3.带有功能工具的AI Agent

文件: zavashop_voicelive_with_tool_genai_file_agent.py

这种替代实施方式展示了:

  • 功能工具:代理内的直接函数调用处理
  • Azure OpenAI映像生成:无需外部MCP服务器即可生成内联图像
  • 混合工具方法:结合文件搜索和自定义功能工具

用例:ZavaShop智能助手

ZavaShop助手是一个基于人工智能的客户服务代理,可以:

  1. 回答产品查询:使用文件搜索从产品目录中检索信息
  2. 生成自定义设计:根据客户描述创建服装项目的视觉表示
  3. 处理客户请求:协助登录、定制和个性化购物体验

示例工作流

场景1:产品搜索

User: "Can you list all SKUs in ZavaShop?"
Agent: Uses file search tool → Returns product information from vector store

场景2:自定义设计生成

User: "Create a blue Uniqlo-style shirt with the Strava logo"
Agent: Triggers image generation → Returns generated image URL

场景3:带有跑步统计信息的定制衬衫

User: "I want a custom shirt with my marathon stats"
Agent: Prompts for login → Retrieves stats → Generates custom design

技术栈

Azure服务

  • Azure 函数:MCP服务器托管的无服务器计算
  • Azure AI Foundry:代理编排和对话管理
  • Azure OpenAI服务:图像生成(DALL-E)和语言模型
  • Azure Blob存储:片段和图像存储
  • Azure矢量存储:产品信息索引和搜索

开发工具

  • Python 3.11+:主要编程语言
  • Azure开发者命令行界面(azd):简化部署
  • Azure功能核心工具:本地开发和调试
  • 模型上下文协议:标准化AI工具集成
  • OpenAI SDK:代理和响应处理

关键依赖关系

  • azure-ai-projects:AI代理框架
  • azure-functions:功能应用框架
  • azure-storage-blob:Blob存储集成
  • azure-identity:Azure身份验证
  • openai:用于代理操作的OpenAI客户端
  • requests:API调用的HTTP客户端
  • Pillow:图像处理

项目结构

AzureMCPDemo/
├── MCP/
│   └── remote-mcp-functions-python/     # Remote MCP Server
│       ├── src/
│       │   ├── function_app.py          # MCP tool definitions
│       │   ├── requirements.txt         # Python dependencies
│       │   └── imgs/                    # Generated images directory
│       ├── infra/                       # Azure infrastructure (Bicep)
│       │   ├── main.bicep              # Main infrastructure template
│       │   └── app/                    # Application-specific resources
│       └── azure.yaml                   # Azure Developer CLI configuration
├── zavashop_voicelive_with_mcp_file_agent.py      # MCP-based agent
├── zavashop_voicelive_with_tool_genai_file_agent.py  # Function tool-based agent
└── README.md                            # This file

入门指南

先决条件

  1. Azure订阅:活动的Azure订阅
  1. 开发工具:

- Python 3.11或更高版本 - Azure功能核心工具(>=4.0.7030) - Azure开发者命令行界面(azd) - Docker(用于Azurite存储模拟器)

  1. 环境变量:

创建一个 .env 文件包含以下内容:

   AZURE_AI_PROJECT_ENDPOINT=
   AZURE_AI_MODEL_DEPLOYMENT_NAME=
   AZURE_OPENAI_ENDPOINT=
   AZURE_OPENAI_DEPLOYMENT_NAME=
   AZURE_OPENAI_API_KEY=
   AZURE_OPENAI_API_VERSION=2025-04-01-preview
   MCP_ENDPOINT=
   ASSET_FILE_PATH=

地方发展

1.启动Azure存储模拟器

docker run -p 10000:10000 -p 10001:10001 -p 10002:10002 \
    mcr.microsoft.com/azure-storage/azurite

2.在本地运行MCP服务器

cd MCP/remote-mcp-functions-python/src
pip install -r requirements.txt
func start

MCP服务器将在以下地点提供: http://0.0.0.0:7071/runtime/webhooks/mcp/sse

3.使用MCP检验员进行测试

npx @modelcontextprotocol/inspector

连接到: http://0.0.0.0:7071/runtime/webhooks/mcp/sse

4.运行AI代理

# MCP-based agent
python zavashop_voicelive_with_mcp_file_agent.py

# Function tool-based agent
python zavashop_voicelive_with_tool_genai_file_agent.py

部署到Azure

部署MCP服务器

cd MCP/remote-mcp-functions-python
azd up

此命令将:

  • 配置Azure功能、存储帐户和其他所需资源
  • 部署MCP服务器代码
  • 配置安全和网络

可选:启用Direct3D隔离

azd env set VNET_ENABLED true
azd up

检索功能键

部署后,获取MCP系统密钥:

az functionapp keys list \
  --resource-group  \
  --name 

更新您的 .env 文件包含:

MCP_ENDPOINT=https://.azurewebsites.net/runtime/webhooks/mcp/sse?code=

MCP工具可用

内置工具

  1. hello_cp:测试连接性和基本功能
  2. 定制:启动定制衬衫设计流程
  3. 登录:验证和检索用户运行统计信息
  4. get_snippet:从blob存储中检索已保存的代码片段
  5. 保存片段:将代码片段保存到blob存储区
  6. gen_image:使用Azure OpenAI DALL-E生成图像

工具定义

每个工具都使用MCP协议定义,包括:

  • 工具名称:唯一标识符
  • 描述:用于人工智能理解的自然语言描述
  • 参数:定义输入要求的JSON模式
  • 绑定:用于存储/计算集成的Azure Functions绑定

代理实现模式

模式1:MCP远程工具(推荐用于生产)

优势:

  • 集中工具管理
  • 可在多个代理之间重复使用
  • 可扩展和可维护
  • 支持审批工作流

使用时间:

  • 多个代理需要相同的工具
  • 工具需要复杂的基础设施
  • 需要治理和批准

模式2:功能工具(轻量级)

优势:

  • 实施更简单
  • 直接功能执行
  • 减少延迟
  • 无外部依赖关系

使用时间:

  • 单代理应用程序
  • 简单的工具逻辑
  • 快速原型制作

安全注意事项

MCP服务器安全

  • 功能键:所有端点都使用系统密钥进行保护
  • 仅限HTTPS:强制SSL/TLS加密
  • CORS配置:来源受限
  • 可选OAuth:可通过Azure AD身份验证进行扩展
  • Direct3D集成:网络隔离支持

AI代理安全

  • 凭证管理:使用Azure默认Azure凭据
  • MCP审批流程:手动批准敏感操作
  • 输入验证:执行前验证工具参数
  • 审计日志:记录所有工具调用以符合要求

高级功能

图像生成管道

  1. 用户提供自然语言提示
  2. 代理处理提示和呼叫 gen_image 工具
  3. Azure OpenAI DALL-E 生成映像 (base64)
  4. 映像已上传到Azure Blob存储
  5. 公共URL返回给用户
  6. 图像可以显示在UI中或用于进一步处理

矢量存储搜索

  1. 产品目录已上传到Azure OpenAI矢量存储
  2. Agent使用FileSearchTool进行语义搜索
  3. 检索并展示相关产品信息
  4. 基于库存的情境感知响应

监控与调试

查看功能应用程序日志

az webapp log tail \
  --name  \
  --resource-group 

MCP工具测试检查员

MCP检查员提供:

  • 实时工具发现
  • 交互式工具测试
  • 响应验证
  • 调试信息

应用洞察

所有部署的功能都包括Application Insights,用于:

  • 性能监控
  • 误差跟踪
  • 自定义遥测
  • 分布式跟踪

成本优化

消费计划

  • 仅支付执行时间
  • 自动缩放
  • 无闲置成本

储存成本

  • Blob存储:按使用的容量付费
  • 考虑旧映像的生命周期策略

人工智能服务

  • Azure OpenAI:基于令牌的定价
  • 为用例选择合适的模型层

最佳实践

  1. 环境管理:为dev/test/prod使用单独的环境
  2. 秘密管理:将敏感数据存储在Azure密钥库中
  3. 错误处理:实施全面的try-catch块
  4. 日志记录:使用结构化日志记录以获得更好的可观察性
  5. 测试:在代理集成之前单独测试工具
  6. 文档:保持工具描述清晰,便于人工智能理解
  7. 版本控制:使用代理版本控制进行安全更新

故障排除

常见问题

MCP连接失败

  • 验证功能应用程序是否正在运行
  • 检查功能键是否正确
  • 确保CORS配置正确

图像生成失败

  • 验证Azure OpenAI端点和密钥
  • 检查部署名称是否匹配
  • 验证API版本兼容性

文件搜索未返回任何结果

  • 确认矢量存储已创建
  • 验证文件上传成功
  • 检查代理是否具有正确的vector_store_ids

代理不使用工具

  • 确保工具描述清晰
  • 验证说明参考工具功能
  • 检查MCP批准是否被拒绝

贡献

这是一个展示Azure AI功能的演示项目。请随意:

  • 使用自定义工具进行分叉和实验
  • 添加新的代理功能
  • 改进错误处理和日志记录
  • 分享反馈和建议

相关资源

许可证

本项目按原样提供,用于演示目的。具体条款请参考单个组件许可证。

支持

对于问题和疑问:

______________________________________________________________________

基于Azure AI构建 | 由模型上下文协议提供支持 | 由OpenAI增强

目录标签

目录标签

图像生成Python文件搜索DockerAzureFunctions本地部署AI助手MCP协议

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP