mcpField
E
eShopLite

eShopLite

Local
aka.msDeveloper Tools169Updated 1d ago

About eShopLite

eShopLite is a set of e-commerce reference applications built with .NET and Aspire, demonstrating semantic search, vector databases, AI models, and agent scenarios. It is for developers exploring these technology combinations and includes MCP server and client implementations in dedicated scenarios.

Key features

  1. 01Demonstrate keyword and semantic search
  2. 02Integrate multiple AI models
  3. 03Show several vector database options
  4. 04Include a real-time audio scenario
  5. 05Implement MCP servers and clients
  6. 06Demonstrate multi-agent collaboration

Use cases

  1. 01Build a reference e-commerce semantic search app
  2. 02Explore different vector database implementations
  3. 03Test MCP server and client interactions
  4. 04Examine multi-agent orchestration

MCP support

The project includes MCP server and client implementations, with a dedicated scenario demonstrating MCP interactions. Another scenario exposes safe store operations as MCP tools for agents.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

eShopLite

GitHub license GitHub contributors GitHub issues GitHub pull-requests PRs Welcome

GitHub watchers GitHub forks GitHub stars

Azure AI Community Discord

Azure AI Foundry GitHub Discussions

eShopLite is a set of reference .NET applications implementing an eCommerce site with features like Semantic Search, Model Context Protocol (MCP), Reasoning models, vector databases, and more.

  • ☁️ Scenarios use .NET and Aspire, with a stable .NET 10 baseline and an isolated .NET 11 RC2 scenario for experimental Blazor AI components. See the dependency baseline below for compatibility exceptions.
  • 🌟 Don't forget to star (🌟) this repo to find it easier later.
  • ➡️ Get your own copy by Forking this repo and find it next in your own repositories.
  • ❓ Have a question? Besides creating issues or pull requests, the best option for questions is to join the Azure AI Discord channel, where a team of AI experts can help you.

Features

This project framework provides the following features:

  • Modern .NET application architecture with Aspire
  • Various search capabilities (keyword search, semantic search)
  • Integration with multiple AI models (GPT-4o, DeepSeek-R1, etc.)
  • Vector database implementations (In Memory, Azure AI Search, Chroma DB and others)
  • Real-time audio capabilities
  • Model Context Protocol (MCP) server and client implementation

eShopLite Scenarios

The project includes several scenarios demonstrating different capabilities:

ScenarioDescriptionKey Technologies
01 - Semantic SearchA reference .NET application implementing an eCommerce site with Search features using Keyword Search and Semantic Search.Aspire, OpenAI GPT-4.1-mini, In-memory Vector DB
02 - Azure AI SearchImplements an eCommerce site with Keyword Search using SQL queries and Semantic Search with Vector Database and Azure AI Search.Azure AI Search, OpenAI Embeddings, SQL Server
03 - Realtime AudioExtends the eCommerce site with advanced search features and real-time audio capabilities powered by the GPT-4o Realtime Audio API.GPT-4o Realtime Audio API, Audio in Blazor, Aspire
04 - Chroma DBImplements semantic search functionality using Chroma DB, an open-source database designed for AI applications.Chroma DB, OpenAI Embeddings, .NET SDK
05 - DeepSeek-R1Demonstrates integration of the DeepSeek-R1 model for enhanced semantic understanding and search capabilities.DeepSeek-R1, Aspire, Vector Embeddings
06 - Model Context Protocol (MCP)Implements the Model Context Protocol (MCP) for advanced AI interactions with MCP Servers and MCP Clients.Model Context Protocol, Function Calling, SSE Events
07 - Agents ConcurrentDemonstrates concurrent agent orchestration and advanced AI agent collaboration patterns.Aspire, Multi-Agent Systems, Orchestration
08 - SQL Server 2025Demonstrates the use of vector search and vector indexes in the SQL Database EngineSQL Server 2025, Vector Search, Vector Indexes
09 - Azure App ServiceShows how to deploy an Aspire multi-service eCommerce app to Azure App Service, using SQLite for data and integrating AI search.Azure App Service, Aspire, OpenAI, SQLite
10 - A2A NetworkDemonstrates advanced agent-to-agent (A2A) communication and orchestration patterns in Aspire, including multi-agent collaboration and reasoning.Aspire, Multi-Agent Systems, A2A Protocol
11 - GitHub ModelsLocal-first AI development using GitHub Models during local runs, with automatic switch to Azure OpenAI when deployed.Aspire, GitHub Models, Azure OpenAI
12 - Azure FunctionsOptional Azure Functions façade for semantic search and an alternate deployment boundary for vector search.Azure Functions, Aspire, Azure OpenAI
13 - Observability Assistant with Foundry LocalSummarizes logs, traces, and incidents with a local-first observability assistant.Aspire, OpenTelemetry, Foundry Local, Microsoft.Extensions.AI
14 - Product Discovery CopilotTurns search into natural-language product discovery with grounded explanations.Semantic search, vector search, Microsoft.Extensions.AI
15 - Store Intelligence ReportGenerates daily business and operational store intelligence reports.App data, telemetry, AI summarization, reports
16 - MCP Store Operations ToolsExposes safe store capabilities as MCP tools for agent use.MCP, Aspire, app APIs, tool calling
17 - A2A Store Operations NetworkShows specialized agents collaborating around the store app through A2A.A2A, Microsoft Agent Framework, hosted agents
18 - Blazor Agentic UIExperimental streaming shopping assistant with catalog cards and human-approved cart actions..NET 11 RC2, Blazor AI components, AG-UI, Microsoft Agent Framework, Aspire

