Skip to main content
Glama
K3roru

tfs-mcp-server

by K3roru

Update work item

update_work_item
Idempotent

Update work item metadata via JSON Patch: set state, assignee, fields, tags, comments, and more. Returns the updated work item.

Instructions

Update a work item's metadata via JSON Patch. state and assignedTo are mandatory; other fields are optional. Returns the updated work item.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesWork item id
tagsNoReplaces System.Tags. Empty array clears tags.
stateYesNew System.State value (e.g. 'Active', 'Resolved', 'Closed'). Required.
titleNo
fieldsNoAdditional fields by reference name, e.g. {"Microsoft.VSTS.Scheduling.RemainingWork": 4}. Use null to clear a field.
reasonNoSystem.Reason (some state transitions require a specific reason).
commentNoDiscussion comment added together with the update (System.History).
projectNoTeam project name or id. Overrides TFS_DEFAULT_PROJECT. Work items and repos may live in different projects.
areaPathNo
priorityNoMicrosoft.VSTS.Common.Priority
assignedToYesNew System.AssignedTo value: display name, 'DOMAIN\\user', e-mail, or 'Display Name <DOMAIN\\user>'. Use an empty string to unassign. Required. Use get_current_identity to obtain a value for the PAT owner.
bypassRulesNoBypass work item type rules (requires project collection admin rights).
descriptionNoSystem.Description; plain text is converted to HTML.
expectedRevNoOptimistic concurrency: fail if the current revision differs.
validateOnlyNoValidate the update without saving.
iterationPathNo
suppressNotificationsNoDo not fire notifications for this update.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=false, idempotentHint=true, and destructiveHint=false. The description adds useful behavioral context beyond those: the update uses JSON Patch, state and assignedTo are mandatory even though other fields are optional, and the tool returns the updated work item. This is meaningful given there is no output schema, though it does not discuss edge cases like failed state transitions.

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 two tight sentences with no filler. It front-loads the operation ('Update a work item's metadata'), specifies the method ('via JSON Patch'), states the mandatory fields, and closes with the return value. Every sentence earns its place.

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

Completeness3/5

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

For a ­17-param­eter mutation tool with no output schema, the descrip­tion covers the return value but does not address the exis­tence of update_work_i­tems (batch) or explain when the single-item update should be preferred. The rich input schema mitigates param­eter gaps, but the missing sibling routing and minimal behavioral caveats leave the descrip­tion function­ally adequate yet incomplete.

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 82%, so the schema already documents most parameters. The description adds aggregate guidance by naming state and assignedTo as mandatory and calling other fields optional, but it omits the required id from that statement, which could slightly mislead. It does not add per-parameter meaning beyond what the schema provides.

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 description states a specific verb and resource: 'Update a work item's metadata via JSON Patch.' It distinguishes the tool from read/get siblings and from the plural update_work_items by making the singular 'a work item' explicit. However, it does not explicitly name or contrast the sibling update_work_items, so it stops short of full sibling differentiation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus update_work_items or other sibling tools. It mentions that state and assignedTo are mandatory, which is a prerequisite rather than usage context. There are no when-to-use, when-not-to-use, or alternative-tool signals.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/K3roru/tfs-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server