Skip to content

Commit 155118c

Browse files
committed
Refine MCP documentation for clarity and consistency in quickstart guides
1 parent a6a3b17 commit 155118c

3 files changed

Lines changed: 18 additions & 23 deletions

File tree

articles/azure-functions/scenario-custom-remote-mcp-server.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,15 @@ zone_pivot_groups: programming-languages-set-functions
1515

1616
# Quickstart: Build a custom remote MCP server using Azure Functions
1717

18-
In this quickstart, you create a custom remote Model Context Protocol (MCP) server from a template project using the Azure Developer CLI (`azd`). The MCP server uses the Azure Functions MCP server extension to provide tools for AI models, agents, and assistants. After running the project locally and verifying your code 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.
18+
In this quickstart, you create a custom remote Model Context Protocol (MCP) server from a template project by using the Azure Developer CLI (`azd`). This MCP server uses the Azure Functions MCP server extension to provide tools for AI models, agents, and assistants. You can also use the MCP server extension to [create MCP Apps endpoints](./scenario-mcp-apps.md).
1919

20-
>[!TIP]
21-
>Functions also enables you to deploy an existing MCP server code project to a Flex Consumption plan app without having to make changes to your code project. For more information, see [Quickstart: Host existing MCP servers on Azure Functions](scenario-host-mcp-server-sdks.md).
20+
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.
2221

2322
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.
2423

