eShopLite
eShopLite is a set of reference .NET applications implementing an eCommerce site with features like Semantic Search, MCP, Reasoning models and more.
claude mcp add --transport stdio azure-samples-eshoplite dotnet run --project path/to/eshoplite/scenarios/06-mcp/McpServer/McpServer.csproj \ --env MCP_PORT="Port for MCP server to listen on (e.g., 5000)" \ --env MCP_LOG_LEVEL="Logging level (Information|Debug|Warning|Error)"
How to use
eShopLite includes a dedicated MCP server as part of its scenarios, demonstrating the Model Context Protocol machinery in a realistic eCommerce-like setting. The MCP server enables structured, context-rich interactions between an MCP client and server, including model reasoning, function calling, and event streaming via Server-Sent Events. Use this MCP implementation to explore multi-turn AI reasoning, passing fragmented context, and coordinating between vector stores and LLMs within the eShopLite ecosystem. Start the MCP server first, then connect an MCP client to exercise semantic and tool-using conversations, inspect the context sharing, and observe how model calls are orchestrated through the MCP endpoints.
How to install
Prerequisites:
- .NET 9 SDK installed
- Git
- A compatible environment for running the eShopLite repository (Windows, macOS, or Linux)
Installation steps:
- Clone the repository:
git clone https://github.com/azure-samples/eshoplite.git
- Navigate to the MCP scenario folder:
cd eshoplite/scenarios/06-mcp
- Restore and run the MCP server project:
dotnet restore
dotnet run --project McpServer/McpServer.csproj
- Ensure prerequisites are running (e.g., any dependent vector stores or AI services) and note the port printed by the server for client connections.
Additional notes
- The MCP server integrates with the eShopLite MCP client to demonstrate model-context-based reasoning.
- If the server fails to bind to the default port, set MCP_PORT via environment variable or adjust the port in the project settings.
- Common issues include mismatched API versions between client and server, and missing credentials for any external vector databases or AI services.
- Environment variables you may encounter or adjust: MCP_PORT, MCP_LOG_LEVEL, VECTOR_DB_CONNECTION_STRING, OPENAI_API_KEY.
- To test, use an MCP client wired to the same port and experiment with semantic prompts and function-calling flows as shown in the MCP scenario.
Related MCP Servers
vestige
Cognitive memory for AI agents — FSRS-6 spaced repetition, 29 brain modules, 3D dashboard, single 22MB Rust binary. MCP server for Claude, Cursor, VS Code, Xcode, JetBrains.
mcp-agent-langchainjs
Serverless AI agent using LangChain.js and Model Context Protocol (MCP) integration to order burgers from a burger restaurant
context-harness
Local-first context ingestion and retrieval for AI tools. SQLite + embeddings + MCP server for Cursor & Claude.
rag
⚠️ DEPRECATED - Use https://github.com/SylphxAI/coderag instead
srag
Semantic code search and RAG system written in Rust with tree-sitter chunking, MCP server for IDE integration, prompt injection detection, and secret redaction
mcp-ragex
MCP server for intelligent code search: semantic (RAG), symbolic (tree-sitter), and regex (ripgrep) search modes. Built for Claude Code and AI coding assistants.