Token导航 LogoToken导航TokenDH.com
Azure Storage MCP Apps Demo logo
运维云端未说明官方级别未说明来源级核验

Azure Storage MCP Apps Demo

MCP Server

一个在VS Code Copilot聊天中直接呈现Azure存储仪表板的交互式MCP应用演示,支持浏览存储账户、管理容器和Blob以及生成SAS令牌。

工具数

10

提示词数

0

GitHub Stars

2

资源数

0
TypeScriptVS Code云端部署VS Code

安装说明

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

作者 / 组织

tw3lveparsecs

提供方

tw3lveparsecs

最后核验

2026/5/17 20:21

快速接入

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

详细介绍

Azure存储MCP应用程序演示

一个交互式MCP Apps演示,直接在VS Code Copilot聊天中呈现Azure存储仪表板。浏览存储帐户、管理容器和blob以及生成SAS令牌——所有这些都在由 MCP应用程序扩展.

什么是MCP应用程序?

MCP应用程序扩展 模型上下文协议 让MCP工具返回 交互式UI组件 (HTML/CSS/JS)直接在对话中呈现。工具可以显示仪表板、表单、可视化和多步骤工作流,而不是纯文本响应,同时让人工智能模型了解用户操作。

演示流程

  1. 询问副驾驶: “显示我订阅中的所有Azure存储帐户”
  2. 仪表板出现: 一个交互式卡片网格,显示存储帐户的位置、SKU、级别和大小信息
  3. 单击存储帐户: 仪表板呼叫 get_storage_account 并呈现一个包含属性、端点和容器表的详细面板
  4. 管理容器: 创建新容器、删除现有容器或单击容器以浏览blob
  5. 管理blob: 上传文件(拖放或文本)、下载blob、内联预览内容或删除blob
  6. 生成SAS令牌: 表单模式允许您选择权限和到期时间;UI调用 generate_sas_token 并使用复制按钮显示令牌和完整URL

所有交互都发生在嵌入式UI中——代理在幕后协调工具调用。

先决条件

  • Node.js 18+
  • VS Code 使用GitHub Copilot(Copilot聊天)
  • 您的VS代码版本支持MCP应用程序(建议VS代码内部人员)
  • Azure 订阅 随着 AZURE_SUBSCRIPTION_ID 环境变量集
  • Azure命令行界面 已登录(或由支持的其他凭据源 DefaultAzureCredential)

快速开始

# Install dependencies
npm install

# Build (type-check + bundle UI + compile server)
npm run build

# Configure the MCP server in VS Code (see .vscode/mcp.json example below)
# Then open this folder in VS Code and use Copilot chat

发展

# Watch mode: auto-rebuilds UI and restarts server on changes
npm run dev

# Run HTTP server for testing (port 3001)
npm run serve

# Run stdio server directly
npm run serve:stdio

项目结构

├── mcp-app.html             # UI entry point (bundled by Vite)
├── src/
│   ├── mcp-app.ts           # Client-side dashboard logic (App class)
│   └── mcp-app.css          # Azure-themed styling
├── server.ts                # MCP server: 10 tools + 1 UI resource
├── main.ts                  # Entry point: stdio + HTTP transports
├── dist/                    # Build output (bundled HTML + compiled JS)
├── package.json
├── tsconfig.json            # Type checking config
├── tsconfig.server.json     # Server compilation config
└── vite.config.ts           # Vite + singlefile bundler

建筑

MCP服务器(Server.ts)

使用注册10个工具和1个UI资源 @modelcontextprotocol/ext-apps/server:

工具描述有用户界面吗?
list_storage_accounts列出订阅中的所有帐户是(仪表板)
get_storage_account返回详细的帐户信息否(由仪表板UI使用)
list_containers列出帐户中的blob容器否(由仪表板UI使用)
create_container创建新的blob容器否(由仪表板UI使用)
delete_container删除blob容器否(由仪表板UI使用)
list_blobs列出容器中的blob否(由仪表板UI使用)
upload_blob以blob形式上传内容否(由仪表板UI使用)
download_blob下载blob内容否(由仪表板UI消耗)
delete_blob删除blob否(由仪表板UI使用)
generate_sas_token为容器生成SAS令牌否(由仪表板UI使用)

仪表板用户界面(src/mcp-app.ts)

使用 App 类从 @modelcontextprotocol/ext-apps 致:

  • 通过以下方式接收初始工具结果 ontoolresult
  • 在视图(帐户)之间导航→ 容器→ blobs)与面包屑导航
  • 通过以下方式调用服务器工具 app.callServerTool() 用于所有CRUD操作(获取详细信息、列出/创建/删除容器、列出/上传/下载/删除blob、生成SAS)
  • 显示用于创建容器、上传blob、生成SAS令牌、确认删除和blob内容预览的模式对话框
  • 通过以下方式应用主机主题 onhostcontextchanged

构建管道

  • Vite+Vite插件单文件 捆绑包 mcp-app.html + src/mcp-app.ts + src/mcp-app.css 在中转换为单个自包含的HTML文件 dist/
  • TypeScript 编译服务器文件(server.ts, main.ts)to dist/
  • MCP服务器读取并提供捆绑的HTML作为 text/html;profile=mcp-app 资源

参考文献

目录标签

目录标签

TypeScriptVS Code云端部署Azure存储管理本地部署交互式UIVSCode扩展云存储工具MCP应用

支持客户端

VS Code

接入字段

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

未说明

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

none

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

10

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明noneremote-capable

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP