Skip to main content
Glama

ado_analyze_workitem

Read-onlyIdempotent

AZURE DEVOPS ONLY -- Fetch a Work Item and assemble ALL technical context needed for D365 F&O expert analysis. [~] PRIORITY TRIGGER: 'analyse le workitem', 'analyse la tâche', 'analyse le FDD/RDD/CR/IDD', 'read the work item', 'check the bug', 'look at ticket', 'review task', '#1234', 'WI#', 'WI ', 'item #'. NEVER for: labels (@SYS/@TRX/@FIN), X++ code lookup, AOT objects -- use search_labels / search_d365_code instead.

WHAT THIS TOOL RETURNS

Raw structured context only -- NOT a finished analysis. The tool returns:

  1. Work item metadata (title, description, repro steps, acceptance criteria, comments)

  2. D365 standard KB object details: fields, methods, code snippets for every matched object

  3. Custom code on disk (customer extension model): existing CoC methods, extension bodies

  4. Chain of Command / relation graph for all impacted objects

YOUR JOB AS COPILOT AFTER CALLING THIS TOOL

You MUST synthesize the raw context into a precise developer-ready analysis IN FRENCH. Write it in a professional tone, as if authored by a senior D365 consultant -- no emojis, no icons. The analysis must contain these sections:

  1. Compréhension du besoin -- résume ce que le client demande en 2-3 phrases claires

  2. Analyse technique -- identifie la cause racine en croisant le besoin + les objets KB + le code custom

  3. Instructions de développement -- liste ordonnée et précise : quel objet, quelle méthode, quoi modifier

    • Si une extension custom existe sur disque -> pointer exactement quelle méthode à modifier

    • Si pas d'extension -> indiquer quel CoC créer, sur quel objet standard, quelle méthode

  4. Estimation -- chiffrage en heures/jours selon la complexité détectée

  5. Commentaire ADO -- Texte markdown sans icônes, prêt à poster sur le WI analysé UNIQUEMENT. IMPORTANT: never post (never call ado_post_comment) on any linked/related work item -- only on the analyzed WI.

Requires DEVOPS_ORG_URL + DEVOPS_PAT env vars.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectNoOptional: Azure DevOps project name. Falls back to DEVOPS_PROJECT env var.
workItemIdYesWork item ID (integer), e.g. 1234
maxCommentsNoNumber of recent comments to include (default 5, max 20). Use 3 for faster results.
focusObjectsNoComma-separated D365 object names to force-include in KB analysis, e.g. 'SalesTable,CustTable'. Providing these speeds up analysis significantly.
sourceBranchNoGit branch to read custom code from when no PR or commit is linked to the work item. Default: 'main'. Use this to point at the integration branch (e.g. 'develop', 'release/2025').main
includeImagesNoInclude image attachments as base64 data URIs for visual analysis by Copilot. Default: false. Set true only when screenshots are needed -- adds latency and token cost.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / includeImages / description
      Previous value: -"Include image attachments as base64 data URIs for visual analysis by Copilot. Default: false. Set true only when screenshots are needed — adds latency and token cost."New value: +"Include image attachments as base64 data URIs for visual analysis by Copilot. Default: false. Set true only when screenshots are needed -- adds latency and token cost."
  2. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false; the description adds genuine behavioral context beyond this: the tool returns raw structured context only (not a finished analysis), it requires DEVOPS_ORG_URL + DEVOPS_PAT, and it defines the post-call synthesis obligation including the comment-posting restriction. No contradiction with the annotations exists — 'Fetch and assemble' is consistent with readOnly/idempotent.

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

Conciseness3/5

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

The description is long (~350+ words) but well-structured with headers and front-loaded with purpose, triggers, and exclusions. There is noticeable redundancy: the 'no emojis / sans icônes' constraint appears twice, and the posting restriction is stated both in section 5 and again in the IMPORTANT sentence. The extensive 'YOUR JOB AS COPILOT' section partially substitutes for the missing output schema, but could be tightened.

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

Completeness4/5

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

For a 6-parameter tool with no output schema, the description covers return contents (metadata, KB object details, custom code, relation graph), required environment variables, exclusions, and the expected downstream synthesis in French. Notable but not fatal gaps: no contrast with the close sibling ado_analyze_pr_impact and no error/edge-case behavior (e.g., work item not found, missing env vars). Overall it is complete enough for an agent to invoke and use the tool correctly.

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%, so the baseline 3 applies and the schema already documents all six parameters well (e.g., focusObjects notes it 'speeds up analysis significantly', includeImages notes latency and token cost). The description adds no parameter-level meaning beyond the schema — it neither clarifies formats nor adds missing semantics. This is acceptable given the rich schema, but the description itself contributes nothing here.

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

Purpose4/5

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

The opening line states a specific verb+resource: 'Fetch a Work Item and assemble ALL technical context needed for D365 F&O expert analysis.' The NEVER-for clause explicitly carves out labels, X++ code lookup, and AOT objects, routing those to search_labels/search_d365_code, which distinguishes it from those siblings. However, it does not contrast with close analysis siblings like ado_analyze_pr_impact or data-retrieval siblings like ado_query_workitems, so differentiation is only partial.

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?

Provides an explicit PRIORITY TRIGGER list ('analyse le workitem', 'read the work item', '#1234', 'WI#') and an explicit NEVER-for list naming alternatives (search_labels / search_d365_code). It also constrains post-call behavior by forbidding ado_post_comment on any linked/related work item. Selection conditions and exclusions are fully spelled out with nothing left to inference.

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.