Skip to main content
Glama
K3roru

tfs-mcp-server

by K3roru

Update multiple work items

update_work_items
Idempotent

Batch-update multiple TFS work items at once: change state, assignee, fields, tags, and comments with per-item results. Uses efficient batch API with fallback for reliable bulk edits.

Instructions

Apply the same update (state + assignedTo, optionally more fields/comment) to many work items. Uses the wit/$batch endpoint (one HTTP request per 200 items) and falls back to parallel single PATCH calls if $batch is unavailable. Per-item results are reported.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idsYesWork item ids
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.
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

A4.4/5.0
Behavior5/5

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

The description goes well beyond the annotations by disclosing the batching behavior, the fallback to parallel single PATCH calls, and the per-item result reporting. This gives an agent useful expectations about performance and partial-failure reporting, and nothing contradicts the idempotentHint annotation.

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?

Three sentences deliver the essential purpose, endpoint behavior, and result semantics with no filler. The core statement is front-loaded, making the tool's role immediately clear.

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?

Given the high parameter count and absence of an output schema, the description covers the key operational aspects: batch updates, fallback behavior, and per-item results. It does not describe the exact result format, but 'Per-item results are reported' provides enough orienting context for selection and invocation.

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 81%, so the schema already documents parameters such as tags, fields, reason, comment, and assignedTo. The description adds only a high-level note that state and assignedTo are the core update fields, which is useful but does not significantly expand on the schema.

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 and resource: applying the same update to many work items, with state and assignedTo called out. It clearly distinguishes the batch tool from the singular sibling update_work_item by emphasizing 'many work items' and 'same update'.

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 clearly implies this tool is for updating many work items with the same update, which distinguishes it from update_work_item. It does not explicitly name the alternative or state when not to use it, but the batch-purpose framing is strong enough for an agent to select it correctly.

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