Pluralsight.Globomantics.Mcp.DemoServer 0.1.1-beta

This is a prerelease version of Pluralsight.Globomantics.Mcp.DemoServer.
{
  "inputs": [
    {
      "type": "promptString",
      "id": "AZURE_TENANT_ID",
      "description": "The Azure tenant ID to use for authentication"
    },
    {
      "type": "promptString",
      "id": "HRM_API_AAD_CLIENT_ID",
      "description": "The AAD client ID for the HRM API"
    },
    {
      "type": "promptString",
      "id": "HRM_API_ENDPOINT",
      "description": "The base URL for the HRM API"
    },
    {
      "type": "promptString",
      "id": "MCP_SERVER_AAD_CLIENT_ID",
      "description": "The AAD client ID for the MCP server"
    },
    {
      "type": "promptString",
      "id": "MCP_SERVER_AAD_CLIENT_SECRET",
      "description": "The AAD client secret for the MCP server",
      "password": true
    }
  ],
  "servers": {
    "Pluralsight.Globomantics.Mcp.DemoServer": {
      "type": "stdio",
      "command": "dnx",
      "args": ["Pluralsight.Globomantics.Mcp.DemoServer@0.1.1-beta", "--yes"],
      "env": {
        "AZURE_TENANT_ID": "${input:AZURE_TENANT_ID}",
        "HRM_API_AAD_CLIENT_ID": "${input:HRM_API_AAD_CLIENT_ID}",
        "HRM_API_ENDPOINT": "${input:HRM_API_ENDPOINT}",
        "MCP_SERVER_AAD_CLIENT_ID": "${input:MCP_SERVER_AAD_CLIENT_ID}",
        "MCP_SERVER_AAD_CLIENT_SECRET": "${input:MCP_SERVER_AAD_CLIENT_SECRET}"
      }
    }
  }
}
                    
This package contains an MCP Server. The server can be used in VS Code by copying the generated JSON to your VS Code workspace's .vscode/mcp.json settings file.
dotnet tool install --global Pluralsight.Globomantics.Mcp.DemoServer --version 0.1.1-beta
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local Pluralsight.Globomantics.Mcp.DemoServer --version 0.1.1-beta
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Pluralsight.Globomantics.Mcp.DemoServer&version=0.1.1-beta&prerelease
                    
nuke :add-package Pluralsight.Globomantics.Mcp.DemoServer --version 0.1.1-beta
                    

Globomantics MCP Server

This is a sample MCP server for the Pluralsight course, MCP in Practice. It is not meant for public consumption and only for demo purposes.

Secrets

You will need to configure secrets to run this MCP server and have the required Azure resources set-up:

dotnet user-secrets init

# Azure Tenant ID (optional -- for Visual Studio credential auth)
dotnet user-secrets set "AZURE_TENANT_ID" "<tenant_id>"
# Azure Functions Endpoint for the HRM API
dotnet user-secrets set "HRM_API_ENDPOINT" "<hrm_endpoint_url>"
# Azure Entra application ID for the HRM API (EasyAuth)
dotnet user-secrets set "HRM_API_AAD_CLIENT_ID" "<client_id>"
# Azure Entra application ID for the MCP Server (S2S auth)
dotnet user-secrets set "MCP_SERVER_AAD_CLIENT_ID" "<client_id>"
# Azure Entra client secret credential value for MCP Server (S2S auth)
dotnet user-secrets set "MCP_SERVER_AAD_CLIENT_SECRET" "<client_secret>"

The .NET user secrets store is not secure and stores values in plain-text in your user profile folder. For production apps, you would want to use something like Azure KeyVault

Commands

npm start

Starts the .NET MCP server using dotnet run command.

npm run dev

Starts the MCP inspector using the default mcp.json config file.

Examples

Ping Server

Copy and paste into dotnet run stdin:

{"jsonrpc": "2.0", "id": 1, "method": "ping"}

Client Compatibility

Claude Desktop

  • Does not support Resource Templates (have to expose a tool)

Visual Studio Code

  • Will not display resources until a tool is available

Publishing

Follow guide on single-file apps and packaging MCP servers with NuGet. Reference the AI templates mcpserver for an example template.

# Publish for local development
dotnet publish -r <runtime_identifier>

# e.g. Windows 64-bit
dotnet publish -r win-x64

# Pack for NuGet distribution
dotnet pack -c Release

# Release on NuGet (public)
cd bin/Release
dotnet nuget push "*.nupkg" --api-key <your-api-key> --source https://api.nuget.org/v3/index.json

Notes

  • Do not use Console.WriteLine when using stdio transport. stdio messages must all be valid JSON-RPC messages. Either use the built-in .NET ILogger service redirected to stderr or Console.Error.WriteLine to log output.
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
0.1.1-beta 374 11/10/2025
0.1.0-beta 255 11/1/2025