Jira MCP server

Prebuilt SnapLogic agentic-tool pipelines that let an LLM read from and act on Jira, callable as MCP tools via Pipeline Execute. Published in the SnapLogic pattern catalog.

Overview

These tools give agents full read and write access to a Jira issue tracker, covering search, create, update, transition, link, and delete operations. Metadata tools let an agent look up projects, priorities, issue types, statuses, and assignable users before creating or updating issues.

For setup instructions, see SnapLogic MCP Server quickstart.

Example Prompts

  • File a bug in the SNAP project: 'Login page 500s on Safari', priority High
  • Create a story in PROJ called 'Add SSO support' and assign it to Maria
  • Log a task in SNAP with the label 'tech-debt' and this description
  • Raise a Bug in PROJ against the 'Billing' component, priority Highest
  • Delete SNAP-99, it was created by mistake
  • Remove the duplicate ticket PROJ-451 from Jira
  • Clean up the test issue SNAP-1234
  • What fields are required to create a Bug in the SNAP project?
  • Which issue types can I create in PROJ?
  • Show me the create metadata for the SNAP project

Tools

Tool Name Functions
JiraCreateIssue Create a new Jira issue in a project.
JiraDeleteIssue Permanently delete a Jira issue by key or id.
JiraGetCreateMeta Get the create-screen field schema for a project (optionally one issue type).
JiraGetIssue Fetch a single Jira issue by key or id.
JiraGetTransitions List the workflow transitions currently available on an issue.
JiraLinkIssues Link two Jira issues with a named link type.
JiraListMetadata Fetch a Jira reference list such as priorities, issue types or statuses.
JiraListProjects List all Jira projects visible to the account.
JiraSearch Run a JQL query and return the matching issues.
JiraSearchUsers Find users assignable to issues on a given project.
JiraTransitionIssue Move an issue through its workflow using a transition id.
JiraUpdateIssue Update fields on an existing Jira issue, or add a comment.
SearchMeetingTranscripts Search Meeting Transcripts

Set up the MCP Server tools

  1. Download jira_tools.zip.
  2. In SnapLogic Designer, open the target project space (or create one), then choose Import Project / Import Pipelines and select the downloaded jira_tools.zip. Designer unpacks each pipeline into the project.
  3. Attach the required account to the connectivity snaps (see Connection Setup).
  4. Expose the project as an MCP server — each pipeline becomes a tool named after its label. New to this? Start with the MCP quickstart, then use the MCP Server Pipeline Builder to generate the server from the imported pipelines.

Configure account

Attach a JIRA account (Basic auth with an API token, or OAuth 2.0) to the JIRA snaps in Designer after import.

These pipelines ship without credentials by design — attach a valid account in Designer before the tools will execute.

See the SnapLogic account documentation for this connector: Configuring Jira Accounts.

Important: These pipelines ship without credentials by design — attach a valid account in Designer before the tools will execute. Credentials live in the SnapLogic account store, never in the pipeline JSON.

JiraCreateIssue

Creates a new Jira issue in a project with a required type and summary, plus optional description, assignee, priority, labels, components, and custom fields. Use JiraGetCreateMeta or JiraListMetadata first if you are unsure which values the project accepts.

Parameter Type Default Description
project_key* string

Key of the project the issue is created in, sent as fields.project.key, e.g. SNAP.

issue_type* string

Issue type name, sent as fields.issuetype.name, e.g. Bug or Story. Must match a type the project's create screen allows.

summary* string

Issue summary (title), sent as fields.summary.

description string

Issue description, sent as fields.description. Omitted when blank.

assignee string

Username of the assignee, sent as fields.assignee.name. Omitted when blank.

priority string

Priority name, sent as fields.priority.name, e.g. High. Omitted when blank.

labels array

Labels to set, sent as fields.labels. Omitted when null.

components array

Components to set, sent as fields.components. Omitted when null.

custom_fields object

Map of custom field ids to values, carried on the request document as custom_fields_merged. Omitted when null.

* Required parameter.

