Jira Cloud MCP Server

Jira Cloud MCP Server

Enables AI assistants to manage Jira Cloud projects, issues, sprints, and more through a curated set of 62 tools covering the full lifecycle of stories, epics, bugs, and sprints.

Category
访问服务器

README

Jira Cloud MCP Server

A Model Context Protocol (MCP) server that exposes the Jira Cloud REST API v3 to any MCP-compatible AI assistant. The server exposes a curated set of 62 tools covering the full lifecycle of stories, epics, bugs, and sprints — including search, create/edit/delete, transitions, comments, worklogs, issue links, watchers, bulk operations, changelogs, and more.

Note: The full Jira OpenAPI spec contains 619 operations. Most MCP clients (including Claude Code) enforce a tool limit that prevents registering that many tools. The server therefore uses an allowlist to expose only the most useful operations. You can extend the allowlist in src/jira_mcp/tools.py if needed.


Table of Contents


Prerequisites

  • Python 3.11+
  • uv package manager
  • A Jira Cloud account with API access
  • A Jira API token (see Authentication)

Installation

1. Install uv (if not already installed)

curl -LsSf https://astral.sh/uv/install.sh | sh
source ~/.bashrc   # or restart your terminal

2. Clone the repository

git clone https://github.com/yourorg/jira-mcp.git
cd jira-mcp

3. Install dependencies

uv sync

This creates a virtual environment in .venv/ and installs all required packages automatically.


Configuration

Copy the example environment file and fill in your credentials:

cp .env.example .env

Edit .env:

# Your Jira Cloud instance URL (no trailing slash)
JIRA_BASE_URL=https://yourcompany.atlassian.net

# Email address associated with your Jira account
JIRA_EMAIL=you@example.com

# Jira API token
# Generate one at: https://id.atlassian.com/manage-profile/security/api-tokens
JIRA_API_TOKEN=your_api_token_here

# Optional: max tool calls per second (default: 10)
# JIRA_MCP_RATE_LIMIT=10

Generating a Jira API Token

  1. Log in to Atlassian Account Settings
  2. Click Create API token
  3. Give it a label (e.g. jira-mcp)
  4. Copy the token and paste it into .env

Security note: Never commit your .env file. It is already in .gitignore.


Running the Server

The server uses stdio transport (standard input/output), which is the standard for MCP servers used by desktop and CLI tools.

uv run jira-mcp

The server will start and wait for MCP messages on stdin/stdout. You don't run it directly — your AI tool launches it automatically based on your configuration.


Adding to Your AI Tool

Claude Code

Add the server to Claude Code using the claude mcp add command:

claude mcp add jira \
  --env JIRA_BASE_URL=https://yourcompany.atlassian.net \
  --env JIRA_EMAIL=you@example.com \
  --env JIRA_API_TOKEN=your_api_token_here \
  -- uv --directory /absolute/path/to/jira-mcp run jira-mcp

Or add it manually to your Claude Code MCP config file (~/.claude/claude_code_config.json or via claude mcp edit):