2524
::: zone pivot="programming-language-javascript,programming-language-powershell"
2625
> [!IMPORTANT]
27-
> While [creating custom MCP servers](./functions-bindings-mcp.md) is supported for all Functions languages, this quickstart scenario currently only has examples for C#, Python, and TypeScript. To complete this quickstart, select one of these supported languages at the top of the article.
26+
> While [creating custom MCP servers](./functions-bindings-mcp.md) is supported for all Functions languages, this quickstart scenario currently only has examples for C#, Java, Python, and TypeScript. To complete this quickstart, select one of these supported languages at the top of the article.
2827
::: zone-end
2928
::: zone pivot="programming-language-typescript"
3029
This article supports version 4 of the Node.js programming model for Azure Functions.
@@ -40,7 +39,7 @@ This article supports version 2 of the Python programming model for Azure Functi
4039
::: zone-end
4140
::: zone pivot="programming-language-java"
4241
+ [Java 17 Developer Kit](/azure/developer/java/fundamentals/java-support-on-azure)
43-
+ If you use another [supported version of Java](supported-languages.md?pivots=programming-language-java#languages-by-runtime-version), you must update the project's pom.xml file.
42+
+ If you use another [supported version of Java](supported-languages.md?pivots=programming-language-java#languages-by-runtime-version), update the project's `pom.xml` file.
4443
+ Set the `JAVA_HOME` environment variable to the install location of the correct version of the Java Development Kit (JDK).
4544
+ [Apache Maven 3.8.x](https://maven.apache.org)
4645
::: zone-end
@@ -123,7 +122,7 @@ Use the `azd init` command to create a local Azure Functions code project from a
123122
## Run your MCP server locally
124123
::: zone-end
125124
::: zone pivot="programming-language-csharp"
126-
In a terminal window, navigate to the `FunctionsMcpTool` project folder:
125+
In a terminal window, go to the `FunctionsMcpTool` project folder:
127126

128127
```console
129128
cd src/FunctionsMcpTool
@@ -133,9 +132,9 @@ cd src/FunctionsMcpTool
133132

134133
[!INCLUDE [run-locally](../../includes/functions-mcp-run-locally.md)]
135134

136-
## Verify using GitHub Copilot
135+
## Verify by using GitHub Copilot
137136

138-
The project template includes a `.vscode/mcp.json` file that already defines a `local-mcp-function` server pointing to your local MCP endpoint. Use this configuration to verify your code with GitHub Copilot in Visual Studio Code:
137+
The project template includes a `.vscode/mcp.json` file that already defines a `local-mcp-function` server pointing to your local MCP endpoint. Use this configuration to verify your code by using GitHub Copilot in Visual Studio Code:
139138

140139
1. Open the `.vscode/mcp.json` file and select the **Start** button above the `local-mcp-function` configuration.
141140

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

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,22 @@ ai-usage: ai-assisted
88
ms.collection:
99
- ce-skilling-ai-copilot
1010
zone_pivot_groups: programming-languages-set-functions
11-
#Customer intent: As a developer, I want to create an MCP Apps that returns interactive UI from my MCP tools, so AI clients can render rich visual experiences using Azure Functions.
11+
#Customer intent: As a developer, I want to create an MCP Apps server that returns interactive UI from my MCP tools, so AI clients can render rich visual experiences using Azure Functions.
1212
---
1313

1414
# Quickstart: Build an MCP Apps using Azure Functions
1515

16-
In this quickstart, you create an [MCP App](https://blog.modelcontextprotocol.io/posts/2026-01-26-mcp-apps/) from a template project by using the Azure Developer CLI (`azd`). [MCP Apps](https://blog.modelcontextprotocol.io/posts/2026-01-26-mcp-apps/) is an extension of the Model Context Protocol (MCP) specification that lets tools return rich, interactive user interfaces (HTML/JavaScript in sandboxed iframes) instead of plain text.
16+
In this quickstart, you create a Model Context Protocol (MCP) server from a template project by using the Azure Developer CLI (`azd`). This MCP server uses the Azure Functions MCP extension to return MCP Apps resources.
1717

18-
This quickstart will use the Azure Functions MCP extension to build an MCP App using the MCP tool and resource trigger. 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.
18+
[MCP Apps](https://blog.modelcontextprotocol.io/posts/2026-01-26-mcp-apps/) is an extension of the Model Context Protocol (MCP) specification that lets tools return rich, interactive user interfaces. You can also use the MCP server extension to [create text-based tool endpoints](./scenario-custom-remote-mcp-server.md).
1919

20-
>[!TIP]
21-
>MCP tools built with the Azure Functions MCP extension don't have to return results in interactive UIs. If your server only needs text-based tools, see [Quickstart: Build a custom remote MCP server using Azure Functions](scenario-custom-remote-mcp-server.md).
20+
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.
2221

2322
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.
2423

2524
::: zone pivot="programming-language-javascript,programming-language-java"
2625
> [!IMPORTANT]
27-
> While [creating custom MCP servers](./functions-bindings-mcp.md) is supported for Java and JavaScript, this MCP Apps quickstart currently only has examples for C#, Python, and TypeScript. To complete this quickstart, select one of these supported languages at the top of the article.
26+
> While [creating MCP Apps](./functions-bindings-mcp.md) is supported for Java and JavaScript, this quickstart currently only has examples for C#, Python, and TypeScript. To complete this quickstart, select one of these supported languages at the top of the article.
2827
::: zone-end
2928

3029
[!INCLUDE [functions-mcp-extension-powershell-note](../../includes/functions-mcp-extension-powershell-note.md)]
@@ -86,14 +85,14 @@ Use the Azure Developer CLI to create an Azure Functions code project from a tem
8685

8786
5. When prompted, enter `mcpweather-ts` as the environment name.
8887

89-
The command pulls the project files from the [template repository](https://github.com/Azure-Samples/remote-mcp-functions-typescript) and initializes the project in the current folder. In `azd`, the environment maintains a unique deployment context for your app, and you can define more than one. It's also used in names of the resources you create in Azure.
88+
The command pulls the project files from the [template repository](https://github.com/Azure-Samples/remote-mcp-functions-typescript) and initializes the project in the current folder. In `azd`, the environment maintains a unique deployment context for your app, and you can define more than one. It's also used in the names of the resources you create in Azure.
9089
::: zone-end
9190
::: zone pivot="programming-language-python"
9291
4. Search for and select **Remote MCP Functions with Python**.
9392

9493
1. When prompted, enter `mcpweather-python` as the environment name.
9594

96-
The command pulls the project files from the [template repository](https://github.com/Azure-Samples/remote-mcp-functions-python) and initializes the project in the current folder. In `azd`, the environment maintains a unique deployment context for your app, and you can define more than one. It's also used in names of the resources you create in Azure.
95+
The command pulls the project files from the [template repository](https://github.com/Azure-Samples/remote-mcp-functions-python) and initializes the project in the current folder. In `azd`, the environment maintains a unique deployment context for your app, and you can define more than one. It's also used in the names of the resources you create in Azure.
9796
::: zone-end
9897
::: zone pivot="programming-language-csharp,programming-language-python,programming-language-typescript"
9998
## Start the storage emulator
@@ -127,7 +126,7 @@ The MCP Apps weather tool includes a frontend application that you must build be
127126
cd ..
128127
```
129128

130-
1. In the `src` directory, create a virtual environment in which the app runs:
129+
1. In the `src` directory, create a virtual environment for running the app:
131130

132131
### [Bash](#tab/bash)
133132

@@ -161,15 +160,15 @@ The MCP Apps weather tool includes a frontend application that you must build be
161160
::: zone-end
162161

163162
::: zone pivot="programming-language-csharp"
164-
When Visual Studio Code asks you to pick a default project because there are two apps in the .NET template, pick **src/McpWeatherApp**.
163+
When Visual Studio Code asks you to pick a default project because there are two apps in the .NET template, select **src/McpWeatherApp**.
165164
::: zone-end
166165

167166
::: zone pivot="programming-language-csharp,programming-language-python,programming-language-typescript"
168167
[!INCLUDE [run-locally](../../includes/functions-mcp-run-locally.md)]
169168

170169
## Verify by using GitHub Copilot
171170

172-
The project template includes a `.vscode/mcp.json` file that already defines a `local-mcp-function` server pointing to your local MCP endpoint. Use this configuration to verify your code with GitHub Copilot in Visual Studio Code:
171+
The project template includes a `.vscode/mcp.json` file that defines a `local-mcp-function` server pointing to your local MCP endpoint. Use this configuration to verify your code by using GitHub Copilot in Visual Studio Code:
173172

174173
1. Open the `.vscode/mcp.json` file and select the **Start** button above the `local-mcp-function` configuration.
175174

includes/functions-mcp-cleanup.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,4 @@ When you're done working with your MCP server and related resources, use this co
1010

1111
```console
1212
azd down
13-
```
14-
15-
> [!NOTE]
16-
> The `--no-prompt` option instructs `azd` to delete your resource group without confirmation from you. This command doesn't affect your local code project.
13+
```

0 commit comments

Comments
 (0)