New to Scenario 18? Start with its three-step quick start, then explore the screenshots and blog-to-code walkthrough.

Getting Started

Prerequisites
Dependency baseline

The October 14, 2026 refresh updates the 17 existing scenarios other than 14-MAFDevUI to Aspire 13.6.1 and the latest compatible NuGet releases. The root SDK stays on stable .NET 10; Scenario 18 overrides it with .NET 11 RC2 for the experimental Blazor components. Install both SDKs to work on all scenarios.

The refresh includes Microsoft.Extensions.AI 10.11.0, OpenTelemetry 1.19, Microsoft Agent Framework 1.24.0, MCP 2.2.0, and A2A 1.0.0-preview3 where used. Existing prerelease dependencies remain prerelease where no stable replacement provides the required functionality. MCP SSE transports and A2A text parts have been migrated to the current APIs rather than merely changing package versions.

Scenarios 08 and 12 deliberately retain the latest EF Core 9 servicing release, 9.0.21: their EFCore.SqlServer.VectorSearch 9.0.0 provider requires that EF major. The other EF-backed scenarios use 10.0.13. Local dotnet-ef tool manifests follow the matching EF major. Upgrading the SQL vector provider to native EF 10 requires a separate vector entity/query migration, not mixing EF 9 relational assemblies with EF 10 tests. Direct PKCS references select patched 10.0.13 instead of vulnerable transitive versions.

The MAFDevUI scenario subsequently completed its compatible dependency and API migration after the Azure MCP prerequisite was supplied. Its build and 27 tests pass, including offline DevUI/Responses integration coverage. Live validation with both Azure CLI identity and the updated saved API key passed embeddings, stock tools, streaming workflows, and all three checkout tiers. Identity-mode orchestrator checks also confirmed no fallback. Optional Foundry-hosted agents remain unverified. Builds and existing tests passed for the other 17 existing scenario solutions (80 existing tests), and Scenario 18 has 29 passing tests. Scenario 18 was also validated locally with SQL Server 2025, real Foundry embeddings, and gpt-6-luna via Responses: streamed catalog cards, cart rejection/approval, missing product specifications, and restart against existing data. These checks do not establish cloud deployability or validate every other scenario against real models.

See CHANGELOG.md for the new scenario, dependency migrations, setup scripts, and known upgrade boundaries.

Start a scenario locally

Each scenario has its own aspire.config.json, so Aspire selects that scenario's AppHost instead of inheriting the repository-root selection:

cd .\scenarios\18-BlazorAgenticUI
aspire start

Use aspire run for a foreground session, and aspire stop to stop the selected app. Install the SDK requested by that scenario's nearest global.json: .NET 10.0.402 for stable scenarios, or .NET 11 RC2 for Scenario 18. A .NET 11 installation does not satisfy the stable .NET 10 pin. AppHost selection does not install SDKs or configure credentials.

To verify every scenario's local selection without starting services:

pwsh .\scripts\Tests\Test-ScenarioAppHosts.ps1
Installation
  1. Clone the repository:

    git clone https://github.com/Azure-Samples/eShopLite.git
    
  2. Navigate to the scenario directory of interest:

    cd eShopLite/scenarios/[scenario-folder]
    
  3. Login to Azure:

    azd auth login
    
  4. Provision and deploy all the resources:

    azd up
    

    It will prompt you to provide an azd environment name (like "eShopLite"), select a subscription from your Azure account, and select a location where the necessary models, like gpt-4.1-mini and ADA-002 are available, a sample region can be "eastus2".

Shared Microsoft Foundry models and local secrets

Use PowerShell 7 and sign in with az login. The new setup script creates or reuses an AIServices account, deploys the common chat and embedding models, then configures local AppHost user-secrets through the Aspire CLI. Supply your own subscription, resource group, globally unique account name, and region:

