Skip to main content
Glama
MarkAC007

mcp-server-scf

by MarkAC007

scf_batch_update_controls

Batch-update up to 500 scoped SCF controls in one transaction, applying changes to status, owner, priority, and maturity while respecting material control constraints.

Instructions

Batch-update up to 500 scoped controls in one transaction (write — editor+). Each operation targets an scf_id. Material/MCR controls: no deselect (409); at_risk raises a deficiency.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
org_idYesOrganization UUID — obtain from scf_list_organizations
operationsYesUpdate operations to apply (1–500 per call)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv3.7.2
    • changedInput schema / properties / operations / items / properties / implementation_status / description
      Previous value: -"Implementation status (lowercase): not_started, in_progress, implemented, ready_for_review, monitored, not_applicable, at_risk, deferred"New value: +"Implementation status (lowercase): not_started, in_progress, implemented, ready_for_review, monitored, not_applicable, at_risk, deferred. at_risk raises a deficiency; not_applicable on a material control needs an admin (403)"
    • changedInput schema / properties / operations / items / properties / selected / description
      Previous value: -"Toggle in-scope membership"New value: +"Toggle in-scope membership. Deselecting an MCR-basis or material control is refused (409) — use scf_set_scope_override"
  2. First observedv1.7.0

TDQS

A4.4/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations: atomic single-transaction semantics, an editor+ authorization requirement, a 409 refusal path for deselecting material/MCR controls, and the non-obvious side effect that at_risk raises a deficiency. These are exactly the traits an agent cannot infer from readOnlyHint=false / destructiveHint=false.

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 tight sentences, front-loaded with the verb/resource/cap, followed by permission, then the two failure/side-effect rules. No filler or restated title.

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 2-parameter, 100%-documented batch mutation, the description covers purpose, auth, limits, and error semantics well. The only gap is the response shape — there is no output schema, and the description never says whether partial failures return per-operation results or whether the whole transaction rolls back.

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 every field is already documented, and the description's scf_id reference and the 409 deselect rule are both restatements of the schema's own `selected` description. Baseline 3 applies since the description adds no new parameter meaning.

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?

States a specific verb (batch-update), resource (scoped controls), and scale/scope (up to 500, one transaction). This clearly differentiates it from the single-record sibling scf_update_scoped_control without the agent needing to open either schema.

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?

Gives an actionable usage gate (write — editor+) and the shape of an operation (each targets an scf_id), which tells the agent when the tool is applicable. It stops short of naming the single-control alternative or stating when a batch is inappropriate (e.g., 1-item updates).

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

Deploy Server

Other Tools