Try asking:

  • File a bug in the SNAP project: 'Login page 500s on Safari', priority High
  • Create a story in PROJ called 'Add SSO support' and assign it to Maria
  • Log a task in SNAP with the label 'tech-debt' and this description
  • Raise a Bug in PROJ against the 'Billing' component, priority Highest

JiraDeleteIssue

Permanently deletes a single Jira issue with no undo. Use it only for duplicates, test data, or tickets filed by mistake; to close work normally, use JiraTransitionIssue instead.

Parameter Type Default Description
issue_id* string

Issue key or numeric id to delete, e.g. SNAP-99.

* Required parameter.

Try asking:

  • Delete SNAP-99, it was created by mistake
  • Remove the duplicate ticket PROJ-451 from Jira
  • Clean up the test issue SNAP-1234

JiraGetCreateMeta

Returns the create-screen field schema for a project, including available issue types, required fields, and allowed values. Use it before creating an issue in an unfamiliar project, or when a create attempt fails on an invalid field.

Parameter Type Default Description
jira_base_url* string

Base URL of the Jira instance, prefixed onto the REST path, e.g. https://yourcompany.atlassian.net.

project_key* string

Project key passed as projectKeys on the createmeta call, e.g. SNAP.

issue_type string

Issue type name to narrow the metadata to, passed as issuetypeNames, e.g. Bug. Omit for all types in the project.

* Required parameter.

Try asking:

  • What fields are required to create a Bug in the SNAP project?
  • Which issue types can I create in PROJ?
  • Show me the create metadata for the SNAP project
  • What are the allowed values for the components field on PROJ stories?

JiraGetIssue

Retrieves the full record for a single Jira issue by its key or ID. Use it when the user names a specific ticket and needs its details rather than a list of results.

Parameter Type Default Description
issue_id* string

Issue key or numeric id to fetch, e.g. PROJ-123.

* Required parameter.

Try asking:

  • What's the status of SNAP-42?
  • Show me the full details of PROJ-123
  • Who is PROJ-987 assigned to and what does the description say?
  • Pull up ticket SNAP-1001

JiraGetTransitions

Lists the workflow transitions currently available on an issue, each with the ID that JiraTransitionIssue needs to execute it. Use it when you know the target state by name but need the transition ID to proceed.

Parameter Type Default Description
jira_base_url* string

Base URL of the Jira instance, prefixed onto the REST path, e.g. https://yourcompany.atlassian.net.

issue_id* string

Issue key or numeric id whose available transitions are listed, e.g. SNAP-42.

* Required parameter.

Try asking:

  • What statuses can SNAP-42 move to right now?
  • Show me the available transitions for PROJ-123
  • Can I close SNAP-88 directly, or does it have to go through review first?

JiraLinkIssues

Creates a named link between two Jira issues, such as Blocks, Relates, or Duplicate. Use it to record dependencies or duplication the user describes in conversation.

Parameter Type Default Description
link_type* string

Name of the link type, sent as type.name, e.g. Blocks, Relates or Duplicate, as configured on the instance.

inward_issue* string

Key of the inward issue in the link, sent as inwardIssue.key, e.g. SNAP-1.

outward_issue* string

Key of the outward issue in the link, sent as outwardIssue.key, e.g. SNAP-2.

comment string

Comment text recorded with the link, sent as comment.body. Omitted when blank.

* Required parameter.

Try asking:

  • Link SNAP-1 as blocking SNAP-2
  • Mark PROJ-451 as a duplicate of PROJ-300
  • Relate SNAP-42 to SNAP-88 and add a comment explaining why
  • SNAP-10 is blocked by SNAP-11 — record that in Jira

JiraListMetadata

Fetches a Jira reference list such as priorities, issue types, statuses, or resolutions. Use it to discover the exact names this instance accepts before creating or updating an issue.

Parameter Type Default Description
jira_base_url* string

Base URL of the Jira instance, prefixed onto the REST path, e.g. https://yourcompany.atlassian.net.

metadata_type* string

Reference list to fetch, appended to /rest/api/2/, e.g. priority, issuetype, status, resolution or field.

* Required parameter.

Try asking:

  • What priority levels does our Jira use?
  • List the available issue types
  • Show me all the statuses configured in Jira
  • What resolutions can I set on a ticket?
  • List the custom fields defined in this Jira instance

