Skip to main content
Glama

Entalpa Requirements MCP

Requirements Patch

requirements_patch

Patch a requirement.

Input Schema

NameRequiredDescriptionDefault
patchYesKeep text, human label and metadata in content. Relationship fields alongside content accept UUIDs only. Omitted or null relationship lists preserve links in patches; [] clears them. subsystem_id:null clears the subsystem.
project_idYesProject UUID (database id).
requirement_idYesRequirement UUID.

Output Schema

NameRequiredDescriptionDefault
lockYesTrue to lock the requirement from LLM modifications.
flagsYesList of requirement flags/tags.
contentYesRequirement content object returned by the server.
lifecycleYesWhere the requirement stands. One of: draft, in_review, reviewed, in_progress, implemented, verified, blocked, rejected, superseded. The first six are a ladder from authored to tested; blocked, rejected and superseded are not progress. Writing content.implementation_status also moves this — in_progress, implemented, verified and blocked map across, while not_started is ignored rather than demoting a reviewed requirement.
project_idYesProject UUID (database id).
subsystem_idNoSubsystem UUID (database id).
requirement_idYesRequirement UUID (database id).
from_descriptionNoTrue if this requirement originated from the project description.
source_story_idsYesList of story UUIDs.
suspect_story_idsNoSource stories edited after this requirement was written from them. Non-empty means it may no longer say what the story asks: re-propagate the story (projects_propagate_stories), rewrite the requirement, or confirm it still holds (requirements_confirm_sources) before implementing it.
source_requirement_idsNoList of requirement UUIDs (database ids), not content.id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

C2.2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so the agent knows this is a mutation that is not flagged destructive. However, the description itself adds zero behavioral context — no mention that omitted/null relationship lists preserve links while [] clears them, no mention of lock preventing LLM modification, no mention of what happens to unspecified fields.

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

Conciseness2/5

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

The single sentence is short but this is under-specification rather than conciseness. It is front-loaded in the sense that it starts with the verb, but there is no structure and no second sentence earning its place by adding the patch semantics an agent needs.

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

Completeness2/5

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

This is a nested-object patch tool with three required parameters and an output schema. The schema and annotations supply the mechanics, but the description does nothing to orient the agent on partial-update behavior, required permissions, or the relationship-field clearing rules. Adequate-by-accident via structured fields, not complete as a definition.

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% and the patch object's own description carries the key semantics (relationship fields take UUIDs, null/omitted preserves, [] clears, subsystem_id:null clears). Per the baseline rule, a 3 is appropriate since the schema, not the description, does the heavy lifting. The description contributes nothing beyond that.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Patch a requirement' essentially restates the tool name and title without adding specificity. It gives no hint of what a patch means here (partial update, which fields, relationship semantics) and does not distinguish this tool from the sibling requirements_update. It is a tautology rather than a differentiated purpose statement.

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?

There is no when-to-use, when-not-to-use, or alternative-routing guidance at all. The obvious question — patch vs requirements_update — is left entirely to inference from the schema. Nothing in the description tells an agent which of the two mutation tools to pick.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources