You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/app-service/tutorial-ai-agent-web-app-semantic-kernel-foundry-dotnet.md
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -58,9 +58,9 @@ The easiest way to get started is by using GitHub Codespaces, which provides a c
58
58
59
59
1. Navigate to the GitHub repository at [https://github.com/Azure-Samples/app-service-agentic-semantic-kernel-ai-foundry-agent](https://github.com/Azure-Samples/app-service-agentic-semantic-kernel-ai-foundry-agent).
60
60
61
-
2. Select the **Code** button, select the **Codespaces** tab, and click**Create codespace on main**.
61
+
2. Select the **Code** button, select the **Codespaces** tab, and select**Create codespace on main**.
62
62
63
-
3. Wait a few moments for your Codespace to initialize. When ready, you'll see a fully configured VS Code environment in your browser.
63
+
3. Wait a few moments for your Codespace to initialize. When ready, you'll see a fully configured development environment in your browser.
64
64
65
65
4. Run the application locally:
66
66
@@ -104,6 +104,8 @@ The OpenAPI code is defined in *Program.cs*. For example, the "get tasks" API de
104
104
105
105
## Deploy the sample application
106
106
107
+
The sample respository contains an Azure Developer CLI (AZD) template, which creates an App Service app with managed identity and deploys your sample application.
108
+
107
109
1. In the terminal, log into Azure using Azure Developer CLI:
108
110
109
111
```bash
@@ -243,7 +245,7 @@ When you're done with the application, you can delete the App Service resources
243
245
azd down --purge
244
246
```
245
247
246
-
Sind the AZD template doesn't include the Azure AI Foundry resources, you need to delete them manually if you want.
248
+
Since the AZD template doesn't include the Azure AI Foundry resources, you need to delete them manually if you want.
Copy file name to clipboardExpand all lines: articles/app-service/tutorial-ai-agent-web-app-semantic-kernel-java.md
+8-6Lines changed: 8 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -43,9 +43,9 @@ The easiest way to get started is by using GitHub Codespaces, which provides a c
43
43
44
44
1. Navigate to the GitHub repository at [https://github.com/Azure-Samples/app-service-agentic-semantic-kernel-java](https://github.com/Azure-Samples/app-service-agentic-semantic-kernel-java).
45
45
46
-
2. Select the **Code** button, select the **Codespaces** tab, and click**Create codespace on main**.
46
+
2. Select the **Code** button, select the **Codespaces** tab, and select**Create codespace on main**.
47
47
48
-
3. Wait a few moments for your Codespace to initialize. When ready, you'll see a fully configured VS Code environment in your browser.
48
+
3. Wait a few moments for your Codespace to initialize. When ready, you'll see a fully configured development environment in your browser.
49
49
50
50
4. Run the application locally:
51
51
@@ -59,7 +59,7 @@ The easiest way to get started is by using GitHub Codespaces, which provides a c
59
59
60
60
The Semantic Kernel agent is initialized in [src/main/java/com/example/crudtaskswithagent/controller/AgentController.java](https://github.com/Azure-Samples/app-service-agentic-semantic-kernel-java/blob/main/src/main/java/com/example/crudtaskswithagent/controller/AgentController.java), when the user enters the first prompt in a new browser session.
61
61
62
-
You can find the initialization code in the `SemanticKernelAgentService`contructor (in [src/main/java/com/example/crudtaskswithagent/service/SemanticKernelAgentService.java](https://github.com/Azure-Samples/app-service-agentic-semantic-kernel-java/blob/main/src/main/java/com/example/crudtaskswithagent/service/SemanticKernelAgentService.java)). The initialization code does the following:
62
+
You can find the initialization code in the `SemanticKernelAgentService`constructor (in [src/main/java/com/example/crudtaskswithagent/service/SemanticKernelAgentService.java](https://github.com/Azure-Samples/app-service-agentic-semantic-kernel-java/blob/main/src/main/java/com/example/crudtaskswithagent/service/SemanticKernelAgentService.java)). The initialization code does the following:
63
63
64
64
- Creates a kernel with chat completion.
65
65
- Adds a kernel plugin that encapsulates the functionality of the CRUD application (in *src/main/java/com/example/crudtaskswithagent/plugin/TaskCrudPlugin.java*). The interesting parts of the plugin are the `DefineKernelFunction` annotations on the method declarations and the `description` and `returnType` parameters that help the kernel call the plugin intelligently.
@@ -68,12 +68,14 @@ You can find the initialization code in the `SemanticKernelAgentService` contruc
Each time the prompt is received, the server code uses `ChatCompletionAgent.invokeAsync()` to invoke the agent with the user prompt and the agent thread. the agent thread keeps track of the chat history.
71
+
Each time the prompt is received, the server code uses `ChatCompletionAgent.invokeAsync()` to invoke the agent with the user prompt and the agent thread. The agent thread keeps track of the chat history.
The sample respository contains an Azure Developer CLI (AZD) template, which creates an App Service app with managed identity and deploys your sample application.
78
+
77
79
1. In the terminal, log into Azure using Azure Developer CLI:
78
80
79
81
```bash
@@ -113,7 +115,7 @@ Each time the prompt is received, the server code uses `ChatCompletionAgent.invo
113
115
114
116
## Create and configure the Azure AI Foundry resource
115
117
116
-
1. In the [Azure AI Foundry portal](https://ai.azure.com), deploy a model of your choice (see [Quickstart: Get started with Azure AI Foundry](/azure/ai-foundry/quickstarts/get-started-code?tabs=azure-ai-foundry&pivots=fdp-project)). A project and a model deployment is created for you in the process.
118
+
1. In the [Azure AI Foundry portal](https://ai.azure.com), deploy a model of your choice (see [Quickstart: Get started with Azure AI Foundry](/azure/ai-foundry/quickstarts/get-started-code?tabs=azure-ai-foundry&pivots=fdp-project)). A project and a model deployment are created for you in the process.
117
119
118
120
1. From the left menu, select **Overview**.
119
121
@@ -187,7 +189,7 @@ When you're done with the application, you can delete the App Service resources
187
189
azd down --purge
188
190
```
189
191
190
-
Sind the AZD template doesn't include the Azure AI Foundry resources, you need to delete them manually if you want.
192
+
Since the AZD template doesn't include the Azure AI Foundry resources, you need to delete them manually if you want.
Copy file name to clipboardExpand all lines: articles/app-service/tutorial-ai-integrate-azure-ai-agent-dotnet.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -208,7 +208,7 @@ When exposing APIs via OpenAPI in Azure App Service, follow these security best
208
208
- **Monitor and log activity:** Enable logging and monitor access to detect suspicious activity.
209
209
- **Use managed identities:** When calling other Azure services, use managed identities instead of hardcoded credentials.
210
210
211
-
For more guidance, see [Secure your App Service app](overview-security.md) and [Best practices for REST API security](/azure/architecture/best-practices/api-design#security).
211
+
For more information, see [Secure your App Service app](overview-security.md) and [Best practices for REST API security](/azure/architecture/best-practices/api-design#security).
Copy file name to clipboardExpand all lines: articles/app-service/tutorial-ai-integrate-azure-ai-agent-java.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -104,7 +104,7 @@ At a minimum, open the [sample application](https://github.com/Azure-Samples/msd
104
104
public String deleteTodoItem(@PathVariable("id") String id) {
105
105
```
106
106
107
-
This minimimal configuration will give you the following settings, as documented in [springdoc-openapi](https://springdoc.org/):
107
+
This minimal configuration gives you the following settings, as documented in [springdoc-openapi](https://springdoc.org/):
108
108
109
109
- Swagger UI at `/swagger-ui.html`.
110
110
- OpenAPI specification at `/v3/api-docs`.
@@ -160,7 +160,7 @@ When exposing APIs via OpenAPI in Azure App Service, follow these security best
160
160
- **Monitor and log activity:** Enable logging and monitor access to detect suspicious activity.
161
161
- **Use managed identities:** When calling other Azure services, use managed identities instead of hardcoded credentials.
162
162
163
-
For more guidance, see [Secure your App Service app](overview-security.md) and [Best practices for REST API security](/azure/architecture/best-practices/api-design#security).
163
+
For more information, see [Secure your App Service app](overview-security.md) and [Best practices for REST API security](/azure/architecture/best-practices/api-design#security).
Copy file name to clipboardExpand all lines: articles/app-service/tutorial-ai-model-context-protocol-server-dotnet.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -223,7 +223,7 @@ When your MCP server is called by an agent powered by large language models (LLM
223
223
- **Authentication and Authorization**: Protect your MCP endpoints in App Service behind [Azure API Management with Microsoft Entra ID](/azure/api-management/api-management-howto-protect-backend-with-aad) and ensure only authorized users or agents can access the tools.
224
224
- **Input Validation and Sanitization**: The example code in this tutorial omits input validation and sanitization for simplicity and clarity. In production scenarios, always implement proper validation and sanitization to protect your application. For ASP.NET Core, see [Model validation in ASP.NET Core](/aspnet/core/mvc/models/validation).
225
225
- **HTTPS:** The sample relies on Azure App Service, which enforces HTTPS by default and provides free TLS/SSL certificates to encrypt data in transit.
226
-
- **Least Privilege Principle**: Expose only the necessary tools and data required for your use case. Avoid exposing sensitive operations unless absolutely necessary.
226
+
- **Least Privilege Principle**: Expose only the necessary tools and data required for your use case. Avoid exposing sensitive operations unless necessary.
227
227
- **Rate Limiting and Throttling**: Use [API Management](/azure/api-management/api-management-sample-flexible-throttling) or custom middleware to prevent abuse and denial-of-service attacks.
228
228
- **Logging and Monitoring**: Log access and usage of MCP endpoints for auditing and anomaly detection. Monitor for suspicious activity.
229
229
- **CORS Configuration**: Restrict cross-origin requests to trusted domains if your MCP server is accessed from browsers. For more information, see [Enable CORS](app-service-web-tutorial-rest-api.md#enable-cors).
Copy file name to clipboardExpand all lines: articles/app-service/tutorial-ai-model-context-protocol-server-java.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,7 +36,7 @@ At a minimum, open the [sample application](https://github.com/Azure-Samples/msd
36
36
37
37
## Add MCP server to your web app
38
38
39
-
1. In the codespace, open *pom.xml* add the `spring-ai-starter-mcp-server-webmvc` package to your project:
39
+
1. In the codespace, open *pom.xml* and add the `spring-ai-starter-mcp-server-webmvc` package to your project:
40
40
41
41
```xml
42
42
<dependency>
@@ -46,7 +46,7 @@ At a minimum, open the [sample application](https://github.com/Azure-Samples/msd
46
46
</dependency>
47
47
```
48
48
49
-
1. Open *src/main/java/com/microsoft/azure/appservice/examples/springbootmongodb/TodoApplication.java*. For simplicity of the scenario, you will add all of your MCP server code here.
49
+
1. Open *src/main/java/com/microsoft/azure/appservice/examples/springbootmongodb/TodoApplication.java*. For simplicity of the scenario, you'll add all of your MCP server code here.
50
50
51
51
1. At the end of *TodoApplication.java*, add the following class.
52
52
@@ -115,7 +115,7 @@ At a minimum, open the [sample application](https://github.com/Azure-Samples/msd
115
115
}
116
116
```
117
117
118
-
This method provides the tools in `TodoListToolService` as callbacks for Spring AI. By default, the MCP Server auto-configuration in the `spring-ai-starter-mcp-server-webmvc` package automatically wires up these tool callbacks. Also, by default, the MCP Server endpoint is `<base-url>/sse`.
118
+
This method provides the tools in `TodoListToolService` as callbacks for Spring AI. By default, the MCP Server autoconfiguration in the `spring-ai-starter-mcp-server-webmvc` package automatically wires up these tool callbacks. Also, by default, the MCP Server endpoint is `<base-url>/sse`.
119
119
120
120
1. At the top of *TodoApplication.java*, add the following imports.
121
121
@@ -196,7 +196,7 @@ When your MCP server is called by an agent powered by large language models (LLM
196
196
- **Authentication and Authorization**: Protect your MCP endpoints in App Service behind [Azure API Management with Microsoft Entra ID](/azure/api-management/api-management-howto-protect-backend-with-aad) and ensure only authorized users or agents can access the tools.
197
197
- **Input Validation and Sanitization**: The example code in this tutorial omits input validation and sanitization for simplicity and clarity. In production scenarios, always implement proper validation and sanitization to protect your application. For Spring, see [Spring: Validating Form Input](https://spring.io/guides/gs/validating-form-input).
198
198
- **HTTPS:** The sample relies on Azure App Service, which enforces HTTPS by default and provides free TLS/SSL certificates to encrypt data in transit.
199
-
- **Least Privilege Principle**: Expose only the necessary tools and data required for your use case. Avoid exposing sensitive operations unless absolutely necessary.
199
+
- **Least Privilege Principle**: Expose only the necessary tools and data required for your use case. Avoid exposing sensitive operations unless necessary.
200
200
- **Rate Limiting and Throttling**: Use [API Management](/azure/api-management/api-management-sample-flexible-throttling) or custom middleware to prevent abuse and denial-of-service attacks.
201
201
- **Logging and Monitoring**: Log access and usage of MCP endpoints for auditing and anomaly detection. Monitor for suspicious activity.
202
202
- **CORS Configuration**: Restrict cross-origin requests to trusted domains if your MCP server is accessed from browsers. For more information, see [Enable CORS](app-service-web-tutorial-rest-api.md#enable-cors).
0 commit comments