pwsh .\scripts\Initialize-FoundryModels.ps1 `
  -SubscriptionId '<subscription-id>' `
  -ResourceGroupName 'rg-eshoplite' `
  -AccountName '<globally-unique-account-name>' `
  -Location 'eastus2' `
  -DryRun

Remove -DryRun to provision resources and write secrets. This can incur Azure charges. -DryRun and -WhatIf make no Azure calls and do not establish model availability.

The default chat model and deployment name are gpt-6-luna; embeddings use text-embedding-3-small. The script resolves model versions from the regional catalog and checks SKU support and quota before provisioning. It stops if the requested model is unavailable, with no automatic substitution. Override model/version, deployment name, SKU, or capacity with the corresponding -Chat* and -Embeddings* parameters. It reuses matching deployments and refuses to overwrite conflicting deployments or enable key authentication on an account that disables it.

This provisions common model dependencies for local development, not every scenario's infrastructure. SQL/containers remain managed by each AppHost; Azure AI Search, realtime audio, DeepSeek, GitHub Models, and other specialized dependencies still need their scenario-specific setup. It does not change model declarations used by azd up.

Configure secrets for existing deployments

Secret setup requires the SDK selected by each AppHost's nearest global.json. The script checks SDK availability before requesting a key. If using a nonstandard SDK installation, pass -DotNetRoot "<SDK installation directory>"; the override applies only to child commands. An Aspire exit code 7 can indicate a missing SDK, not an Azure authentication problem. Scenario 18 specifically requires .NET 11 RC2.

The existing scripts\Set-AzureOpenAISecrets.ps1 configures secrets only, without creating Azure resources. It discovers every eShopAppHost.csproj, including layouts without src, and automatically includes future scenarios. Scenario 18 (18-BlazorAgenticUI) has its own AppHost and independent user-secrets store, and is included automatically. Directories without an AppHost are reported as skipped. Run from the repo root:

pwsh .\scripts\Set-AzureOpenAISecrets.ps1

The script interactively prompts for four values:

PromptParameter set
Azure OpenAI endpointParameters:AzureOpenAIEndpoint
Azure OpenAI API key (masked)Parameters:AzureOpenAIApiKey
Chat deployment name (default gpt-6-luna)Parameters:AzureOpenAIDeploymentName
Embeddings deployment name (default text-embedding-3-small)Parameters:AzureOpenAIEmbeddingsDeploymentName

Use -DryRun to preview the commands without executing them:

pwsh .\scripts\Set-AzureOpenAISecrets.ps1 -DryRun

For a preview without prompts or an API key:

pwsh .\scripts\Set-AzureOpenAISecrets.ps1 `
  -Endpoint 'https://<your-resource>.openai.azure.com/' -NonInteractive -DryRun

Non-interactive writes additionally require -ApiKey as a SecureString, supplied from a masked prompt or a secure credential source, not a plaintext key in command history. Local .NET user-secrets are not an encrypted production secret store.

Internally, the script calls the Aspire CLI (aspire secret set) for each AppHost it discovers. To set a single value manually, use the same command directly:

aspire secret set Parameters:AzureOpenAIEndpoint "https://<your-resource>.openai.azure.com/" \
  --apphost scenarios/01-SemanticSearch/src/eShopAppHost/eShopAppHost.csproj

Note: Scenario-specific extra parameters (e.g., Parameters:AzureOpenAIRealtimeDeploymentName in 03-RealtimeAudio, Parameters:DeepSeekEndpoint in 05-deepseek, Parameters:GitHubModelsToken in 11-GitHubModels) must still be set manually. See each scenario's README for details.

Quickstart
  1. Navigate to a specific scenario folder (e.g., scenarios/01-SemanticSearch/)
  2. Follow the README instructions in that scenario folder
  3. Run the solution using dotnet run in the appropriate host project folder

Demo

To run the demo, follow these steps:

  1. Navigate to the specific scenario folder
  2. Follow the "Run the solution" instructions in that scenario's README
  3. Access the application via the URLs provided in the console output

Sample Application

This is the eShopLite Aplication running, performing a Keyword Search:

eShopLite Aplication running doing search using keyworkd search

This is the eShopLite Aplication running, performing a Semantic Search:

eShopLite Aplication running doing search using keyworkd search

This is the eShopLite Application running the Realtime Audio feature:

eShopLite Application running the Realtime Audio feature

This is the eShopLite Application using the DeepSeek-R1 Reasoning Model:

eShopLite Application using the DeepSeek-R1 Reasoning Model

The Aspire Dashboard to check the running services:

Aspire Dashboard to check the running services

The Azure Resource Group with all the deployed services:

Azure Resource Group with all the deployed services

Resources

Getting Help

If you get stuck or have questions about building AI apps, join:

Azure AI Foundry Discord

If you have product feedback or errors while building, visit:

Azure AI Foundry Developer Forum

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.