Skip to main content
Glama

ado_analyze_pr_impact

Read-only

[~] PRIORITY TRIGGER: Use this tool when the user says 'analyse PR', 'review PR', 'check PR', 'PR #', 'impact du PR', 'analyse la PR', 'what changed in PR', 'D365 impact of PR', 'code review PR', 'violations in PR', 'PR review'. NEVER call search_d365_code when 'PR' or 'Pull Request' + a number is mentioned. Analyse the full D365 F&O code impact of a Pull Request. Reads each changed file's CONTENT straight from the PR's source commit via the ADO REST API, so it reviews the PROPOSED (un-merged) code -- including brand-new files that do not yet exist on the target branch. DO NOT fall back to local git show/git diff: this tool already pulls the un-merged content over the API and analyses it against the indexed standard KB. When includeSource is true (the default), the FULL un-merged source of every analysed file is embedded in the output (one fenced block per file), so you have everything needed for a complete semantic review -- BP findings AND the actual code -- in a single call. NEVER run git to read the files. This matters for metadata-only PRs (tables/enums/menu items/reports): the BP engine is X++-centric and may report few violations on AOT XML, but the embedded source lets you review those changes properly. For every X++ class/table/form/extension modified in the PR: (1) Best Practice validation -- reports Critical and Warning violations. (2) Upgrade impact -- cross-references CoC targets, event handlers, and extensions against the D365 standard code. (3) Extension conflicts -- finds existing CoC/extensions that may conflict. (4) Produces a ready-to-post PR review comment addressed to the PR author. After reviewing, call ado_post_pr_comment to post the review (requires user confirmation). Requires DEVOPS_ORG_URL + DEVOPS_PAT (Code: Read).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
prIdYesPull Request ID (integer), e.g. 42.
projectNoOptional: Azure DevOps project name. Falls back to DEVOPS_PROJECT env var.
maxFilesDeepNoMax X++ files to fully analyse (default 10, max 20). Larger PRs get a summary for remaining files.
repositoryIdYesGit repository name or ID.
includeSourceNoEmbed the un-merged SOURCE of each analysed file in the output so the reviewer can do a full semantic code review without a local git checkout. Default true.
includeWarningsNoInclude Warning-level violations in addition to Critical (default: true). Set false for Critical-only.
sourceCharsPerFileNoMax characters of source to embed per file when includeSource is true (1000-40000, default 8000). Larger files are truncated with a note.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, and the description builds on that with rich behavioral context: it reads changed-file content directly from the PR's source commit, embeds the FULL un-merged source when includeSource is true (one fenced block per file, trucated past sourceCharsPerFile), and explains why metadata-only PRs may show few BP violations. It also discloses auth needs (DEVOPS_ORG_URL + DEVOPS_PAT, Code: Read) and the side-effect-free workflow (produces a ready-to-post comment that a separate tool posts with user confirmation). Nothing contradicts the read-only annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but front-loaded with the PRIORITY TRIGGER block and every sentence carries operational directives an agent needs (triggers, exclusions, mechanism, edge case, workflow, auth). There is some redundancy — the NEVER/DO NOT git directives are re-iterated and the embedded-source benefit is stated twice — and the capitaliation-heavy style adds noise. Overall the length is justfied by the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex analysis tool with no output schema, the description defines what the agent gets back: BP Critical/Warning violations, upgrade impact cross-referencing CoC targets and event handlers, extension-conflict findings, embedded source, and a ready-to-post PR review comment adressed to the author. It also covers edge cases (metadata-only PRs, larger PRs summarized beyond maxFilesDeep), auth prerequisites, and the next tool to call. An agent has everything needed to select and invoke this correctly in one read.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: all 7 parameters (prId, repositoryId, project, maxFilesDeep, includeSource, includeWarnings, sourceCharsPerFile) carry their own schema descriptions, including defaults and behavioral notes. The tool description adds only marginal value beyond that — the 'one fenced block per file' formatting detail and a re-statement of the includeSource rationale. Since the schema already does the heavy liftng, the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ('Analyse the full D365 F&O code impact of a Pull Request') and explicitly carves out the tool's scope: it reviews proposed un-merged code including brand-new files via the ADO REST API. It further distinguishes itself from search_d365_code and local git diffs, so an agent can tell what this tool is and is not. The only minor gap is that the similarly-named sibling ado_review_xpp_pr is never adressed, but the core purpose statement is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Guidance is exceptionally explicit: a literal trigger-phrase list ('analyse PR', 'review PR', 'PR #', 'D365 impact of PR'), a hard exclusion ('NEVER call search_d365_code when PR or Pull Request + a number is mentioned'), and an explicit prohibition on git fallbacks ('DO NOT fall back to local git show/git diff', 'NEVER run git'). It also routes the follow-up to ado_post_pr_comment with the user-confirmation requirement. The one omission is not routing to the sibling ado_review_xpp_pr, but the trigger list effectively decides selection for PR-review intents.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation4/5

Most tools have distinct purposes and clear triggers, reducing ambiguity. For example, PR-related tools are separated into analysis, listing, commenting, and dependency mapping. However, some overlap exists between find_references, find_extensions, and find_callers, which could confuse an agent without careful descriptions.

Naming Consistency4/5

Tool names follow a consistent snake_case pattern with verb_noun structure within subgroups (e.g., ado_*, find_*, search_*, generate_*). There is no mixing of camelCase or other styles, though the variety of prefixes slightly reduces predictability.

Tool Count3/5

With 38 tools, the server feels slightly over-scoped for its domain. While each tool has a specific function, the number is high compared to typical well-scoped servers (10-15 tools). Some tools like find_references and find_callers could be consolidated.

Completeness4/5

The tool set covers a broad range of D365 F&O development and DevOps tasks, including code search, analysis, security, performance, upgrades, and work item management. Minor gaps exist, such as the absence of direct object modification or batch job management, but the core workflows are well covered.