JiraListProjects

Lists all Jira projects visible to the connected account. Use it to find a project key when the user refers to a project by name, or to validate a project key before creating or searching issues.

Parameter Type Default Description
jira_base_url* string

Base URL of the Jira instance, prefixed onto the REST path, e.g. https://yourcompany.atlassian.net.

* Required parameter.

Try asking:

  • What Jira projects do we have?
  • What's the project key for the Platform team's board?
  • List every project in Jira with its key
  • Is there a project called 'Billing' in Jira?

JiraSearch

Runs a JQL query against Jira and returns the matching issues. Use it for any 'find me the issues where Y' request, since JQL supports filtering by project, status, assignee, sprint, labels, dates, and more.

Parameter Type Default Description
jql* string

JQL query passed straight to the JIRA Search snap, e.g. project = SNAP AND status = Open.

max_results string 50

Maximum number of issues to return (default 50).

fields string

Comma-separated list of issue fields to return, e.g. summary,status,assignee. Omit to return the default field set.

expand string

Jira expand string for extra sections, e.g. changelog or renderedFields. Omit for none.

* Required parameter.

Try asking:

  • Show me all open bugs in the SNAP project
  • What's assigned to me in Jira and still in progress?
  • Find issues in PROJ updated in the last 7 days, just summary and status
  • List the top 20 highest-priority unresolved tickets across all projects
  • Search Jira for anything labelled 'security' that isn't done

JiraSearchUsers

Finds users who can be assigned issues on a given project, optionally filtered by a name fragment. Use it to look up a valid assignee before creating or updating a ticket.

Parameter Type Default Description
jira_base_url* string

Base URL of the Jira instance, prefixed onto the REST path, e.g. https://yourcompany.atlassian.net.

project_key* string

Project key passed as project on the assignable-user search, e.g. SNAP.

username string

Username fragment to match, passed as username. Omit to return all assignable users.

max_results string 50

Maximum number of users to return, passed as maxResults (default 50).

* Required parameter.

Try asking:

  • Who can I assign issues to on the SNAP project?
  • Find someone called Maria who can take tickets in PROJ
  • List the first 10 assignable users on the SNAP board
  • Is john able to be assigned work in PROJ?

JiraTransitionIssue

Moves an issue through its workflow by executing a transition, with optional fields and a comment. Use JiraGetTransitions first to find the transition ID, then call this to start, resolve, or close the issue.

Parameter Type Default Description
issue_id* string

Issue key or numeric id to transition, e.g. SNAP-42.

transition_id* string

Id of the transition to execute, sent as transition.id, e.g. 31. Get it from JiraGetTransitions.

fields object

Field map for values the transition screen requires, e.g. {resolution: {name: 'Done'}}. Omitted when null.

comment string

Comment text added as part of the transition. Omitted when blank.

* Required parameter.

Try asking:

  • Move SNAP-42 to In Progress
  • Close PROJ-123 as Done with the comment 'fixed in release 4.2'
  • Transition SNAP-88 to Ready for Review and note that the PR is up
  • Resolve PROJ-500 and set the resolution to Won't Fix

JiraUpdateIssue

Edits fields on an existing Jira issue, such as summary, priority, assignee, or a comment. To change an issue's workflow status, use JiraTransitionIssue instead.

Parameter Type Default Description
issue_id* string

Issue key or numeric id to update, e.g. SNAP-42.

fields* object

Field map of values to set, e.g. {summary: '...', priority: {name: 'High'}}.

update object

Jira update operations for list-style fields, most usefully {comment: [{add: {body: '...'}}]}. Omitted when null.

* Required parameter.

Try asking:

  • Change the summary of SNAP-42 to 'Login fails on Safari 17'
  • Reassign PROJ-123 to Alex and bump the priority to High
  • Add a comment to SNAP-88 saying we're waiting on the vendor
  • Set the story points on PROJ-500 to 5

SearchMeetingTranscripts

Searches meeting transcripts by keyword, owner, category, date range, or opportunity ID.

Parameter Type Default Description
search_term string

owner string

category string

date_from string

date_to string

opportunity_id string

max_results string 20