Skip to main content
Glama

Create Constraint

engramic_create_constraint

Create a new constraint in the workspace. A constraint records a limitation or boundary the organisation must respect — budget, time, technical, legal, or policy-based.

detail (description of what this constraint limits or requires) is required. severity (low | medium | high | critical) is optional but recommended. validFrom and validUntil mark when the constraint takes effect and expires. status defaults to active.

Use engramic_topic to browse children at the intended parent first — duplicates fragment the graph.

Published on creation by default; pass draft: true only to hold it back unpublished.

Returns the created constraint with its assigned ID and your permissions on it.

Input Schema

NameRequiredDescriptionDefault
draftNoSet true to create this topic UNPUBLISHED (a draft that needs a later publish step). Omit or set false — the default — to publish it immediately, which is correct once the user has confirmed the creation.
labelYes
detailYes
statusNoactive
parentIdNo
validFromNo
referencesNo
validUntilNo
classificationNointernal

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare non-read-only, non-destructive, non-idempotent. The description adds meaningful behavior: published on creation by default, draft opt-out, and that the call returns the created constraint with its assigned ID and the caller's permissions. It does not mention any auth requirements or what happens to duplicate labels (only that duplicates fragment the graph).

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

Conciseness4/5

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

Front-loaded with purpose and definition, then parameter hints and a usage warning. Mostly efficient, though the draft sentence largely restates the schema's own draft description and the return-value sentence is slightly tacked on.

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 9-parameter creation tool with low schema coverage and no output schema, the description covers the core path but omits the meaning of several parameters (references relations, classification levels, parentId semantics). The return value is stated, which offsets some of the missing output schema.

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 only 11% across 9 parameters, so the description must carry weight. It explains detail, severity, validFrom/validUntil, status default, and draft behavior, but leaves label, parentId, references, classification and the schema.org 'about' block unexplained, which is a substantial remaining gap.

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 and resource ('Create a new constraint') and then defines what a constraint is (budget, time, technical, legal, policy boundary), which is information not available from the name. The create-vs-update distinction is implicit in the verb and reinforced by the sibling engramic_update_constraint.

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 concrete pre-call guidance: browse children via engramic_topic at the intended parent first to avoid fragmenting the graph, and use draft:true only to hold back publication. It does not explicitly say when to use this versus engramic_update_constraint, which is the most likely confusion point.

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