Skip to main content
Glama
rafaelfreba

mcp-azure-devops-server

by rafaelfreba

Listar work items

list_work_items
Read-onlyIdempotent

Find and summarize work items in Azure DevOps Server using direct filters, saved queries, or WIQL, returning ID, type, title, state, assignee, area, sprint, and tags.

Instructions

Lista work items (tarefas, bugs, user stories, etc.) de um projeto do Azure DevOps Server, devolvendo um resumo de cada um: ID, tipo, título, estado, responsável, área, sprint e tags.

Use quando o pedido for por um CONJUNTO de itens que atendem a um critério. Para um item específico de que já se conhece o ID, use get_work_item (traz mais detalhe).

Três formas de filtrar, da mais simples para a mais poderosa:

  1. Filtros diretos — assignedTo, states, workItemTypes, areaPath. Cobrem a maioria dos casos. Em assignedTo, "@me" resolve para o usuário dono do PAT configurado no servidor.

  2. queryId — executa uma consulta salva (Shared Query) pelo seu GUID.

  3. wiql — uma consulta WIQL completa, para critérios que os filtros diretos não expressam (datas, campos customizados, operadores CONTAINS, etc.). Quando wiql é informado, os filtros diretos são ignorados.

O parâmetro project pode ser omitido se o servidor tiver ADO_DEFAULT_PROJECT configurado. Retorna no máximo 200 itens por chamada (padrão 50); use skip para paginar e leia totalMatched para saber quantos a consulta encontrou no total.

Exemplos de pedidos que devem acionar esta tool:

  • "quais bugs estão abertos no projeto Portal?"

  • "me mostra as tarefas atribuídas a mim"

  • "lista as user stories da sprint atual que ainda estão em New"

  • "quantos itens ativos existem na área Portal\Backend?"

  • "roda a consulta salva 3f2b...c1 e me resume o resultado"

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
topNoQuantidade máxima de work items a retornar. Padrão: 50, máximo: 200.
skipNoQuantos resultados pular, para paginar. Padrão: 0.
wiqlNoConsulta WIQL completa, para filtros que os parâmetros simples não cobrem. Ex.: "SELECT [System.Id] FROM WorkItems WHERE [System.State] = 'Active' AND [System.CreatedDate] > @Today - 7". Quando informada, os filtros assignedTo/states/workItemTypes/areaPath são ignorados.
fieldsNoCampos adicionais a trazer em cada item, por nome de referência (ex.: ["Microsoft.VSTS.Scheduling.StoryPoints"]).
statesNoFiltra por estados, ex.: ["Active", "New"].
projectNoNome ou ID do projeto no Azure DevOps Server. Pode ser omitido se ADO_DEFAULT_PROJECT estiver configurado no servidor.
queryIdNoGUID de uma consulta salva (Shared Queries) a ser executada.
areaPathNoFiltra pela área e suas sub-áreas (operador UNDER), ex.: "MeuProjeto\\Backend".
assignedToNoFiltra pelo responsável. Use "@me" para o dono do PAT configurado, ou o nome de exibição / e-mail do usuário (ex.: "Ana Souza" ou "ana@empresa.com").
workItemTypesNoFiltra por tipo, ex.: ["Bug", "Task"].

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
countYesQuantidade de work items retornados nesta página
queryYesA consulta WIQL efetivamente executada
workItemsYesOs work items encontrados
totalMatchedYesTotal de work items que a consulta encontrou, antes de top/skip

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds valuable behavioral context beyond that: pagination limits (max 200, default 50, use skip, read totalMatched), the precedence of wiql over direct filters, and the @me resolution for assignedTo. These are concrete operational details an agent needs to call the tool correctly.

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 well-structured: it opens with the core purpose, then gives usage guidance, then details filtering methods and pagination, and ends with concrete examples. Each section earns its place; there is no fluff. It is front-loaded with the most important information (what it does and when to use it). It could be slightly more compact, but the density of useful info justifies its length.

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 tool with 10 optional parameters, three filtering modes, and pagination, the description covers all critical aspects: return summary fields, when to use it, the three filtering approaches with precedence, pagination behavior, and example prompts. The presence of an output schema further covers return details. Nothing an agent needs to invoke it correctly is missing.

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

Parameters4/5

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

Schema description coverage is 100%, so each parameter is individually documented. The description goes beyond that by organizing the parameters into three coherent filtering modes (direct filters, queryId, wiql) and explaining when to use each, which helps the agent choose the right parameter combination. This adds strategic value on top of the schema's per-parameter descriptions.

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 states a specific verb ('Lista') and resource ('work items') with a clear summary of what is returned (ID, tipo, título, estado, etc.). It distinguishes from the sibling get_work_item by explicitly noting that tool is for a single item with more detail. This makes the tool's purpose unambiguous and distinct.

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?

It explicitly says 'Use quando o pedido for por um CONJUNTO de itens que atendem a um critério' and directs to get_work_item for a specific item. It also gives examples of user requests that should trigger this tool and explains the three filtering methods with precedence, leaving no ambiguity about when to use it vs alternatives.

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