Repository navigation
Allow Azure Resource Graph Kusto endpoints in Kusto cluster URI validation - #4029
Merged
Steven Vukelich (vukelich) merged 2 commits intoOct 26, 2026
Conversation
…ation Add .arg.core.windows.net to KustoClient's domain suffix allow-list so the Kusto tools can query Azure Resource Graph Kusto endpoints. The Kusto SDKs' well-known endpoints already trust this suffix, and KustoClient already keeps the endpoint path and requests the Kusto scope these endpoints use. Fixes microsoft#4028 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: df5f4d96-6fea-431c-bc49-01af1461746b
Karan Singh (karansinghneu)
requested review from
a team,
Daniel Dror (danield137) and
paul1904 (prvavill)
as code owners
October 24, 2026 00:12
Karan Singh (karansinghneu)
requested review from
KarishmaGhiya,
Larry Osterman (LarryOsterman),
Connie Yau (conniey),
Vinay Gera (g2vinay),
Jair Myree (jairmyree),
msalaman and
Tom Meschter (tmeschter)
and
a balanced review from Copilot
October 24, 2026 00:12
|
Azure Pipelines: Successfully started running 1 pipeline(s). There may be pipelines that require an authorized user to comment /azp run to run. |
Contributor
|
Thank you for your contribution Karan Singh (@karansinghneu)! We will review the pull request and get back to you soon. |
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The narrowly scoped allow-list addition has focused regression coverage and no identified blocking issues.
No open issues 🎉
What changed in this PR
This PR enables the existing Kusto tools to accept Azure Resource Graph endpoints under *.arg.core.windows.net, addressing #4028 without changing request construction or authentication.
Changes:
- Adds the ARG domain suffix to Kusto URI validation while preserving existing security checks.
- Adds regression tests for valid endpoints, rejected look-alike hosts, connector-path preservation, and token scope.
- Records the fix in the Azure MCP Server changelog.
| File | Description |
|---|---|
tools/Azure.Mcp.Tools.Kusto/tests/Azure.Mcp.Tools.Kusto.Tests/KustoClientTests.cs |
Tests ARG validation, request paths, and authentication scope. |
tools/Azure.Mcp.Tools.Kusto/src/Services/KustoClient.cs |
Allows the public-cloud ARG endpoint suffix. |
servers/Azure.Mcp.Server/changelog-entries/karanrsingh-kusto-arg-endpoints.yaml |
Documents the endpoint acceptance fix. |
Review effort: Balanced
Steven Vukelich (vukelich)
requested changes
Oct 26, 2026
Steven Vukelich (vukelich)
left a comment
Member
There was a problem hiding this comment.
one small comment
Rename the test and use neutral database and query arguments so it doesn't suggest that Azure Resource Graph endpoints get special handling. Any cluster URI that passes the allow-list works; this one includes a path to show it's preserved. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: df5f4d96-6fea-431c-bc49-01af1461746b
Steven Vukelich (vukelich)
approved these changes
Oct 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Adds
.arg.core.windows.netto the domain suffixes thatKustoClientaccepts, so the Kusto tools can query AzureResource Graph (ARG) Kusto endpoints such as
https://<name>.arg.core.windows.net/providers/Microsoft.ResourceGraph/connector/kusto/<connector>. Today the toolsreject these URIs before sending a request.
KustoClientkeeps the URI's path when it appends/v1/rest/queryor/v1/rest/mgmt, andGetKustoScope()returnshttps://kusto.kusto.windows.net/.default, the audience in ARG's authmetadata.
The Kusto SDKs' well-known endpoints already include this suffix.
Tests added to
KustoClientTests:*.arg.core.windows.netURIs, with and without the connector path.https://arg.core.windows.net) and a look-alike host (*.arg.core.windows.net.example.com).<uri>/v1/rest/queryand requests the Kusto scope.Without the new suffix the three acceptance tests fail; with it, all 69
KustoClientTestspass.dotnet format --verify-no-changesand cspell pass on the changed files.GitHub issue number?
Fixes #4028
Pre-merge Checklist
servers/Azure.Mcp.Server/README.mdand/orservers/Fabric.Mcp.Server/README.mddocumentationREADME.mdchanges running the script./eng/scripts/Process-PackageReadMe.ps1. See Package READMEToolDescriptionEvaluatorand obtained a score of0.4or more and a top 3 ranking for all related test promptsconsolidated-tools.jsonbreaking-changelabelservers/Azure.Mcp.Server/docs/azmcp-commands.md./eng/scripts/Update-AzCommandsMetadata.ps1to update tool metadata inazmcp-commands.md(required for CI)servers/Azure.Mcp.Server/docs/e2eTestPrompts.mdInvoking 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.