{
  "mcpServers": {
    "jira": {
      "command": "uv",
      "args": ["--directory", "/absolute/path/to/jira-mcp", "run", "jira-mcp"],
      "env": {
        "JIRA_BASE_URL": "https://yourcompany.atlassian.net",
        "JIRA_EMAIL": "you@example.com",
        "JIRA_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

Verify it's loaded:

claude mcp list

Claude Desktop

Edit your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "jira": {
      "command": "uv",
      "args": ["--directory", "/absolute/path/to/jira-mcp", "run", "jira-mcp"],
      "env": {
        "JIRA_BASE_URL": "https://yourcompany.atlassian.net",
        "JIRA_EMAIL": "you@example.com",
        "JIRA_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

Restart Claude Desktop after editing the config. You should see a hammer icon in the chat indicating tools are available.


Gemini CLI

Gemini CLI supports MCP servers via its configuration file. Edit ~/.gemini/settings.json:

{
  "mcpServers": {
    "jira": {
      "command": "uv",
      "args": ["--directory", "/absolute/path/to/jira-mcp", "run", "jira-mcp"],
      "env": {
        "JIRA_BASE_URL": "https://yourcompany.atlassian.net",
        "JIRA_EMAIL": "you@example.com",
        "JIRA_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

Restart Gemini CLI after updating the config. You can verify the tools are available by asking:

"What Jira tools do you have access to?"


OpenCode

Edit your OpenCode configuration file (~/.config/opencode/config.json or the project-level .opencode/config.json):

{
  "mcp": {
    "servers": {
      "jira": {
        "type": "local",
        "command": ["uv", "--directory", "/absolute/path/to/jira-mcp", "run", "jira-mcp"],
        "env": {
          "JIRA_BASE_URL": "https://yourcompany.atlassian.net",
          "JIRA_EMAIL": "you@example.com",
          "JIRA_API_TOKEN": "your_api_token_here"
        }
      }
    }
  }
}

GitHub Copilot (VS Code)

VS Code with the GitHub Copilot extension supports MCP servers. Edit your VS Code settings.json:

{
  "github.copilot.chat.mcp.servers": {
    "jira": {
      "command": "uv",
      "args": ["--directory", "/absolute/path/to/jira-mcp", "run", "jira-mcp"],
      "env": {
        "JIRA_BASE_URL": "https://yourcompany.atlassian.net",
        "JIRA_EMAIL": "you@example.com",
        "JIRA_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

After saving, reload VS Code. In Copilot Chat, switch to Agent mode to access the Jira tools.


Tool Allowlist

Most MCP clients enforce a hard limit on the number of tools a server may register. Claude Code, for example, will silently drop the server if it advertises too many tools. Because the Jira OpenAPI spec contains 619 operations, the server filters them down to a practical allowlist defined in src/jira_mcp/tools.py (_ALLOWED_OPERATION_IDS).

Currently enabled tools (62)

Tool name (snake_case) Purpose
search_and_reconsile_issues_using_jql_post Search issues via JQL (POST, supports large queries)
get_issue Retrieve a single issue by key or ID
bulk_fetch_issues Fetch multiple issues by key or ID in one request
create_issue Create a new issue (story, bug, epic, task, etc.)
create_issues Bulk-create multiple issues in one request
edit_issue Update fields on an existing issue
delete_issue Delete an issue
assign_issue Assign or unassign an issue to a user
get_transitions List available workflow transitions for an issue
do_transition Move an issue to a new status via a workflow transition
submit_bulk_edit Edit multiple issues simultaneously
submit_bulk_delete Delete multiple issues at once
submit_bulk_move Move issues between projects
submit_bulk_transition Transition multiple issues to a new status
get_comments List comments on an issue
get_comment Retrieve a single comment
add_comment Add a comment to an issue
update_comment Edit a comment
delete_comment Delete a comment
link_issues Link two issues (blocks, duplicates, relates to, etc.)
get_issue_link Get an issue link by ID
get_issue_link_types List all available link types
delete_issue_link Remove a link between issues
get_remote_issue_links List all remote links on an issue
create_or_update_remote_issue_link Create or update a remote link (e.g. Confluence page)
get_remote_issue_link_by_id Get a specific remote link
delete_remote_issue_link_by_id Delete a remote link by ID
get_issue_worklog List all worklogs on an issue
add_worklog Log time spent on an issue
get_worklog Get a specific worklog entry
update_worklog Update a worklog entry
delete_worklog Delete a worklog entry
get_issue_watchers Get all users watching an issue
add_watcher Add a user as a watcher
remove_watcher Remove a watcher
get_votes Get voters for an issue
add_vote Vote for an issue
remove_vote Remove your vote
get_change_logs Get the full history of changes for an issue
get_change_logs_by_ids Fetch changelogs for specific IDs
get_issue_property Get a custom property value on an issue
set_issue_property Set a custom property on an issue
delete_issue_property Delete an issue property
add_attachment Upload a file attachment to an issue
get_attachment Retrieve attachment metadata
get_all_projects List all visible projects
search_projects Search/filter projects
get_project Retrieve a single project
get_project_versions List all versions (releases) in a project
create_version Create a project version
get_project_components List all components in a project
create_component Create a project component
get_user Retrieve a user by account ID
find_users Find users by display name or email
find_users_assignable_to_issues Find users assignable to a specific issue
find_bulk_assignable_users Find assignable users across multiple projects
get_create_issue_meta Get fields available when creating an issue
get_edit_issue_meta Get fields available when editing an issue
get_fields List all fields (system + custom)
get_issue_types_for_project List issue types available in a project
get_priorities List all issue priorities
get_statuses List all issue statuses
get_all_labels List all labels used across Jira
get_issues_for_sprint List issues in a sprint
get_all_sprints List all sprints for a board
get_board Get a Jira Software board by ID
get_all_boards List all Jira Software boards

Adding more tools

To expose additional Jira API operations, add their operationId (from the OpenAPI spec) to _ALLOWED_OPERATION_IDS in src/jira_mcp/tools.py:

_ALLOWED_OPERATION_IDS: frozenset[str] = frozenset({
    ...
    "getWorkflowTransitionProperties",   # example: expose workflow transition properties
})

Restart the MCP server after any change. Keep the total well below your client's tool limit (Claude Code: ~128 tools).


Functionality Reference

This section documents the full Jira Cloud REST API v3. Operations not in the whitelist are still listed here for reference — add their operationId to _ALLOWED_OPERATION_IDS to enable them.


Issues

The core of Jira — full CRUD and lifecycle management for issues.

Tool Description
get_issue Get a single issue by ID or key, with optional field filtering
create_issue Create a new issue in any project
edit_issue Update issue fields (summary, description, assignee, status, etc.)
delete_issue Permanently delete an issue
assign_issue Assign or unassign an issue to a user
bulk_create_issue Create multiple issues in a single request
bulk_fetch_issues Fetch multiple issues by ID or key
get_create_issue_metadata Get required fields and allowed values for issue creation
get_create_metadata_issue_types_for_a_project Get issue type metadata for a project
get_create_field_metadata_for_a_project_and_issue_type_id Get field metadata for a specific project/issue type
get_edit_issue_metadata Get editable fields and their allowed values for an issue
get_changelogs Get the full history of changes for an issue
get_changelogs_by_i_ds Fetch changelogs for specific IDs
bulk_fetch_changelogs Bulk-fetch changelogs across multiple issues
get_transitions Get available workflow transitions for an issue
transition_issue Move an issue to a new status via a workflow transition
send_notification_for_issue Send an email notification about an issue
get_events Get all Jira event types
archive_issue_s_by_jql Archive issues matching a JQL query
archive_issue_s_by_issue_id_key Archive issues by ID or key
unarchive_issue_s_by_issue_keys_id Unarchive issues
export_archived_issue_s Export archived issues
get_issue_limit_report Get report on issues approaching field limits

Issue Search

Find issues using Jira Query Language (JQL).

Tool Description
search_for_issues_using_jql_enhanced_search Search using JQL with enhanced pagination (GET)
search_for_issues_using_jql_enhanced_search_post Search using JQL with enhanced pagination (POST, for long JQL)
count_issues_using_jql Count total issues matching a JQL filter
check_issues_against_jql Validate whether issues match a JQL query
get_issue_picker_suggestions Autocomplete suggestions for the issue picker

Issue Comments

Tool Description
get_comments List all comments on an issue
add_comment Add a new comment to an issue
get_comment Get a specific comment by ID
update_comment Update the text of an existing comment
delete_comment Delete a comment
get_comments_by_i_ds Fetch multiple comments by their IDs

Issue Worklogs

Tool Description
get_issue_worklogs List all worklogs on an issue
add_worklog Log time spent on an issue
get_worklog Get a specific worklog entry
update_worklog Update a worklog entry
delete_worklog Delete a worklog entry
bulk_delete_worklogs Delete multiple worklogs at once
bulk_move_worklogs Move worklogs to a different issue
get_worklogs Fetch worklogs by their IDs
get_i_ds_of_deleted_worklogs Get IDs of worklogs deleted since a timestamp
get_i_ds_of_updated_worklogs Get IDs of worklogs updated since a timestamp

Issue Attachments

Tool Description
add_attachment Upload a file attachment to an issue
get_attachment_metadata Get metadata for an attachment
delete_attachment Delete an attachment
get_attachment_content Download attachment content
get_attachment_thumbnail Get attachment thumbnail image
get_all_metadata_for_an_expanded_attachment Get archive contents metadata
get_contents_metadata_for_an_expanded_attachment Get individual archive entry metadata
get_jira_attachment_settings Get global attachment settings (size limits, enabled state)

Issue Links

Tool Description
create_issue_link Link two issues together (blocks, duplicates, relates to, etc.)
get_issue_link Get an issue link by ID
delete_issue_link Remove a link between issues

Issue Remote Links

Link issues to external resources (URLs, Confluence pages, etc.).

Tool Description
get_remote_issue_links List all remote links on an issue
create_or_update_remote_issue_link Create or update a remote link
delete_remote_issue_link_by_global_id Delete a remote link by its global ID
get_remote_issue_link_by_id Get a specific remote link
update_remote_issue_link_by_id Update a remote link
delete_remote_issue_link_by_id Delete a remote link by ID

Issue Votes & Watchers

Tool Description
get_votes Get the number of votes and voters for an issue
add_vote Vote for an issue
delete_vote Remove your vote from an issue
get_issue_watchers Get all users watching an issue
add_watcher Add a user as a watcher
delete_watcher Remove a watcher from an issue
get_is_watching_issue_bulk Check if the current user watches multiple issues

Issue Bulk Operations

Tool Description
bulk_edit_issues Edit multiple issues simultaneously
bulk_delete_issues Delete multiple issues at once
bulk_move_issues Move issues between projects
bulk_transition_issue_statuses Transition multiple issues to a new status
bulk_watch_issues Watch multiple issues at once
bulk_unwatch_issues Stop watching multiple issues at once
get_bulk_editable_fields Get fields editable in a bulk operation
get_available_transitions Get available transitions for a bulk move
get_bulk_issue_operation_progress Poll the progress of a running bulk operation

Issue Properties

Key-value metadata attached to issues (for use by apps and integrations).

Tool Description
get_issue_property_keys List all property keys on an issue
get_issue_property Get a single issue property value
set_issue_property Set an issue property
delete_issue_property Delete an issue property
bulk_set_issues_properties_by_list Set a property on multiple issues
bulk_set_issue_properties_by_issue Set multiple properties on a single issue
bulk_set_issue_property Bulk-set a property across many issues
bulk_delete_issue_property Bulk-delete a property from many issues

Projects

Tool Description
get_all_projects List all projects (simple, for dropdowns)
create_project Create a new Jira project
get_projects_paginated Search and page through projects
get_recent_projects Get recently viewed projects
get_project Get a project by ID or key
update_project Update project settings (name, lead, category, etc.)
delete_project Delete a project
archive_project Archive a project
restore_deleted_or_archived_project Restore an archived or deleted project
delete_project_asynchronously Delete a project in the background
get_all_statuses_for_project Get all available statuses for a project
get_project_issue_type_hierarchy Get the issue type hierarchy for a project
get_project_notification_scheme Get the notification scheme assigned to a project

Project Components

Tool Description
create_component Create a project component
get_component Get a component by ID
update_component Update a component
delete_component Delete a component
get_component_issues_count Get count of issues in a component
get_project_components List all components in a project
get_project_components_paginated Page through project components
find_components_for_projects Find components across projects

Project Versions

Manage fix versions and release milestones.

Tool Description
create_version Create a project version (release)
get_version Get a version by ID
update_version Update version details
delete_version Delete a version
get_project_versions List all versions in a project
get_project_versions_paginated Page through project versions
merge_versions Merge two versions
move_version Reorder a version
delete_and_replace_version Delete a version and remap issues to another
get_version_s_related_issues_count Get issue counts by status for a version
get_version_s_unresolved_issues_count Get count of unresolved issues in a version
get_related_work Get related work items linked to a version
create_related_work Add a related work link to a version
update_related_work Update a related work link
delete_related_work Remove a related work link

Project Roles & Actors

Tool Description
get_project_roles_for_project List all roles in a project
get_project_role_for_project Get a specific role in a project
get_all_project_roles List all roles defined globally
create_project_role Create a new project role
get_project_role_by_id Get a project role by ID
fully_update_project_role Fully replace a project role definition
partial_update_project_role Partially update a project role
delete_project_role Delete a project role
get_project_role_details Get role details including actor information
add_actors_to_project_role Add users or groups to a project role
set_actors_for_project_role Replace all actors in a project role
delete_actors_from_project_role Remove actors from a project role
get_default_actors_for_project_role Get default actors for a global role
add_default_actors_to_project_role Add default actors to a global role
delete_default_actors_from_project_role Remove default actors from a global role

Project Properties

Tool Description
get_project_property_keys List property keys for a project
get_project_property Get a project property value
set_project_property Set a project property
delete_project_property Delete a project property

Project Avatars

Tool Description
get_all_project_avatars Get all avatars for a project
load_project_avatar Upload a custom project avatar
set_project_avatar Set the active avatar for a project
delete_project_avatar Delete a custom project avatar

Project Categories

Tool Description
get_all_project_categories List all project categories
create_project_category Create a new project category
get_project_category_by_id Get a category by ID
update_project_category Update a project category
delete_project_category Delete a project category

Project Types

Tool Description
get_all_project_types List all available project types
get_licensed_project_types List project types available for your license
get_project_type_by_key Get a project type by key
get_accessible_project_type_by_key Get an accessible project type by key

Project Templates

Tool Description
create_custom_project Create a project from a custom template
save_a_custom_project_template Save a project configuration as a template
gets_a_custom_project_template Retrieve a saved project template
edit_a_custom_project_template Update a project template
deletes_a_custom_project_template Delete a project template

Project Email & Features

Tool Description
get_project_s_sender_email Get the sender email for a project
set_project_s_sender_email Set the sender email for a project
get_project_features List features enabled on a project
set_project_feature_state Enable or disable a project feature

Project Classification Levels

Tool Description
get_the_classification_configuration_for_a_project Get classification settings for a project
get_the_default_data_classification_level_of_a_project Get the default classification level
update_the_default_data_classification_level_of_a_project Set the default classification level
remove_the_default_data_classification_level_from_a_project Remove the default classification level

Project Permission Schemes

Tool Description
get_assigned_permission_scheme Get the permission scheme assigned to a project
assign_permission_scheme Assign a permission scheme to a project
get_project_issue_security_scheme Get the security scheme for a project
get_project_issue_security_levels Get the security levels available in a project

Workflows

Tool Description
get_all_workflows List all workflows
create_workflow Create a new workflow
get_workflows_paginated Search and page through workflows
delete_inactive_workflow Delete a workflow that is not in use
bulk_get_workflows Fetch multiple workflows by ID
bulk_create_workflows Create multiple workflows in one request
bulk_update_workflows Update multiple workflows at once
validate_create_workflows Validate workflow definitions before creating
validate_update_workflows Validate workflow changes before applying
get_available_workflow_capabilities Get all available workflow rules and conditions
preview_workflow Preview what a workflow will look like
search_workflows Search workflows by name or other criteria
get_projects_using_a_given_workflow List projects using a specific workflow
get_workflow_schemes_which_are_using_a_given_workflow List schemes using a workflow
get_issue_types_in_a_project_that_are_using_a_given_workflow Get issue types linked to a workflow
read_workflow_version_from_history Retrieve a past version of a workflow
list_workflow_history_entries Get the change history of a workflow
get_the_user_s_default_workflow_editor Get the user's preferred workflow editor

Workflow Schemes

Tool Description
get_all_workflow_schemes List all workflow schemes
create_workflow_scheme Create a new workflow scheme
bulk_get_workflow_schemes Fetch multiple workflow schemes by ID
update_workflow_scheme Update a workflow scheme (modern API)
classic_update_workflow_scheme Update a workflow scheme (classic API)
delete_workflow_scheme Delete a workflow scheme
switch_workflow_scheme_for_project Change the active workflow scheme for a project
get_workflow_scheme Get a workflow scheme by ID
get_default_workflow Get the default workflow for a scheme
update_default_workflow Set the default workflow for a scheme
delete_default_workflow Remove the default workflow from a scheme
get_workflow_for_issue_type_in_workflow_scheme Get the workflow assigned to an issue type
set_workflow_for_issue_type_in_workflow_scheme Assign a workflow to an issue type
delete_workflow_for_issue_type_in_workflow_scheme Remove a workflow-to-issue-type mapping
get_issue_types_for_workflows_in_workflow_scheme List issue type-to-workflow mappings
set_issue_types_for_workflow_in_workflow_scheme Set issue type mappings for a workflow
delete_issue_types_for_workflow_in_workflow_scheme Remove issue type mappings from a workflow
get_projects_which_are_using_a_given_workflow_scheme List projects using a workflow scheme
get_required_status_mappings_for_workflow_scheme_update Get required status mappings before updating
get_workflow_scheme_project_associations Get project-to-scheme associations
assign_workflow_scheme_to_project Assign a workflow scheme to a project

Workflow Scheme Drafts

Manage draft versions of workflow schemes before publishing.

Tool Description
create_draft_workflow_scheme Create a draft of a workflow scheme
get_draft_workflow_scheme Get the draft of a workflow scheme
update_draft_workflow_scheme Update the draft
delete_draft_workflow_scheme Discard the draft
publish_draft_workflow_scheme Publish the draft (replaces the live scheme)
get_draft_default_workflow Get the default workflow in the draft
update_draft_default_workflow Change the default workflow in the draft
delete_draft_default_workflow Remove the default workflow from the draft
get_workflow_for_issue_type_in_draft_workflow_scheme Get workflow mapping in draft
set_workflow_for_issue_type_in_draft_workflow_scheme Set workflow mapping in draft
delete_workflow_for_issue_type_in_draft_workflow_scheme Remove mapping from draft
get_issue_types_for_workflows_in_draft_workflow_scheme Get all draft mappings
set_issue_types_for_workflow_in_workflow_scheme_1 Set issue type mappings in draft
delete_issue_types_for_workflow_in_draft_workflow_scheme Delete issue type mappings in draft

Workflow Status Categories

Tool Description
get_all_status_categories List all status categories (To Do, In Progress, Done)
get_status_category Get a status category by ID

Workflow Statuses

Tool Description
get_all_statuses List all issue statuses
get_status Get a specific status by ID

Workflow Transition Rules & Properties

Tool Description
get_workflow_transition_rule_configurations Get validator/condition rules for transitions
update_workflow_transition_rule_configurations Update transition rules
delete_workflow_transition_rule_configurations Remove transition rules
get_workflow_transition_properties Get properties on a workflow transition
create_workflow_transition_property Add a property to a transition
update_workflow_transition_property Update a transition property
delete_workflow_transition_property Remove a transition property

Filters

Save and manage JQL-based issue filters.

Tool Description
create_filter Create a saved filter
get_filter Get a filter by ID
update_filter Update a saved filter
delete_filter Delete a saved filter
search_for_filters Search for filters by name or owner
get_my_filters Get the current user's filters
get_favourite_filters Get the current user's favourite filters
get_columns Get the columns configured for a filter
set_columns Set columns for a filter
reset_columns Reset filter columns to defaults
add_filter_as_favourite Mark a filter as a favourite
remove_filter_as_favourite Remove a filter from favourites
change_filter_owner Transfer ownership of a filter

Filter Sharing

Tool Description
get_share_permissions List who a filter is shared with
add_share_permission Share a filter with a user, group, or project
get_share_permission Get a specific share permission
delete_share_permission Remove a share permission
get_default_share_scope Get the default scope for new filter shares
set_default_share_scope Set the default scope for new filter shares

Dashboards

Tool Description
get_all_dashboards List all dashboards
create_dashboard Create a new dashboard
get_dashboard Get a dashboard by ID
update_dashboard Update dashboard settings
delete_dashboard Delete a dashboard
copy_dashboard Duplicate a dashboard
search_for_dashboards Search dashboards by name
bulk_edit_dashboards Update settings on multiple dashboards
get_gadgets List gadgets on a dashboard
add_gadget_to_dashboard Add a gadget to a dashboard
update_gadget_on_dashboard Update a dashboard gadget
remove_gadget_from_dashboard Remove a gadget from a dashboard
get_available_gadgets List all available gadget types
get_dashboard_item_property_keys Get property keys for a dashboard item
get_dashboard_item_property Get a dashboard item property
set_dashboard_item_property Set a dashboard item property
delete_dashboard_item_property Delete a dashboard item property

Users

Tool Description
get_user Get a user by account ID
create_user Create a new user account
delete_user Delete a user account
bulk_get_users Fetch multiple users by account ID
get_account_i_ds_for_users Look up account IDs for usernames
get_user_default_columns Get default columns for a user
set_user_default_columns Set default issue navigator columns for a user
reset_user_default_columns Reset user columns to defaults
get_user_email Get a user's email address
get_user_email_bulk Get email addresses for multiple users
get_user_groups Get groups a user belongs to
get_all_users List all users (paginated)
get_all_users_default List all users (uses default pagination)

User Search

Tool Description
find_users Find users by display name or email
find_users_assignable_to_projects Find users who can be assigned in specific projects
find_users_assignable_to_issues Find users assignable to a specific issue
find_users_with_permissions Find users who have specific permissions
find_users_with_browse_permission Find users with browse permission on an issue
find_users_for_picker Search users for the user picker UI
find_users_by_query Find users using a structured query
find_user_keys_by_query Find user keys using a query
find_users_and_groups Combined user and group search

User Properties

Tool Description
get_user_property_keys List all property keys for a user
get_user_property Get a user property value
set_user_property Set a user property
delete_user_property Delete a user property

Groups

Tool Description
create_group Create a new group
get_group Get a group by name
delete_group Delete a group
bulk_get_groups Fetch multiple groups by ID
get_users_from_group List members of a group
add_user_to_group Add a user to a group
remove_user_from_group Remove a user from a group
find_groups Search for groups by name

Permissions & Permission Schemes

Tool Description
get_my_permissions Check what permissions the current user has
get_all_permissions List all possible Jira permissions
get_bulk_permissions Check permissions for specific users/projects
get_permitted_projects Get projects where the user has a given permission
get_all_permission_schemes List all permission schemes
create_permission_scheme Create a permission scheme
get_permission_scheme Get a permission scheme by ID
update_permission_scheme Update a permission scheme
delete_permission_scheme Delete a permission scheme
get_permission_scheme_grants List all grants in a permission scheme
create_permission_grant Add a grant to a permission scheme
get_permission_scheme_grant Get a specific grant
delete_permission_scheme_grant Remove a grant from a permission scheme

Issue Types

Tool Description
get_all_issue_types_for_user List all issue types available to the current user
create_issue_type Create a new issue type
get_issue_type Get an issue type by ID
update_issue_type Update an issue type
delete_issue_type Delete an issue type
get_issue_types_for_project List issue types available in a project
get_alternative_issue_types Get issue types the current type can be converted to
load_issue_type_avatar Upload an avatar for an issue type

Issue Type Schemes

Group issue types into schemes assigned to projects.

Tool Description
get_all_issue_type_schemes List all issue type schemes
create_issue_type_scheme Create a new issue type scheme
update_issue_type_scheme Update a scheme
delete_issue_type_scheme Delete a scheme
get_issue_type_scheme_items Get issue types in a scheme
get_issue_type_schemes_for_projects Get schemes for specific projects
assign_issue_type_scheme_to_project Assign a scheme to a project
add_issue_types_to_issue_type_scheme Add issue types to a scheme
change_order_of_issue_types Reorder issue types in a scheme
remove_issue_type_from_issue_type_scheme Remove an issue type from a scheme

Issue Type Screen Schemes

Map issue types to screen schemes.

Tool Description
get_issue_type_screen_schemes List all issue type screen schemes
create_issue_type_screen_scheme Create a new scheme
update_issue_type_screen_scheme Update a scheme
delete_issue_type_screen_scheme Delete a scheme
get_issue_type_screen_scheme_items Get mappings in a scheme
get_issue_type_screen_schemes_for_projects Get schemes for specific projects
assign_issue_type_screen_scheme_to_project Assign a scheme to a project
append_mappings_to_issue_type_screen_scheme Add issue type-to-screen mappings
update_issue_type_screen_scheme_default_screen_scheme Set the default screen scheme
remove_mappings_from_issue_type_screen_scheme Remove issue type mappings
get_issue_type_screen_scheme_projects List projects using a scheme

Issue Priorities

Tool Description
get_priorities List all priorities
create_priority Create a new priority
get_priority Get a priority by ID
update_priority Update a priority
delete_priority Delete a priority
set_default_priority Set the default priority
move_priorities Reorder priorities
search_priorities Search priorities by name

Priority Schemes

Tool Description
get_priority_schemes List all priority schemes
create_priority_scheme Create a priority scheme
update_priority_scheme Update a priority scheme
delete_priority_scheme Delete a priority scheme
get_priorities_by_priority_scheme Get priorities in a scheme
get_available_priorities_by_priority_scheme Get priorities available to add to a scheme
get_projects_by_priority_scheme Get projects using a scheme
suggested_priorities_for_mappings Get suggested priority mappings

Issue Resolutions

Tool Description
get_resolutions List all resolutions
create_resolution Create a new resolution
get_resolution Get a resolution by ID
update_resolution Update a resolution
delete_resolution Delete a resolution
set_default_resolution Set the default resolution
move_resolutions Reorder resolutions
search_resolutions Search resolutions by name

Issue Fields

Tool Description
get_fields List all fields (system + custom)
create_custom_field Create a new custom field
get_fields_paginated Page through fields
get_fields_in_trash_paginated List custom fields in the trash
update_custom_field Update a custom field definition
delete_custom_field Permanently delete a custom field
restore_custom_field_from_trash Restore a trashed custom field
move_custom_field_to_trash Move a custom field to the trash
get_contexts_for_a_field List all contexts for a custom field
get_fields_for_projects Get fields available in specific projects

Issue Field Configurations

Tool Description
get_all_field_configurations List all field configurations
create_field_configuration Create a field configuration
update_field_configuration Update a field configuration
delete_field_configuration Delete a field configuration
get_field_configuration_items Get fields in a configuration
update_field_configuration_items Update field settings within a configuration
get_all_field_configuration_schemes List all field configuration schemes
create_field_configuration_scheme Create a field configuration scheme
update_field_configuration_scheme Update a scheme
delete_field_configuration_scheme Delete a scheme
get_field_configuration_issue_type_items Get issue type-to-field config mappings
get_field_configuration_schemes_for_projects Get schemes for specific projects
assign_field_configuration_scheme_to_project Assign a scheme to a project
assign_issue_types_to_field_configurations Map issue types to field configurations
remove_issue_types_from_field_configuration_scheme Remove issue type mappings

Field Schemes

Tool Description
get_field_schemes List all field schemes
create_field_scheme Create a field scheme
get_field_scheme Get a field scheme by ID
update_field_scheme Update a field scheme
delete_a_field_scheme Delete a field scheme
clone_field_scheme Clone an existing field scheme
get_projects_with_field_schemes Get projects using a field scheme
associate_projects_to_field_schemes Associate projects with a field scheme
search_field_scheme_fields Search for fields in a scheme
get_field_parameters Get parameters for a field in a scheme
update_field_parameters Update field parameters
remove_field_parameters Remove field parameters
search_field_scheme_projects Search projects in a field scheme
get_fields_associated_with_field_schemes Get fields associated with a scheme
remove_fields_associated_with_field_schemes Remove field associations

Issue Custom Field Contexts

Tool Description
get_custom_field_contexts List all contexts for a custom field
create_custom_field_context Create a context for a custom field
update_custom_field_context Update a context
delete_custom_field_context Delete a context
get_custom_field_contexts_default_values Get default values for contexts
set_custom_field_contexts_default_values Set default values for contexts
get_issue_types_for_custom_field_context Get issue type-context mappings
get_custom_field_contexts_for_projects_and_issue_types Get contexts by project/issue type
get_project_mappings_for_custom_field_context Get project mappings for a context
add_issue_types_to_context Add issue types to a context
remove_issue_types_from_context Remove issue types from a context
assign_custom_field_context_to_projects Assign a context to projects
remove_custom_field_context_from_projects Remove a context from projects

Issue Custom Field Options

Tool Description
get_custom_field_option Get a specific custom field option
get_custom_field_options_context List options for a custom field context
create_custom_field_options_context Create new options
update_custom_field_options_context Update existing options
reorder_custom_field_options_context Reorder options
delete_custom_field_options_context Delete options
replace_custom_field_options Replace one option with another across issues

Issue Custom Field Values

Tool Description
update_custom_fields Update custom field values on issues (POST)
update_custom_field_value Update a custom field value (PUT)
update_multiple_custom_field_values Bulk update multiple custom field values

Issue Custom Field Configurations (Apps)

For Forge/Connect apps that manage custom field configurations.

Tool Description
get_custom_fields_configurations Bulk get custom field configurations
get_custom_field_configuration Get configurations for a specific field
update_custom_field_configuration Update custom field configurations

Issue Custom Field Options (Apps)

For Forge/Connect apps managing select field options.

Tool Description
get_all_issue_field_options List all options for an app-managed field
create_issue_field_option Create a new field option
get_issue_field_option Get a specific field option
update_issue_field_option Update a field option
delete_issue_field_option Delete a field option
replace_issue_field_option Replace one option with another
get_selectable_issue_field_options Get options visible in the issue create screen
get_visible_issue_field_options Get options visible to the current user

Issue Custom Field Associations

Tool Description
create_associations Associate custom fields with contexts
remove_associations Remove custom field associations

Screens

Tool Description
get_screens List all screens
create_screen Create a new screen
update_screen Update a screen
delete_screen Delete a screen
get_screens_for_a_field Get screens where a field appears
add_field_to_default_screen Add a field to the default screen
get_available_screen_fields Get fields available to add to a screen

Screen Tabs & Fields

Tool Description
get_all_screen_tabs List all tabs on a screen
create_screen_tab Create a screen tab
update_screen_tab Update a screen tab
delete_screen_tab Delete a screen tab
move_screen_tab Reorder screen tabs
get_bulk_screen_tabs Get tabs across multiple screens
get_all_screen_tab_fields List fields on a screen tab
add_screen_tab_field Add a field to a screen tab
remove_screen_tab_field Remove a field from a screen tab
move_screen_tab_field Reorder fields within a screen tab

Screen Schemes

Tool Description
get_screen_schemes List all screen schemes
create_screen_scheme Create a screen scheme
update_screen_scheme Update a screen scheme
delete_screen_scheme Delete a screen scheme

Status

Tool Description
bulk_get_statuses Fetch multiple statuses by ID
bulk_create_statuses Create multiple statuses at once
bulk_update_statuses Update multiple statuses
bulk_delete_statuses Delete multiple statuses
bulk_get_statuses_by_name Fetch statuses by name
search_statuses_paginated Search and page through statuses
get_issue_type_usages_by_status_and_project Find issue types using a status
get_project_usages_by_status Find projects using a status
get_workflow_usages_by_status Find workflows using a status

JQL

Tool Description
get_field_reference_data Get field metadata for JQL autocompletion (GET)
get_field_reference_data_post Get field metadata for JQL autocompletion (POST)
get_field_auto_complete_suggestions Get autocomplete suggestions for JQL fields
parse_jql_query Parse and validate a JQL query
convert_user_identifiers_to_account_i_ds_in_jql_queries Convert legacy usernames to account IDs
sanitize_jql_queries Sanitize JQL queries for safe execution

Jira Expressions

Tool Description
analyse_jira_expression Analyse and validate a Jira expression
evaluate_jira_expression_using_enhanced_search_api Evaluate a Jira expression

Avatars

Tool Description
get_system_avatars_by_type Get system-provided avatars (user, project, etc.)
get_avatars Get avatars for a specific entity
load_avatar Upload a new avatar
delete_avatar Delete an avatar
get_avatar_image_by_type Get a system avatar image
get_avatar_image_by_id Get an avatar image by ID
get_avatar_image_by_owner Get the avatar image for an entity

Audit Records

Tool Description
get_audit_records Get the Jira audit log with filtering by date and keyword

Webhooks

Tool Description
get_dynamic_webhooks_for_app List all dynamic webhooks for the app
register_dynamic_webhooks Register new webhooks
delete_webhooks_by_id Delete webhooks by ID
get_failed_webhooks Get webhooks that failed to deliver
extend_webhook_life Extend the expiry of registered webhooks

Myself

Tools for the currently authenticated user.

Tool Description
get_current_user Get the current user's profile
get_preference Get a user preference setting
set_preference Set a user preference
delete_preference Delete a user preference
get_locale Get the current user's locale
set_locale Set the current user's locale

Server Info & Jira Settings

Tool Description
get_jira_instance_info Get the Jira instance version and server time
get_application_property Get an application property
get_advanced_settings Get all advanced configuration properties
set_application_property Update an application property
get_global_settings Get global Jira settings

Time Tracking

Tool Description
get_all_time_tracking_providers List all available time tracking providers
get_selected_time_tracking_provider Get the currently active provider
select_time_tracking_provider Switch the active time tracking provider
get_time_tracking_settings Get time tracking format settings
set_time_tracking_settings Update time tracking format settings

Labels

Tool Description
get_all_labels List all labels used across Jira

Plans & Teams in Plan

For Jira Advanced Planning (formerly Portfolio).

Tool Description
get_plans_paginated List all plans
create_plan Create a new plan
get_plan Get a plan by ID
update_plan Update a plan
archive_plan Archive a plan
duplicate_plan Duplicate a plan
trash_plan Move a plan to the trash
get_teams_in_plan_paginated List all teams in a plan
add_atlassian_team_to_plan Add an Atlassian team to a plan
get_atlassian_team_in_plan Get a team in a plan
update_atlassian_team_in_plan Update a team in a plan
remove_atlassian_team_from_plan Remove a team from a plan
create_plan_only_team Create a team that only exists in a plan
get_plan_only_team Get a plan-only team
update_plan_only_team Update a plan-only team
delete_plan_only_team Delete a plan-only team

License Metrics

Tool Description
get_license Get license information
get_approximate_license_count Get approximate total user count
get_approximate_application_license_count Get user count per application

Issue Security Schemes & Levels

Tool Description
get_issue_security_schemes List all issue security schemes
create_issue_security_scheme Create a security scheme
get_issue_security_scheme Get a scheme by ID
update_issue_security_scheme Update a security scheme
delete_issue_security_scheme Delete a security scheme
get_issue_security_levels List all security levels in a scheme
set_default_issue_security_levels Set default security levels
add_issue_security_levels Add security levels to a scheme
update_issue_security_level Update a security level
remove_issue_security_level Remove a security level
get_issue_security_level_members Get members of a security level
add_issue_security_level_members Add members to a security level
remove_member_from_issue_security_level Remove a member from a security level
search_issue_security_schemes Search security schemes
get_projects_using_issue_security_schemes Get projects using a security scheme
associate_security_scheme_to_project Assign a security scheme to a project
get_issue_security_level_members_by_issue_security_scheme Get members by scheme
get_issue_security_level Get a specific security level

Issue Notification Schemes

Tool Description
get_notification_schemes_paginated List all notification schemes
create_notification_scheme Create a notification scheme
get_notification_scheme Get a scheme by ID
update_notification_scheme Update a notification scheme
delete_notification_scheme Delete a notification scheme
add_notifications_to_notification_scheme Add notification rules to a scheme
remove_notification_from_notification_scheme Remove a notification rule
get_projects_using_notification_schemes_paginated Get projects using a scheme

Issue Link Types

Tool Description
get_issue_link_types List all issue link types (blocks, clones, etc.)
create_issue_link_type Create a new link type
get_issue_link_type Get a link type by ID
update_issue_link_type Update a link type
delete_issue_link_type Delete a link type

Issue Navigator Settings

Tool Description
get_issue_navigator_default_columns Get the default columns for the issue navigator
set_issue_navigator_default_columns Set the default columns

Application Roles

Tool Description
get_all_application_roles List all application roles
get_application_role Get a specific application role by key

Announcement Banner

Tool Description
get_banner Get the current announcement banner configuration
set_banner Update the announcement banner

Tasks

Long-running background tasks in Jira.

Tool Description
get_task Get the status and result of a background task
cancel_task Cancel a running background task

App Properties & Dynamic Modules

Tool Description
get_app_properties List all properties for an app
get_app_property Get a specific app property
set_app_property Set an app property
delete_app_property Delete an app property
get_modules List dynamically registered modules
register_modules Register new dynamic modules
remove_modules Remove dynamic modules

Classification Levels

Tool Description
get_all_classification_levels Get all data classification levels defined for the workspace

Authentication

This server uses HTTP Basic Authentication with your Jira email address and a Jira API token. Credentials are transmitted securely over HTTPS.

Env Variable Required Description
JIRA_BASE_URL Yes Your Jira Cloud URL, e.g. https://yourcompany.atlassian.net
JIRA_EMAIL Yes The email address of your Jira account
JIRA_API_TOKEN Yes An API token generated in your Atlassian account settings
JIRA_MCP_RATE_LIMIT No Max tool calls per second (default: 10)

To generate an API token:

  1. Go to https://id.atlassian.com/manage-profile/security/api-tokens
  2. Click Create API token
  3. Copy the token value and add it to your .env file

Your Jira permissions determine what each tool can access. The server will return Jira's native 403 Forbidden or 404 Not Found errors if you lack the necessary permissions for a given operation.


Security

This server is fully compliant with the MCP specification security requirements:

  • Input validation — all tool arguments are validated against their JSON Schema before execution (via jsonschema.validate before dispatching to the Jira API).
  • Rate limiting — a token-bucket rate limiter (default: 10 calls/sec) protects against runaway tool invocations. Tune with JIRA_MCP_RATE_LIMIT.
  • Output sanitization — every Jira API response is recursively scanned before being returned. Values for sensitive keys (password, token, secret, apikey, authorization, credential, etc.) are replaced with [REDACTED]. Strings longer than 10,000 characters are truncated.
  • Structured output validation — tools that have a defined response schema (outputSchema) have their structured results validated by the SDK before they reach the client.
  • Credentials never logged — authentication details are read from environment variables at startup and never written to logs or stdout.
  • Error isolation — tool execution errors (HTTP failures, invalid inputs) are returned as isError: true results, not as protocol-level JSON-RPC errors, so the client always receives a clean, usable response.

Troubleshooting

Server does not start

  • Ensure uv is installed: ~/.local/bin/uv --version
  • Ensure dependencies are installed: ~/.local/bin/uv sync
  • Check that your .env file exists and has all three required variables

Authentication errors (401 Unauthorized)

  • Verify JIRA_EMAIL matches the email on your Atlassian account exactly
  • Ensure the API token is valid and hasn't been revoked
  • Confirm JIRA_BASE_URL has no trailing slash

403 Forbidden on operations

  • Your Jira account may lack the required permissions
  • Contact your Jira administrator to grant the necessary access

404 Not Found

  • Check that the issue key, project key, or ID you are using is correct
  • Ensure you are pointing at the right Jira instance (JIRA_BASE_URL)

Tool not found / server not listed in AI tool

  • Confirm the --directory path in your MCP config points to the correct location
  • Restart your AI tool after updating the MCP configuration
  • On Claude Code, run claude mcp list to verify the server is registered

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选