Skip to main content
Glama

jira_create_issue

Create a new Jira issue in a project, setting type, priority, assignee, labels, components, and custom fields. Supports markdown, ADF, or plain text descriptions.

Instructions

Creates a new Jira issue in the specified project. Supports setting issue type, priority, assignee, labels, components, and custom fields. Description format is controlled by the "format" parameter (default: markdown). For required custom fields, supply them via customFields (e.g., { "customfield_12345": { id: "..." } }). Returns the created issue with all details.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formatNoDescription format: "markdown" (converts Markdown to ADF), "adf" (use as-is ADF object), "plain" (converts plain text to ADF with basic formatting). Default: "markdown"markdown
labelsNoIssue labels
summaryYesIssue summary/title
assigneeNoAssignee account ID
priorityNoIssue priority
issueTypeYesIssue type (e.g., Bug, Story, Task)
componentsNoComponent names
projectKeyYesProject key where the issue will be created
descriptionNoIssue description. Accepts plain text or ADF object.
returnIssueNoWhen false, skip fetching full issue after creation
customFieldsNoAdditional Jira field mappings, e.g. { "customfield_12345": value }. Use for required custom fields.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed3 schema fields changedv1.11.0
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / customFields / propertyNames
      Added value: +{
      +  "type": "string"
      +}
    • changedInput schema / properties / description / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  }
      -]New value: +[
      +  {
      +    "type": "string"
      +  },
      +  {}
      +]
  2. Changed16 schema fields changedv1.10.2
    • addedInput schema / $schema
      Added value: +"http://json-schema.org/draft-07/schema#"
    • addedInput schema / additionalProperties
      Added value: +false
    • changedInput schema / properties / assignee / description
      Previous value: -"Assignee account ID (optional)"New value: +"Assignee account ID"
    • removedInput schema / properties / components / default
      Removed value: -[]
    • changedInput schema / properties / components / description
      Previous value: -"Component names (optional)"New value: +"Component names"
    • changedInput schema / properties / customFields / additionalProperties
      Previous value: -trueNew value: +{}
    • changedInput schema / properties / customFields / description
      Previous value: -"Additional Jira fields, e.g. { \"customfield_10071\": value }. Use this to set required custom fields."New value: +"Additional Jira field mappings, e.g. { \"customfield_12345\": value }. Use for required custom fields."
    • changedInput schema / properties / description / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "type": "string"
      +  }
      +]
    • changedInput schema / properties / description / description
      Previous value: -"Detailed issue description (optional). Accepts plain text (auto-formatted to ADF) or an ADF document."New value: +"Issue description. Accepts plain text or ADF object."
    • addedInput schema / properties / format
      Added value: +{
      +  "default": "markdown",
      +  "description": "Description format: \"markdown\" (converts Markdown to ADF), \"adf\" (use as-is ADF object), \"plain\" (converts plain text to ADF with basic formatting). Default: \"markdown\"",
      +  "enum": [
      +    "markdown",
      +    "adf",
      +    "plain"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / issueType / description
      Previous value: -"Issue type name (e.g., Bug, Story, Task, Epic)"New value: +"Issue type (e.g., Bug, Story, Task)"
    • removedInput schema / properties / labels / default
      Removed value: -[]
    • changedInput schema / properties / labels / description
      Previous value: -"Issue labels (optional)"New value: +"Issue labels"
    • changedInput schema / properties / priority / description
      Previous value: -"Issue priority name (e.g., High, Medium, Low) - optional"New value: +"Issue priority"
    • removedInput schema / properties / returnIssue / default
      Removed value: -true
    • changedInput schema / properties / returnIssue / description
      Previous value: -"If false, returns only the issue key without fetching full details"New value: +"When false, skip fetching full issue after creation"
  3. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations provide readOnlyHint=false, indicating mutation. The description adds context about the format parameter controlling description format and how to supply custom fields. It does not contradict annotations. However, it omits side effects like notifications or permission requirements.

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?

Two sentences plus a short detail on format and custom fields. Front-loaded with core purpose, then lists features. Every sentence is informative and concise, no waste.

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 11 parameters and no output schema, the description covers most aspects: creation, supported fields, format control, custom fields, and states the return. It could benefit from mentioning required parameters explicitly, but the schema already marks them.

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 all parameters have descriptions. The description adds value by grouping supported features and explaining the format parameter's role and custom fields usage with an example. It goes beyond the schema's individual descriptions.

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 starts with a clear verb+resource combination: 'Creates a new Jira issue in the specified project.' It lists supported features (type, priority, assignee, etc.) and distinguishes from siblings like jira_update_issue and jira_create_subtask by focusing on creation in a project.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for creating issues, but does not explicitly state when to use this tool versus alternatives like jira_create_subtask, jira_create_issue_link, or jira_get_create_meta. No when-not guidance is provided.

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/freema/mcp-jira-stdio'

If you have feedback or need assistance with the MCP directory API, please join our Discord server