Skip to content

Add Scenario 15: MCP App with Semantic Search#61

Draft
Copilot wants to merge 3 commits intomainfrom
copilot/add-mcp-server-scenario-15
Draft

Add Scenario 15: MCP App with Semantic Search#61
Copilot wants to merge 3 commits intomainfrom
copilot/add-mcp-server-scenario-15

Conversation

Copy link
Contributor

Copilot AI commented Jan 29, 2026

Implements a new scenario demonstrating MCP Apps - the new MCP extension that enables servers to provide interactive UI components to clients like VS Code.

Changes

New Scenario: scenarios/15-MCPApp

  • eShopMcpApp: MCP server using ModelContextProtocol.AspNetCore (v0.7.0-preview.1) with embedded HTML search UI
  • Products API: Semantic search via Azure OpenAI embeddings + in-memory vector store
  • Aspire orchestration: SQL Server, Azure OpenAI integration

MCP Tools Exposed

Tool Description
ProductSearch Opens interactive search UI (MCP App pattern)
SemanticSearchProducts AI-powered vector search
KeywordSearchProducts Traditional SQL LIKE search

Example Tool Definition

[McpServerTool]
[Description("Open an interactive product search UI")]
[McpMeta("ui", JsonValue = """{ "resourceUri": "ui://product-search/app.html" }""")]
public static ProductSearchResult ProductSearch(string? query = "") { ... }

[McpServerResource(UriTemplate = "ui://product-search/app.html", MimeType = "text/html")]
public static async Task<string> GetProductSearchUI() => await ProductSearchHtmlProvider.GetHtml();

Documentation

  • README with MCP Apps explanation, architecture diagram, setup instructions
  • Links to official MCP Apps spec and samples

Stack

  • .NET 10, Aspire 13.0.1, MCP SDK 0.7.0-preview.1

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • elbruno.com
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node /home/REDACTED/work/_temp/ghcca-node/node/bin/node --enable-source-maps /home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

Goal

Implement a new scenario in eShopLite that will create a MCP Server with search operations for the eShopLite product database.
The MCP Server will also implement a MCP App that allow the user to search products using semantic search.

Task

  • Check the blog and the resources of the blog to see how to implement a MCP App
  • Implement this as a new scenario, scenario 15
  • Update the necessary docs to include an explanation of how MCP Apps works and what is the eShopLite MCP App
  • in the new scenario, update the projects to use .NET 10, and the latest packages version
  • check the references for the necessary content
  • add / include any extra features that will support and complete the scenario

Reference


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 2 commits January 29, 2026 12:58
Co-authored-by: elbruno <3533489+elbruno@users.noreply.github.com>
Co-authored-by: elbruno <3533489+elbruno@users.noreply.github.com>
Copilot AI changed the title [WIP] Implement MCP Server with search operations for eShopLite Add Scenario 15: MCP App with Semantic Search Jan 29, 2026
Copilot AI requested a review from elbruno January 29, 2026 13:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants