pluralsight-course -in-practice
Pluralsight Course: MCP in Practice
claude mcp add --transport stdio kamranayub-pluralsight-course-mcp-in-practice dotnet run --project everything-demo/EverythingDemo.csproj \ --env ASPICE_PORT="5000" \ --env AZURE_CLIENT_ID="your-client-id" \ --env AZURE_TENANT_ID="your-tenant-id" \ --env AZURE_CLIENT_SECRET="your-client-secret" \ --env AZURE_SUBSCRIPTION_ID="your-subscription-id"
How to use
This MCP server is a production-grade example built with the MCP C# SDK. It demonstrates a full end-to-end local/remote MCP server that can connect to a backend API, perform a vector search with Azure AI, and be secured with OAuth using Entra ID. The Everything Demo is designed to run locally via a Streamable HTTP transport and can also be deployed remotely to Azure Functions or Azure Container Apps. Tools and capabilities showcased include provisioning Azure resources, local development with Aspire tooling, local and remote hosting, OAuth authentication, delegated OAuth (On-Behalf-Of) access to downstream APIs, and vector search integration with PDF documents. To interact with the server, deploy the Everything Demo project, then use the MCP protocol prompts, prompts/resources, and downstream API calls included in the repository to exercise the server's behavior across local and remote modes. The server is designed to reflect modules 3 and 4 of the course, with module 3 focusing on a local Streamable HTTP MCP server and module 4 extending to remote hosting with Entra ID protection.
How to install
Prerequisites:
- .NET 6.0+ SDK or later installed on your machine
- Git installed
- Optional: Azure CLI for deploying resources (if you want to run remote demos)
-
Clone the repository: git clone <repository-url> cd <repository-root>
-
Build the Everything Demo project (within the repo) to ensure all dependencies are restored: dotnet restore everything-demo/EverythingDemo.csproj dotnet build everything-demo/EverythingDemo.csproj
-
Run the Everything Demo MCP server locally: dotnet run --project everything-demo/EverythingDemo.csproj
-
Verify local transport and endpoints:
- Check the console output for the local server URL and any OAuth configuration hints
- Use the provided client prompts and tools within the repository to exercise the MCP prompts against the local server
-
Optional: Prepare for remote deployment (Azure) by following the repository's guidance for enabling Azure resources (AAD, Container Apps, etc.), then deploy the Everything Demo remotely as described in the course materials.
Note: Ensure environment variables for Azure credentials are configured if you plan to run remote deployments. The mcp_config example includes placeholders for common Azure-related env vars.
Additional notes
Tips and caveats:
- The Everything Demo is a comprehensive reference implementation. It uses Streamable HTTP in local mode and can be extended to remote deployments on Azure Functions or ACA.
- When running locally, ensure the OAuth provider (Entra ID) is configured or mocked if you’re not connecting to a real tenant.
- If you encounter port collisions, adjust ASPICE_PORT or related configuration in your environment.
- The repository demonstrates On-Behalf-Of (OBO) flows to downstream APIs; ensure your downstream API permissions and scopes are correctly configured in Azure AD.
- For vector search demonstrations, ensure Azure AI Search resources are provisioned and endpoints are reachable with the correct keys.
- Review the module configurations (Module 3: local Streamable HTTP, Module 4: remote with Entra ID) to understand how to switch between local and remote modes.
Related MCP Servers
Mcp.Net
A fully featured C# implementation of Anthropic's Model Context Protocol (MCP)
RimSearcher
A Model Context Protocol (MCP) server for fast searching and retrieval of RimWorld source code.
seq
A Model Context Protocol (MCP) server providing AI assistants with tools to search, stream, and analyze events from Seq structured logging servers.
mcpapp-colorpicker
A Model Context Protocol (MCP) App built with .NET that provides an interactive color picker with a rich UI
dnSpy
Headless CLI reflection debugger for .NET assemblies with MCP server support
RoslynMcpServer
Model Context Protocol server for Roslyn-powered C# refactoring operations