Skip to content

Commit bb61231

Browse files
authored
Merge pull request #312296 from ggailey777/mcp-apps-updates
[Functions] Add weather app screenshot to the MCP Apps quickstart
2 parents 4017c33 + 155c6a7 commit bb61231

3 files changed

Lines changed: 4 additions & 2 deletions

File tree

233 KB
Loading
56.2 KB
Loading

articles/azure-functions/scenario-mcp-apps.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Build an MCP Apps server using Azure Functions
33
description: "Learn how to create and deploy an MCP App that returns interactive UI using Azure Functions. This quickstart uses the Azure Developer CLI to deploy an MCP App project that enables AI clients to access tools with rich interactive interfaces hosted on Azure's Flex Consumption plan."
4-
ms.date: 02/20/2026
4+
ms.date: 02/25/2026
55
ms.update-cycle: 180-days
66
ms.topic: quickstart
77
ai-usage: ai-assisted
@@ -17,6 +17,8 @@ In this quickstart, you create a Model Context Protocol (MCP) server from a temp
1717

1818
After running the project locally and verifying your code by using GitHub Copilot, you deploy it to a new serverless function app in Azure Functions that follows current best practices for secure and scalable deployments.
1919

20+
:::image type="content" source="media/scenario-mcp-apps/mcp-weather-app-seattle.png" alt-text="Screenshot of a weather app UI for Seattle showing drizzle, temperature, humidity, wind, and report timestamp." lightbox="media/scenario-mcp-apps/mcp-weather-app-seattle-full.png":::
21+
2022
Because the new app runs on the Flex Consumption plan, which follows a _pay-for-what-you-use_ billing model, completing this quickstart incurs a small cost of a few USD cents or less in your Azure account.
2123

2224
::: zone pivot="programming-language-javascript,programming-language-java"
@@ -205,7 +207,7 @@ The function code for the MCP Apps weather tool is defined in the `src/function_
205207

206208
:::code language="python" source="~/functions-scenarios-custom-mcp-python/src/function_app.py" range="109-130" :::
207209

208-
The `TOOL_METADATA` constant declares a `ui.resourceUri` that tells the MCP host to fetch the interactive UI from `ui://weather/index.html` after the tool runs. The `@app.mcp_resource_trigger()` method serves the HTML widget. The `get_weather_widget` function serves the bundled HTML file at that URI using `@app.mcp_resource_trigger()`:
210+
The `TOOL_METADATA` constant declares a `ui.resourceUri` that tells the MCP host to fetch the interactive UI from `ui://weather/index.html` after the tool runs. The `@app.mcp_resource_trigger()` method serves the HTML widget. The `get_weather_widget` function serves the bundled HTML file at that URI using `@app.mcp_resource_trigger()`:
209211

210212
:::code language="python" source="~/functions-scenarios-custom-mcp-python/src/function_app.py" range="64-105" :::
211213

0 commit comments

Comments
 (0)