Skip to main content
Glama
rafaelfreba

mcp-azure-devops-server

by rafaelfreba

Criar work item

create_work_item

Creates new Azure DevOps Server work items such as tasks, bugs, and user stories, returning the generated ID and browser link. Use when registering a new backlog item in a project.

Instructions

Cria um novo work item em um projeto do Azure DevOps Server e devolve o item criado, já com o ID gerado e o link para abri-lo no navegador.

Use quando o pedido for para registrar algo novo: uma tarefa, um bug, uma história. Esta operação ESCREVE no Azure DevOps e é visível para o time — confirme com o usuário o tipo, o título e o projeto antes de chamar, se algum deles estiver ambíguo.

Parâmetros:

  • workItemType (obrigatório): o nome exato do tipo no processo do projeto — "Task", "Bug", "User Story", "Product Backlog Item", "Epic", "Feature". Tipos variam entre processos (Agile, Scrum, CMMI); se der erro de tipo inexistente, confirme com o usuário.

  • title (obrigatório): título do item, até 255 caracteres.

  • project: opcional se ADO_DEFAULT_PROJECT estiver configurado.

  • description e acceptanceCriteria: texto em HTML (, , ), nunca Markdown nem CDATA.

  • assignedTo, areaPath, iterationPath, priority (1 a 4), tags, parentId.

  • additionalFields: qualquer outro campo, inclusive customizados, por nome de referência. Ex.: {"Custom.Sistema": "Portal", "Microsoft.VSTS.Scheduling.StoryPoints": 5}.

Exemplos de pedidos que devem acionar esta tool:

  • "abre um bug no projeto Portal: o login falha com senha correta"

  • "cria uma tarefa para revisar o contrato, atribuída à Ana, prioridade 2"

  • "registra uma user story de exportação em CSV como filha do épico 1200"

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagsNoTags do work item, ex.: ["infra", "urgente"].
titleYesTítulo do work item (campo obrigatório).
projectNoNome ou ID do projeto no Azure DevOps Server. Pode ser omitido se ADO_DEFAULT_PROJECT estiver configurado no servidor.
areaPathNoArea path completo, ex.: "MeuProjeto\\Backend". Padrão: a raiz do projeto.
parentIdNoID de um work item pai. Cria o vínculo hierárquico já na criação.
priorityNoPrioridade de 1 (mais alta) a 4 (mais baixa).
assignedToNoResponsável pelo work item: nome de exibição, e-mail ou DOMINIO\usuario, conforme cadastrado no Azure DevOps Server.
descriptionNoDescrição do work item. Campos de texto longo no Azure DevOps são HTML — use <p>, <br>, <ul>. Não use blocos CDATA nem Markdown.
workItemTypeYesTipo do work item, exatamente como definido no processo do projeto (ex.: "Task", "Bug", "User Story", "Product Backlog Item", "Epic").
iterationPathNoIteration path (sprint), ex.: "MeuProjeto\\Sprint 12".
additionalFieldsNoCampos adicionais ou customizados, por nome de referência. Ex.: {"Custom.Sistema": "Portal", "Microsoft.VSTS.Scheduling.StoryPoints": 5}. Campos de texto longo no Azure DevOps são HTML — use <p>, <br>, <ul>. Não use blocos CDATA nem Markdown.
acceptanceCriteriaNoCritérios de aceite. Campos de texto longo no Azure DevOps são HTML — use <p>, <br>, <ul>. Não use blocos CDATA nem Markdown.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
workItemYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

The description clearly discloses that this operation writes to Azure DevOps and is visible to the team, which goes beyond the annotations. It also explains the return value (the created item with ID and link), warns that work item types vary by process, and gives a concrete recovery instruction if the type is invalid. This is substantial behavioral context.

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

Conciseness5/5

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

The description is long but well structured: purpose first, then usage guidance, then grouped parameter details, then example requests that should trigger the tool. Every section earns its place, and the most decision-relevant information is front-loaded.

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?

Given the high complexity (12 parameters, nested objects, output schema, sibling tools), the description covers the required fields, optional project default, HTML formatting rules, custom fields, error recovery, and user confirmation. It even describes what the tool returns, so an agent can invoke it correctly without guessing.

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 coverage is 100%, so the schema already documents all parameters. The description adds value by listing valid workItemType examples, showing how additionalFields works with reference names, emphasizing that long-text fields must be HTML, and providing trigger examples that map naturally to parameters. This is above the baseline but not essential documentation for every parameter.

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 opens with a specific verb and resource: 'Cria um novo work item em um projeto do Azure DevOps Server e devolve o item criado, já com o ID gerado e o link.' It also states when to use it ('Use quando o pedido for para registrar algo novo') and gives concrete trigger examples, making it easy to distinguish from the sibling tools list_work_items, get_work_item, and update_work_item.

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

Usage Guidelines4/5

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

The description explicitly says when to use the tool: when the user wants to register something new such as a task, bug, or story. It also instructs the agent to confirm type, title, and project when ambiguous. It does not explicitly name alternatives or state 'do not use this for existing items', but the 'registrar algo novo' framing implies the boundary.

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