Repository navigation
Add Device Provisioning Service get tool - #3898
Connie Yau (conniey) merged 5 commits into
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: ae3e90da-ad11-496c-ac8d-5e77c48af218
|
Thank you for your contribution khalil Sayed (@khalilCodeX)! We will review the pull request and get back to you soon. |
|
Azure Pipelines: Successfully started running 1 pipeline(s). There may be pipelines that require an authorized user to comment /azp run to run. |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: ae3e90da-ad11-496c-ac8d-5e77c48af218
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: ae3e90da-ad11-496c-ac8d-5e77c48af218
|
The four failing build legs have the same root cause: The live recording has been generated, sanitized, audited, and verified locally in playback mode. Because
A maintainer with write access to git fetch https://github.com/khalilCodeX/azure-sdk-assets.git refs/tags/Azure.Mcp.Tools.DeviceProvisioning.Tests_c0c784a6b9:refs/tags/Azure.Mcp.Tools.DeviceProvisioning.Tests_c0c784a6b9
git push https://github.com/Azure/azure-sdk-assets.git refs/tags/Azure.Mcp.Tools.DeviceProvisioning.Tests_c0c784a6b9The dangling tag was removed from |
There was a problem hiding this comment.
🟡 Changes recommended
The recording remains unpublished and the required ToolDescriptionEvaluator result is missing.
2 open findings
What changed in this PR
Adds a new read-only Azure Device Provisioning Service get tool, including ARM integration, safe response serialization, registration, documentation, and recorded tests.
Changes:
- Adds the DPS get command, service, models, validation, and AOT serialization.
- Registers raw and consolidated tools and updates documentation.
- Adds unit, live, and deployment test infrastructure.
| File | Description |
|---|---|
tools/Azure.Mcp.Tools.DeviceProvisioning/tests/test-resources.bicep |
Deploys DPS test resources and RBAC. |
tools/Azure.Mcp.Tools.DeviceProvisioning/tests/test-resources-post.ps1 |
Generates live-test settings. |
tools/Azure.Mcp.Tools.DeviceProvisioning/tests/Azure.Mcp.Tools.DeviceProvisioning.Tests/Service/DeviceProvisioningServiceGetCommandTests.cs |
Tests command behavior and validation. |
tools/Azure.Mcp.Tools.DeviceProvisioning/tests/Azure.Mcp.Tools.DeviceProvisioning.Tests/Models/DeviceProvisioningPropertiesTests.cs |
Verifies secret fields are excluded. |
tools/Azure.Mcp.Tools.DeviceProvisioning/tests/Azure.Mcp.Tools.DeviceProvisioning.Tests/DeviceProvisioningCommandTests.cs |
Adds recorded live coverage. |
tools/Azure.Mcp.Tools.DeviceProvisioning/tests/Azure.Mcp.Tools.DeviceProvisioning.Tests/Azure.Mcp.Tools.DeviceProvisioning.Tests.csproj |
Configures the test project. |
tools/Azure.Mcp.Tools.DeviceProvisioning/tests/Azure.Mcp.Tools.DeviceProvisioning.Tests/assets.json |
References recorded-test assets. |
tools/Azure.Mcp.Tools.DeviceProvisioning/src/Services/IDeviceProvisioningService.cs |
Defines the service contract. |
tools/Azure.Mcp.Tools.DeviceProvisioning/src/Services/DeviceProvisioningService.cs |
Retrieves and maps DPS resources. |
tools/Azure.Mcp.Tools.DeviceProvisioning/src/Options/Service/DeviceProvisioningServiceGetOptions.cs |
Defines command options. |
tools/Azure.Mcp.Tools.DeviceProvisioning/src/Models/LinkedIoTHubProperties.cs |
Models safe linked-hub properties. |
tools/Azure.Mcp.Tools.DeviceProvisioning/src/Models/LinkedIoTHubDescription.cs |
Defines linked-hub output. |
tools/Azure.Mcp.Tools.DeviceProvisioning/src/Models/DeviceProvisioningServiceDescription.cs |
Defines the command response model. |
tools/Azure.Mcp.Tools.DeviceProvisioning/src/Models/DeviceProvisioningProperties.cs |
Allow-lists DPS properties. |
tools/Azure.Mcp.Tools.DeviceProvisioning/src/DeviceProvisioningSetup.cs |
Registers the area, service, and command. |
tools/Azure.Mcp.Tools.DeviceProvisioning/src/Commands/Service/DeviceProvisioningServiceGetCommand.cs |
Implements the get command. |
tools/Azure.Mcp.Tools.DeviceProvisioning/src/Commands/DeviceProvisioningJsonContext.cs |
Adds AOT serialization metadata. |
tools/Azure.Mcp.Tools.DeviceProvisioning/src/Azure.Mcp.Tools.DeviceProvisioning.csproj |
Defines the toolset project. |
tools/Azure.Mcp.Tools.DeviceProvisioning/cspell.yaml |
Adds toolset spelling terms. |
servers/Azure.Mcp.Server/src/Resources/consolidated-tools.json |
Registers the consolidated tool. |
servers/Azure.Mcp.Server/src/Program.cs |
Registers the toolset with the server. |
servers/Azure.Mcp.Server/README.md |
Documents DPS support and examples. |
servers/Azure.Mcp.Server/docs/e2eTestPrompts.md |
Adds evaluation prompts. |
servers/Azure.Mcp.Server/docs/azmcp-commands.md |
Documents the CLI command. |
servers/Azure.Mcp.Server/changelog-entries/khalil-device-provisioning-service-get.yaml |
Adds the feature changelog entry. |
servers/Azure.Mcp.Server/Azure.Mcp.Server.slnx |
Adds toolset projects to the server solution. |
Microsoft.Mcp.slnx |
Adds toolset projects to the root solution. |
.vscode/cspell.json |
Adds the tool namespace spelling. |
.github/CODEOWNERS |
Assigns toolset ownership. |
🧠 Review effort: Balanced
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: ae3e90da-ad11-496c-ac8d-5e77c48af218
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: ae3e90da-ad11-496c-ac8d-5e77c48af218
|
/azp run mcp - pullrequest - live |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |

Summary
Adds first-class Azure Device Provisioning Service support with a read-only command for retrieving a DPS instance:
deviceprovisioning_service_getget_azure_device_provisioning_serviceazmcp deviceprovisioning service get --service <name> --resource-group <group> --subscription <subscription>The implementation follows existing Azure MCP tool patterns, uses the shared authenticated ARM client, supports native AOT serialization, and returns an allow-listed response model. DPS authorization policies, keys, and linked IoT Hub connection strings are deliberately excluded.
Validation
--learnAzure/azure-sdk-assetsasAzure.Mcp.Tools.DeviceProvisioning.Tests_c0c784a6b9>= 0.4) and top-three ranking for every DPS promptToolDescriptionEvaluator results
0.7421410.4377380.643658Documentation
Reference
Microsoft.Devices/provisioningServicesInvoking Livetests
Copilot submitted PRs are not trustworthy by default. Users with
writeaccess to the repo need to validate the contents of this PR before leaving a comment with the text/azp run mcp - pullrequest - live. This will trigger the necessary livetest workflows to complete required validation.