All notable changes to this project are documented here.
README.md: Replaced MCP Inspector debug/test section with MCP Explorer X instructions — includes screenshot, macOS/Linux/Windows Docker run commands, and link to the quickstart docs
- All tools, prompts, and resources: rewrote
[Description]attributes to be LLM-optimised — verb-first, succinct, front-loaded with action and output shape; added[Description]to all bare parameters acrossAzureTools,GitLabTools,WhoIsTool,SensitiveDataExampleTool,TextPrompts,UserResources,KitchenApplianceResources, andSimpleResourceType SensitiveDataExampleTool.AAAEcho: fixed description (previously read "Sets a secret for a username" — wrong tool)
ElicitationTools: NewBrowseAzureResourcesAsynctool — guided multi-step elicitation that presents available Azure subscriptions (single-select), then resource groups for the chosen subscription (multi-select) alongside a resource type filter (single-select dropdown populated from deployed types in the subscription, with an "All resource types" default), and returns all matching resources per resource group as JSON keyed byResourceType/NameElicitationTools: InjectArmClientdependency to support Azure operations from elicitation flows
ElicitationTools→BrowseAzureResourcesAsync: Resource group and resource type selections combined into a single elicitation dialog; OData filter passed server-side toGetGenericResourcesAsyncwhen a specific type is chosen
ElicitationTools: Replace unsafe dictionary indexerContent["key"]withTryGetValueon all fourContentaccesses — the indexer threwKeyNotFoundExceptionwhen a field was absent from the elicitation response (lines 50–60, 82–84)
Resources/KitchenApplianceResources.cs: New MCP resource exposing a kitchen appliance catalogue as JSON with 10 rows (kitchen://appliances/all,kitchen://appliances/{id}), including fields for id, name, category, powerWatts, priceGbp, brand, and hasDigitalControls.github/copilot-instructions.md: Repository instructions for future Copilot sessions
- Upgrade
ModelContextProtocolandModelContextProtocol.AspNetCorefrom0.4.0-preview.3to1.2.0 ElicitationTools: Replace removedElicitRequestParams.EnumSchemawithUntitledSingleSelectEnumSchema; use newIsAcceptedconvenience property onElicitResultSimpleResourceType: UpdateBlobResourceContentscreation to useFromBytes()factory (SDK v1.2.0 changedBlobfromstringtoReadOnlyMemory<byte>)SimpleResourceType: FixrequestContext.Params?.UritorequestContext.Params.Uri(Params is now non-nullable in v1.2.0)- All tools, resources, and prompts: Add
IconSourcewith Fluent UI Emoji SVG URLs to[McpServerTool],[McpServerResource], and[McpServerPrompt]attributes README.md: Update MCP Inspector connection instructions from SSE (/sse) to Streamable HTTP (/) following v1.2.0 breaking changeAzureTools: Fix pre-existing nullable dereference warning inGetResourcePropertiesAsync
- Initial MCP server implementation with Azure, GitLab, elicitation, sensitive data, and WhoIs tools
- User and template resource examples
- Text prompt examples (ReverseWord, OneSentenceSummary, SummaryBenefitsAndReferences)
- Multi-stage Dockerfile and GitHub Actions CI pipeline