Skip to main content
Glama

bug_create

Creates a bug when the user asks to log a defect and publishes it right away: with an approver it goes to approval, otherwise to work to the assignee. Placement is one of: a feature (featureID or featureKey), a version (versionID) or the product backlog (productID); type is the criticality (the nature of the defect is the separate bugType field), and bugs always have a testing stage. Stage assignees: employee uuid, "any" (any employee) or null (no such stage; the work stage always exists). Returns the key, link, status and allowed transitions.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "title": "<title>",
      "spec": "<spec>",
      "gist": "<gist>",
      "rulesRevision": "<rulesRevision>",
      "type": "<type>"
    },
    "name": "bug_create"
  }
}

Input Schema

NameRequiredDescriptionDefault
ordNoPosition of the new bug, as ord in task edits; omitted - the end of the feature's plan.
gistYesGist: one or two sentences, "problem → solution", up to 300 characters of plain text (no Markdown, links or task keys), in the language of the workspace data.
specYesBug description in Markdown (no HTML) following the bug creation template, in the language of the workspace data.
typeYesCriticality by actual impact: bug_trivial - cosmetic; bug_minor - inconvenience with a workaround; bug_major - a function works wrong or part of a scenario is unavailable, the workaround is costly; bug_critical - a scenario is impossible, data is lost or corrupted, a section crashes; bug_block - blocks the product or all testing. In doubt between two levels - the higher one.
buildNoBuild in which the defect was reproduced, from the deployed version.
fuzzyNoIntermittent bug: does not reproduce every time.
stageNoStand where the bug was reproduced: dev - development and autotests, alpha - manual QA, prod - production data.
titleYesBug title, up to 200 characters, in the language of the workspace data.
labelsNoLabels.
browserNoBrowser where the defect was reproduced.
bugTypeNoDefect nature: ui - interface, fn - functionality, ux - usability, spec - documentation; not the severity, which is type.
devicesNoIDs of devices from the company's QA devices where the defect was reproduced.
priorityNoPriority; a human decision, set only at the user's explicit request.
featureIDNoFeature ID - the preferred placement
moduleIDsNoIDs of the modules (screens) where the defect is visible.
productIDNoProduct ID - the product backlog, last resort
versionIDNoVersion ID - when no feature fits
featureKeyNoFeature key #F12; not with featureID
componentIDsNoIDs of the components where the defect is actually visible; empty if unsure.
testAssigneeNoTester: employee UUID or "any" (default) - bugs are always tested.
workAssigneeNoAssignee; default "any".
workTimePlanNoPlanned fix time in minutes, for the assignee's role level.
rulesRevisionYesRevision of the bug creation template the spec follows.
reviewAssigneeNoReviewer; default - no review stage.
approvalAssigneeNoApprover; when omitted - the person who asked for the item (set by the server), null - no approval stage.
workIterationDateNoA date within the work iteration, YYYY-MM-DD; defaults to the current iteration.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / approvalAssignee / description
      Previous value: -"Approver; default - no approval stage."New value: +"Approver; when omitted - the person who asked for the item (set by the server), null - no approval stage."
  2. Changed4 schema fields changed
    • addedInput schema / properties / fuzzy
      Added value: +{
      +  "description": "Intermittent bug: does not reproduce every time.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / labels
      Added value: +{
      +  "description": "Labels.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / priority
      Added value: +{
      +  "description": "Priority; a human decision, set only at the user's explicit request.",
      +  "enum": [
      +    "postponed",
      +    "unset",
      +    "inOrder",
      +    "important",
      +    "urgent"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / type / description
      Previous value: -"Criticality by actual impact: bug_trivial - cosmetic; bug_minor - inconvenience with a workaround; bug_major - a function works wrong or part of a scenario is unavailable, the workaround is costly; bug_critical - a scenario is impossible, data is lost or corrupted, a section crashes; bug_block - blocks the product or all testing. In doubt between two levels - bug_major."New value: +"Criticality by actual impact: bug_trivial - cosmetic; bug_minor - inconvenience with a workaround; bug_major - a function works wrong or part of a scenario is unavailable, the workaround is costly; bug_critical - a scenario is impossible, data is lost or corrupted, a section crashes; bug_block - blocks the product or all testing. In doubt between two levels - the higher one."
  3. Changed19 schema fields changed
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • changedInput schema / properties / approvalAssignee / description
      Previous value: -"Approver: employee UUID, \"any\" (any employee) or null (no approval stage); default: no approval."New value: +"Approver; default - no approval stage."
    • addedInput schema / properties / bugType
      Added value: +{
      +  "description": "Defect nature: ui - interface, fn - functionality, ux - usability, spec - documentation; not the severity, which is type.",
      +  "enum": [
      +    "ui",
      +    "fn",
      +    "ux",
      +    "spec"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / build / description
      Previous value: -"Build in which the defect was reproduced, from the deployed version; QA reproduces on it."New value: +"Build in which the defect was reproduced, from the deployed version."
    • changedInput schema / properties / featureKey / anyOf
      Previous value: -[
      -  {
      -    "maxLength": 12,
      -    "minLength": 1,
      -    "type": "string"
      -  },
      -  {
      -    "exclusiveMinimum": 0,
      -    "maximum": 9007199254740991,
      -    "type": "integer"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 12,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  {
      +    "exclusiveMinimum": 0,
      +    "type": "integer"
      +  }
      +]
    • changedInput schema / properties / featureKey / description
      Previous value: -"Feature key #F12 (or F12, 12); not with featureID"New value: +"Feature key #F12; not with featureID"
    • changedInput schema / properties / moduleIDs / description
      Previous value: -"IDs of the modules (screens) where the defect is visible, even if its cause is in a service."New value: +"IDs of the modules (screens) where the defect is visible."
    • changedInput schema / properties / ord / description
      Previous value: -"Position of the new bug; tasks are ordered by `ord` descending. Omitted - end of the feature's plan, so bugs created one by one keep their order."New value: +"Position of the new bug, as ord in task edits; omitted - the end of the feature's plan."
    • removedInput schema / properties / ord / maximum
      Removed value: -9007199254740991
    • changedInput schema / properties / reviewAssignee / description
      Previous value: -"Reviewer: employee UUID, \"any\" (any employee) or null (no review stage); default: no review."New value: +"Reviewer; default - no review stage."
    • addedInput schema / properties / stage
      Added value: +{
      +  "description": "Stand where the bug was reproduced: dev - development and autotests, alpha - manual QA, prod - production data.",
      +  "enum": [
      +    "dev",
      +    "alpha",
      +    "prod"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / testAssignee / description
      Previous value: -"Tester: employee UUID or \"any\" (any employee); default \"any\" - bugs are always tested."New value: +"Tester: employee UUID or \"any\" (default) - bugs are always tested."
    • changedInput schema / properties / testAssignee / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +"string"
    • changedInput schema / properties / title / description
      Previous value: -"Bug title, up to 200 characters, in the language of the workspace data; states the defect itself, not just the area (like \"Settings\")."New value: +"Bug title, up to 200 characters, in the language of the workspace data."
    • changedInput schema / properties / workAssignee / description
      Previous value: -"Assignee: employee UUID, \"any\" (any employee) or null (no work stage); default \"any\"."New value: +"Assignee; default \"any\"."
    • addedInput schema / properties / workIterationDate
      Added value: +{
      +  "description": "A date within the work iteration, YYYY-MM-DD; defaults to the current iteration.",
      +  "type": "string"
      +}
    • removedInput schema / properties / workIterationKey
      Removed value: -{
      -  "description": "Iteration key for work outside the current iteration; default - current",
      -  "maximum": 9007199254740991,
      -  "minimum": -9007199254740991,
      -  "type": "integer"
      -}
    • removedInput schema / properties / workTimePlan / maximum
      Removed value: -9007199254740991
    • removedInput schema / properties / workTimePlan / minimum
      Removed value: --9007199254740991
  4. Changed2 schema fields changed
    • addedInput schema / properties / browser
      Added value: +{
      +  "description": "Browser where the defect was reproduced.",
      +  "enum": [
      +    "any",
      +    "chrome",
      +    "safari",
      +    "opera",
      +    "edge",
      +    "firefox",
      +    "yandex"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / devices
      Added value: +{
      +  "description": "IDs of devices from the company's QA devices where the defect was reproduced.",
      +  "items": {
      +    "format": "uuid",
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  5. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations only declare readOnly=false, destructive=false, openWorld=false; the description adds genuinely new behavior: immediate publication, approval-vs-work routing based on approver, forced testing stage, and the "work stage always exists" invariant. It doesn't cover permission requirements or what happens on validation failure.

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 the action and the publication behavior, then the decision-relevant constraints. It is a long multi-clause sentence chain, but each clause (placement, type vs bugType, stage assignees) removes a real ambiguity, so little is wasted.

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 26-parameter mutation with no output schema, the description still states the return payload (key, link, status, allowed transitions) and the required approver/assignee routing. What's absent is guidance on the required rulesRevision/template relationship and error behavior, but the schema covers those fields individually.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds cross-field meaning the schema cannot: the type vs bugType distinction (criticality vs nature), the three mutually exclusive placement modes, and the tri-state assignee semantics (uuid / "any" / null). Only minor redundancy with the schema's own descriptions.

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 gives a specific verb+resource ("Creates a bug") plus the immediate side effect ("publishes it right away") and routes it by approver presence. It is clearly distinct from task_create/feature_create in substance, though it never names a sibling to contrast against explicitly.

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?

It supplies an explicit trigger ("when the user asks to log a defect") and a placement preference ladder: feature is preferred, version is "when no feature fits", product backlog is last resort. What is missing is any statement about when NOT to use it (e.g., vs task_create for non-defect work).

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