Skip to main content
Glama
MSPbotsAI

jiradatacenter-mcp

by MSPbotsAI

jiradatacenter-mcp

MCP server for Jira Data Center / Server (self-hosted Jira, REST API v2) — exposes core work-item project-management operations (platform + Agile) as MCP tools.

Overview

  • Stateless HTTP service. No credentials are ever persisted — each request supplies its own site URL and Basic Auth credentials via headers, used only for the lifetime of that single request.

  • Supports concurrent requests; per-request credential isolation is done via Python contextvars, not a global/shared client instance.

  • Entry points: POST /mcp (MCP protocol) and GET /health (health check).

  • Default port: 8080 (configurable via MCP_HTTP_PORT).

Related MCP server: Work Integrations MCP

Scope

214 tools across 34 categories, covering the platform REST API (/rest/api/2/...) plus the Agile REST API (/rest/agile/1.0/..., board/sprint/epic).

MSPbots' own stored integration config for this vendor is a pre-generic-framework (legacy) integration — all 17 of its configured endpoints return an entirely empty apiConfig (method: None, url: None, params: [], headers: [], migrationStatus: "0"), because the real endpoint logic lives in backend Java code, not the generic config API. So MSPbots' 17 endpoint names were used only as a guide to which resource categories matter (issue, project, comment, worklog, board, sprint, etc.); actual paths/params/methods were sourced entirely from Atlassian's own official documentation:

  • Platform API (180 ops kept): parsed from Atlassian's official machine-readable WADL spec for Jira 9.4.0 (https://docs.atlassian.com/software/jira/docs/api/REST/9.4.0/jira-rest-plugin.wadl, 387 total operations), filtered down to core work-item/project-management categories per explicit user scope decision — full coverage for issue, version, filter, component, comment, worklog, issueLink(Type), priority, resolution, status(category), search/jql, field(s), myself, mypreferences, mypermissions/permissions, securitylevel, groups, groupuserpicker, projectCategory, projectvalidate, customField(Option)s, serverInfo; partial coverage (a curated operation allowlist) for issuetype, project, user, role, group, dashboard — excluding admin/scheme/system-level operations (workflow scheme, permission scheme, avatar, reindex, plugin management, etc.) as out of scope.

  • Agile API (34 ops): manually curated from Atlassian's HTML docs at https://docs.atlassian.com/jira-software/REST/9.4.0/ — no WADL is published for this API. Query parameter names for list endpoints follow the documented pagination convention (startAt/maxResults) plus the well-documented issue-search filters (jql/validateQuery/fields/ expand) used consistently across board/epic/sprint "issues for X" endpoints.

Authentication

Jira Data Center/Server uses HTTP Basic Authentication (Authorization: Basic base64(username:password)) — confirmed against the credentials MSPbots stores for this integration (its token field is literally base64(username:password), not a separate secret). This server builds that header itself from the raw username/password on every request; the site's base URL is also per-tenant (each MSPbots tenant may point at a different Jira instance), so it is supplied as a header too, not a fixed environment variable.

HEADER 授权参数说明

Header

类型

是否必填

默认值

枚举值

字段描述

Example

X-Jira-Site

string

Jira 实例地址(域名或完整 URL,缺省协议时自动补全为 https://)

jira.example.com

X-Jira-Username

string

Basic Auth 用户名

api_user

X-Jira-Password

string

Basic Auth 密码

Sample_Passw0rd!

Missing any header returns 401:

{
  "error": "Missing credentials",
  "message": "This server requires the X-Jira-Site, X-Jira-Username and X-Jira-Password headers",
  "required_headers": ["X-Jira-Site", "X-Jira-Username", "X-Jira-Password"],
  "optional_headers": []
}

Environment Variables

Variable

类型

是否必填

默认值

说明

MCP_HTTP_PORT

int

8080

HTTP 监听端口

MCP_HTTP_HOST

string

0.0.0.0

HTTP 监听地址

MCP Endpoint

  • POST /mcp — MCP protocol (streamable HTTP transport)

  • GET /health — health check, returns {"status": "ok", "service": "jiradatacenter-mcp", "transport": "http"}

Tool List

Tool names are jira_<category>_<operationId>, derived from the WADL <method id="..."> / manually-curated Agile operation_id. body parameters are accepted as a generic dict — see the Jira Server REST API reference (linked below) for each resource's exact JSON schema.

Category

Tool

功能

方法+路径

参数

agile

jira_agile_create_board

Create board.

POST /rest/agile/1.0/board

body(必填)

agile

jira_agile_create_sprint

Create sprint.

POST /rest/agile/1.0/sprint

body(必填)

agile

jira_agile_delete_board

Delete board.

DELETE /rest/agile/1.0/board/{boardId}

board_id(必填)

agile

jira_agile_delete_sprint

Delete sprint.

DELETE /rest/agile/1.0/sprint/{sprintId}

sprint_id(必填)

agile

jira_agile_estimate_issue_for_board

Estimate issue for board.

PUT /rest/agile/1.0/issue/{issueIdOrKey}/estimation

issue_id_or_key(必填), board_id(必填), body(必填)

agile

jira_agile_get_all_boards

Get all boards.

GET /rest/agile/1.0/board

start_at(可选), max_results(可选), type(可选), name(可选), project_key_or_id(可选)

agile

jira_agile_get_all_sprints_for_board

Get all sprints for a board.

GET /rest/agile/1.0/board/{boardId}/sprint

board_id(必填), start_at(可选), max_results(可选), state(可选)

agile

jira_agile_get_all_versions_for_board

Get all versions for a board.

GET /rest/agile/1.0/board/{boardId}/version

board_id(必填), start_at(可选), max_results(可选), released(可选)

agile

jira_agile_get_board

Get board.

GET /rest/agile/1.0/board/{boardId}

board_id(必填)

agile

jira_agile_get_configuration

Get board configuration.

GET /rest/agile/1.0/board/{boardId}/configuration

board_id(必填)

agile

jira_agile_get_epic

Get epic.

GET /rest/agile/1.0/epic/{epicIdOrKey}

epic_id_or_key(必填)

agile

jira_agile_get_epics

Get epics.

GET /rest/agile/1.0/board/{boardId}/epic

board_id(必填), start_at(可选), max_results(可选), done(可选)

agile

jira_agile_get_issue_agile

Get issue (Agile view).

GET /rest/agile/1.0/issue/{issueIdOrKey}

issue_id_or_key(必填)

agile

jira_agile_get_issue_estimation_for_board

Get issue estimation for board.

GET /rest/agile/1.0/issue/{issueIdOrKey}/estimation

issue_id_or_key(必填), board_id(必填)

agile

jira_agile_get_issues_for_backlog

Get issues for backlog.

GET /rest/agile/1.0/board/{boardId}/backlog

board_id(必填), start_at(可选), max_results(可选), jql(可选), validate_query(可选), fields(可选), expand(可选)

agile

jira_agile_get_issues_for_board

Get issues for board.

GET /rest/agile/1.0/board/{boardId}/issue

board_id(必填), start_at(可选), max_results(可选), jql(可选), validate_query(可选), fields(可选), expand(可选)

agile

jira_agile_get_issues_for_board_epic

Get issues for epic (within a board).

GET /rest/agile/1.0/board/{boardId}/epic/{epicId}/issue

board_id(必填), epic_id(必填), start_at(可选), max_results(可选), jql(可选), validate_query(可选), fields(可选), expand(可选)

agile

jira_agile_get_issues_for_epic

Get issues for epic.

GET /rest/agile/1.0/epic/{epicIdOrKey}/issue

epic_id_or_key(必填), start_at(可选), max_results(可选), jql(可选), validate_query(可选), fields(可选), expand(可选)

agile

jira_agile_get_issues_for_sprint

Get issues for sprint.

GET /rest/agile/1.0/sprint/{sprintId}/issue

sprint_id(必填), start_at(可选), max_results(可选), jql(可选), validate_query(可选), fields(可选), expand(可选)

agile

jira_agile_get_issues_for_sprint_on_board

Get issues for a sprint (within a board).

GET /rest/agile/1.0/board/{boardId}/sprint/{sprintId}/issue

board_id(必填), sprint_id(必填), start_at(可选), max_results(可选), jql(可选), validate_query(可选), fields(可选), expand(可选)

agile

jira_agile_get_issues_without_epic

Get issues without epic.

GET /rest/agile/1.0/epic/none/issue

start_at(可选), max_results(可选), jql(可选), validate_query(可选), fields(可选), expand(可选)

agile

jira_agile_get_issues_without_epic_for_board

Get issues without epic (within a board).

GET /rest/agile/1.0/board/{boardId}/epic/none/issue

board_id(必填), start_at(可选), max_results(可选), jql(可选), validate_query(可选), fields(可选), expand(可选)

agile

jira_agile_get_projects_for_board

Get projects associated with a board.

GET /rest/agile/1.0/board/{boardId}/project

board_id(必填), start_at(可选), max_results(可选)

agile

jira_agile_get_sprint

Get sprint.

GET /rest/agile/1.0/sprint/{sprintId}

sprint_id(必填)

agile

jira_agile_move_issues_to_backlog

Move issues to backlog.

POST /rest/agile/1.0/backlog/issue

body(必填)

agile

jira_agile_move_issues_to_epic

Move issues to epic.

POST /rest/agile/1.0/epic/{epicIdOrKey}/issue

epic_id_or_key(必填), body(必填)

agile

jira_agile_move_issues_to_sprint

Move issues to sprint.

POST /rest/agile/1.0/sprint/{sprintId}/issue

sprint_id(必填), body(必填)

agile

jira_agile_partially_update_epic

Partially update epic (Agile-specific fields only — use the platform issue API for other fields).

POST /rest/agile/1.0/epic/{epicIdOrKey}

epic_id_or_key(必填), body(必填)

agile

jira_agile_partially_update_sprint

Partially update sprint.

POST /rest/agile/1.0/sprint/{sprintId}

sprint_id(必填), body(必填)

agile

jira_agile_rank_epics

Rank epics.

PUT /rest/agile/1.0/epic/{epicIdOrKey}/rank

epic_id_or_key(必填), body(必填)

agile

jira_agile_rank_issues

Rank issues.

PUT /rest/agile/1.0/issue/rank

body(必填)

agile

jira_agile_remove_issues_from_epic

Remove issues from epic.

POST /rest/agile/1.0/epic/none/issue

body(必填)

agile

jira_agile_swap_sprint

Swap sprint.

POST /rest/agile/1.0/sprint/{sprintId}/swap

sprint_id(必填), body(必填)

agile

jira_agile_update_sprint

Update sprint (full).

PUT /rest/agile/1.0/sprint/{sprintId}

sprint_id(必填), body(必填)

attachment

jira_attachment_expand_for_humans

Tries to expand an attachment. Output is human-readable and subject to change.

GET /rest/api/2/attachment/{id}/expand/human

id(必填)

attachment

jira_attachment_expand_for_machines

Tries to expand an attachment. Output is raw and should be backwards-compatible through the course of time.

GET /rest/api/2/attachment/{id}/expand/raw

id(必填)

attachment

jira_attachment_get_attachment

Returns the meta-data for an attachment, including the URI of the actual attached file.

GET /rest/api/2/attachment/{id}

id(必填)

attachment

jira_attachment_get_attachment_meta

Returns the meta information for an attachments, specifically if they are enabled and the maximum upload size.

GET /rest/api/2/attachment/meta

attachment

jira_attachment_remove_attachment

Remove an attachment from an issue.

DELETE /rest/api/2/attachment/{id}

id(必填)

comment

jira_comment_delete_property

Removes the property from the comment identified by the key or by the id. Ths user removing the property is required.

DELETE /rest/api/2/comment/{commentId}/properties/{propertyKey}

comment_id(必填), property_key(必填)

comment

jira_comment_get_properties_keys

Returns the keys of all properties for the comment identified by the key or by the id.

GET /rest/api/2/comment/{commentId}/properties

comment_id(必填)

comment

jira_comment_get_property

Returns the value of the property with a given key from the comment identified by the key or by the id. The user who retrieves.

GET /rest/api/2/comment/{commentId}/properties/{propertyKey}

comment_id(必填), property_key(必填)

comment

jira_comment_set_property

Sets the value of the specified comment's property.

PUT /rest/api/2/comment/{commentId}/properties/{propertyKey}

comment_id(必填), property_key(必填), body(必填)

component

jira_component_create_component

Create a component via POST.

POST /rest/api/2/component

body(必填)

component

jira_component_delete

Delete a project component.

DELETE /rest/api/2/component/{id}

id(必填), move_issues_to(可选)

component

jira_component_get_component

Returns a project component.

GET /rest/api/2/component/{id}

id(必填)

component

jira_component_get_component_related_issues

Returns counts of issues related to this component.

GET /rest/api/2/component/{id}/relatedIssueCounts

id(必填)

component

jira_component_get_paginated_components

Returns paginated list of filtered active components.

GET /rest/api/2/component/page

start_at(可选), max_results(可选), query(可选), project_ids(可选)

component

jira_component_update_component

Modify a component via PUT. Any fields present in the PUT will override existing values. As a convenience, if a field.

PUT /rest/api/2/component/{id}

id(必填), body(必填)

customfieldoption

jira_customFieldOption_get_custom_field_option

Returns a full representation of the Custom Field Option that has the given id.

GET /rest/api/2/customFieldOption/{id}

id(必填)

customfields

jira_customFields_bulk_delete_custom_fields

bulkDeleteCustomFields.

DELETE /rest/api/2/customFields

ids(可选)

customfields

jira_customFields_get_custom_field_options

Returns custom field's options defined in a given context composed of projects and issue types.

GET /rest/api/2/customFields/{customFieldId}/options

custom_field_id(必填), project_ids(可选), issue_type_ids(可选), query(可选), max_results(可选)

customfields

jira_customFields_get_custom_fields

getCustomFields.

GET /rest/api/2/customFields

start_at(可选), max_results(可选), search(可选), project_ids(可选), screen_ids(可选), types(可选), sort_order(可选), sort_column(可选), last_value_update(可选)

dashboard

jira_dashboard_get_dashboard

Returns a single dashboard.

GET /rest/api/2/dashboard/{id}

id(必填)

dashboard

jira_dashboard_list

Returns a list of all dashboards, optionally filtering them.

GET /rest/api/2/dashboard

filter(可选), start_at(可选), max_results(可选)

field

jira_field_create_custom_field

Creates a custom field using a definition (object encapsulating custom field data).

POST /rest/api/2/field

body(必填)

field

jira_field_get_fields

Returns a list of all fields, both System and Custom.

GET /rest/api/2/field

filter

jira_filter_add_share_permission

Adds a share permissions to the given filter. Adding a global permission removes all previous permissions from the filter.

POST /rest/api/2/filter/{id}/permission

id(必填), body(必填)

filter

jira_filter_create_filter

Creates a new filter, and returns newly created filter.

POST /rest/api/2/filter

body(必填), expand(可选)

filter

jira_filter_default_columns

Returns the default columns for the given filter. Currently logged in user will be used as.

GET /rest/api/2/filter/{id}/columns

id(必填)

filter

jira_filter_delete_filter

Delete a filter.

DELETE /rest/api/2/filter/{id}

id(必填)

filter

jira_filter_delete_share_permission

Removes a share permissions from the given filter.

DELETE /rest/api/2/filter/{id}/permission/{permission-id}

id(必填), permission_id(必填)

filter

jira_filter_edit_filter

Updates an existing filter, and returns its new value.

PUT /rest/api/2/filter/{id}

id(必填), body(必填), expand(可选)

filter

jira_filter_get_default_share_scope

Returns the default share scope of the logged-in user.

GET /rest/api/2/filter/defaultShareScope

filter

jira_filter_get_favourite_filters

Returns the favourite filters of the logged-in user.

GET /rest/api/2/filter/favourite

expand(可选)

filter

jira_filter_get_filter

Returns a filter given an id.

GET /rest/api/2/filter/{id}

id(必填), expand(可选)

filter

jira_filter_get_share_permission

Returns a single share permission of the given filter.

GET /rest/api/2/filter/{id}/permission/{permissionId}

permission_id(必填), id(必填)

filter

jira_filter_get_share_permissions

Returns all share permissions of the given filter.

GET /rest/api/2/filter/{id}/permission

id(必填)

filter

jira_filter_reset_columns

Resets the columns for the given filter such that the filter no longer has its own column config.

DELETE /rest/api/2/filter/{id}/columns

id(必填)

filter

jira_filter_set_columns

Sets the default columns for the given filter.

PUT /rest/api/2/filter/{id}/columns

id(必填), body(必填)

filter

jira_filter_set_default_share_scope

Sets the default share scope of the logged-in user.

PUT /rest/api/2/filter/defaultShareScope

body(必填)

group

jira_group_get_group

Returns REST representation for the requested group. Allows to get list of active users belonging to the.

GET /rest/api/2/group

groupname(可选), expand(可选)

group

jira_group_get_users_from_group

This resource returns a paginated list of users who are members of the specified group and its subgroups.

GET /rest/api/2/group/member

groupname(可选), include_inactive_users(可选), start_at(可选), max_results(可选)

groups

jira_groups_find_groups

Returns groups with substrings matching a given query. This is mainly for use with.

GET /rest/api/2/groups/picker

query(可选), exclude(可选), max_results(可选), user_name(可选)

groupuserpicker

jira_groupuserpicker_find_users_and_groups

Returns a list of users and groups matching query with highlighting. This resource cannot be accessed.

GET /rest/api/2/groupuserpicker

query(可选), max_results(可选), show_avatar(可选), field_id(可选), project_id(可选), issue_type_id(可选)

issue

jira_issue_add_attachment

Add one or more attachments to an issue.

POST /rest/api/2/issue/{issueIdOrKey}/attachments

issue_id_or_key(必填), body(必填)

issue

jira_issue_add_comment

Adds a new comment to an issue.

POST /rest/api/2/issue/{issueIdOrKey}/comment

issue_id_or_key(必填), body(必填), expand(可选)

issue

jira_issue_add_vote

Cast your vote in favour of an issue.

POST /rest/api/2/issue/{issueIdOrKey}/votes

issue_id_or_key(必填), body(必填)

issue

jira_issue_add_watcher

Adds a user to an issue's watcher list.

POST /rest/api/2/issue/{issueIdOrKey}/watchers

issue_id_or_key(必填), body(必填)

issue

jira_issue_add_worklog

Adds a new worklog entry to an issue.

POST /rest/api/2/issue/{issueIdOrKey}/worklog

issue_id_or_key(必填), body(必填), adjust_estimate(可选), new_estimate(可选), reduce_by(可选)

issue

jira_issue_archive_issue

Archives an issue.

PUT /rest/api/2/issue/{issueIdOrKey}/archive

issue_id_or_key(必填), body(必填), notify_users(可选)

issue

jira_issue_archive_issues

Archives a list of issues.

POST /rest/api/2/issue/archive

body(必填), notify_users(可选)

issue

jira_issue_assign

Assigns an issue to a user.

PUT /rest/api/2/issue/{issueIdOrKey}/assignee

issue_id_or_key(必填), body(必填)

issue

jira_issue_can_move_sub_task

canMoveSubTask.

GET /rest/api/2/issue/{issueIdOrKey}/subtask/move

issue_id_or_key(必填)

issue

jira_issue_create_issue

Creates an issue or a sub-task from a JSON representation.

POST /rest/api/2/issue

body(必填), update_history(可选)

issue

jira_issue_create_issues

Creates issues or sub-tasks from a JSON representation.

POST /rest/api/2/issue/bulk

body(必填)

issue

jira_issue_create_or_update_remote_issue_link

Creates or updates a remote issue link from a JSON representation. If a globalId is provided and a remote issue link.

POST /rest/api/2/issue/{issueIdOrKey}/remotelink

issue_id_or_key(必填), body(必填)

issue

jira_issue_delete_comment

Deletes an existing comment .

DELETE /rest/api/2/issue/{issueIdOrKey}/comment/{id}

issue_id_or_key(必填), id(必填)

issue

jira_issue_delete_issue

Delete an issue.

DELETE /rest/api/2/issue/{issueIdOrKey}

issue_id_or_key(必填), delete_subtasks(可选)

issue

jira_issue_delete_property

Removes the property from the issue identified by the key or by the id. Ths user removing the property is required.

DELETE /rest/api/2/issue/{issueIdOrKey}/properties/{propertyKey}

issue_id_or_key(必填), property_key(必填)

issue

jira_issue_delete_remote_issue_link_by_global_id

Delete the remote issue link with the given global id on the issue.

DELETE /rest/api/2/issue/{issueIdOrKey}/remotelink

issue_id_or_key(必填), global_id(可选)

issue

jira_issue_delete_remote_issue_link_by_id

Delete the remote issue link with the given id on the issue.

DELETE /rest/api/2/issue/{issueIdOrKey}/remotelink/{linkId}

link_id(必填), issue_id_or_key(必填)

issue

jira_issue_delete_worklog

Deletes an existing worklog entry.

DELETE /rest/api/2/issue/{issueIdOrKey}/worklog/{id}

issue_id_or_key(必填), id(必填), adjust_estimate(可选), new_estimate(可选), increase_by(可选)

issue

jira_issue_do_transition

Perform a transition on an issue.

POST /rest/api/2/issue/{issueIdOrKey}/transitions

issue_id_or_key(必填), body(必填)

issue

jira_issue_edit_issue

Edits an issue from a JSON representation.

PUT /rest/api/2/issue/{issueIdOrKey}

issue_id_or_key(必填), body(必填), notify_users(可选)

issue

jira_issue_get_comment

Returns a single comment.

GET /rest/api/2/issue/{issueIdOrKey}/comment/{id}

issue_id_or_key(必填), id(必填), expand(可选)

issue

jira_issue_get_comments

Returns all comments for an issue.

GET /rest/api/2/issue/{issueIdOrKey}/comment

issue_id_or_key(必填), start_at(可选), max_results(可选), order_by(可选), expand(可选)

issue

jira_issue_get_create_issue_meta_fields

Returns the metadata for issue types used for creating issues.

GET /rest/api/2/issue/createmeta/{projectIdOrKey}/issuetypes/{issueTypeId}

issue_type_id(必填), project_id_or_key(必填), start_at(可选), max_results(可选)

issue

jira_issue_get_create_issue_meta_project_issue_types

Returns the metadata for issue types used for creating issues.

GET /rest/api/2/issue/createmeta/{projectIdOrKey}/issuetypes

project_id_or_key(必填), start_at(可选), max_results(可选)

issue

jira_issue_get_edit_issue_meta

Returns the meta data for editing an issue.

GET /rest/api/2/issue/{issueIdOrKey}/editmeta

issue_id_or_key(必填)

issue

jira_issue_get_issue

Returns a full representation of the issue for the given issue key.

GET /rest/api/2/issue/{issueIdOrKey}

issue_id_or_key(必填), fields(可选), expand(可选), properties(可选), update_history(可选)

issue

jira_issue_get_issue_picker_resource

Returns suggested issues which match the auto-completion query for the user which executes this request. This REST.

GET /rest/api/2/issue/picker

query(可选), current_jql(可选), current_issue_key(可选), current_project_id(可选), show_sub_tasks(可选), show_sub_task_parent(可选)

issue

jira_issue_get_issue_watchers

Returns the list of watchers for the issue with the given key.

GET /rest/api/2/issue/{issueIdOrKey}/watchers

issue_id_or_key(必填)

issue

jira_issue_get_issue_worklog

Returns all work logs for an issue.

GET /rest/api/2/issue/{issueIdOrKey}/worklog

issue_id_or_key(必填)

issue

jira_issue_get_properties_keys

Returns the keys of all properties for the issue identified by the key or by the id.

GET /rest/api/2/issue/{issueIdOrKey}/properties

issue_id_or_key(必填)

issue

jira_issue_get_property

Returns the value of the property with a given key from the issue identified by the key or by the id. The user who retrieves.

GET /rest/api/2/issue/{issueIdOrKey}/properties/{propertyKey}

issue_id_or_key(必填), property_key(必填)

issue

jira_issue_get_remote_issue_link_by_id

Get the remote issue link with the given id on the issue.

GET /rest/api/2/issue/{issueIdOrKey}/remotelink/{linkId}

link_id(必填), issue_id_or_key(必填)

issue

jira_issue_get_remote_issue_links

A REST sub-resource representing the remote issue links on the issue.

GET /rest/api/2/issue/{issueIdOrKey}/remotelink

issue_id_or_key(必填), global_id(可选)

issue

jira_issue_get_sub_tasks

Returns an issue's subtask list.

GET /rest/api/2/issue/{issueIdOrKey}/subtask

issue_id_or_key(必填)

issue

jira_issue_get_transitions

Get a list of the transitions possible for this issue by the current user, along with fields that are required and their types.

GET /rest/api/2/issue/{issueIdOrKey}/transitions

issue_id_or_key(必填), transition_id(可选)

issue

jira_issue_get_votes

A REST sub-resource representing the voters on the issue.

GET /rest/api/2/issue/{issueIdOrKey}/votes

issue_id_or_key(必填)

issue

jira_issue_get_worklog

Returns a specific worklog.

GET /rest/api/2/issue/{issueIdOrKey}/worklog/{id}

issue_id_or_key(必填), id(必填)

issue

jira_issue_move_sub_tasks

Reorders an issue's subtasks by moving the subtask at index "from".

POST /rest/api/2/issue/{issueIdOrKey}/subtask/move

issue_id_or_key(必填), body(必填)

issue

jira_issue_notify

Sends a notification (email) to the list or recipients defined in the request.

POST /rest/api/2/issue/{issueIdOrKey}/notify

issue_id_or_key(必填), body(必填)

issue

jira_issue_remove_vote

Remove your vote from an issue. (i.e. "unvote").

DELETE /rest/api/2/issue/{issueIdOrKey}/votes

issue_id_or_key(必填)

issue

jira_issue_remove_watcher

Removes a user from an issue's watcher list.

DELETE /rest/api/2/issue/{issueIdOrKey}/watchers

issue_id_or_key(必填), username(可选)

issue

jira_issue_restore_issue

Restores an archived issue.

PUT /rest/api/2/issue/{issueIdOrKey}/restore

issue_id_or_key(必填), body(必填), notify_users(可选)

issue

jira_issue_set_property

Sets the value of the specified issue's property.

PUT /rest/api/2/issue/{issueIdOrKey}/properties/{propertyKey}

issue_id_or_key(必填), property_key(必填), body(必填)

issue

jira_issue_update_comment

Updates an existing comment using its JSON representation.

PUT /rest/api/2/issue/{issueIdOrKey}/comment/{id}

issue_id_or_key(必填), id(必填), body(必填), expand(可选)

issue

jira_issue_update_remote_issue_link

Updates a remote issue link from a JSON representation. Any fields not provided are set to null.

PUT /rest/api/2/issue/{issueIdOrKey}/remotelink/{linkId}

link_id(必填), issue_id_or_key(必填), body(必填)

issue

jira_issue_update_worklog

Updates an existing worklog entry.

PUT /rest/api/2/issue/{issueIdOrKey}/worklog/{id}

issue_id_or_key(必填), id(必填), body(必填), adjust_estimate(可选), new_estimate(可选)

issuelink

jira_issueLink_delete_issue_link

Deletes an issue link with the specified id.

DELETE /rest/api/2/issueLink/{linkId}

link_id(必填)

issuelink

jira_issueLink_get_issue_link

Returns an issue link with the specified id.

GET /rest/api/2/issueLink/{linkId}

link_id(必填)

issuelink

jira_issueLink_link_issues

Creates an issue link between two issues.

POST /rest/api/2/issueLink

body(必填)

issuelinktype

jira_issueLinkType_create_issue_link_type

Create a new issue link type.

POST /rest/api/2/issueLinkType

body(必填)

issuelinktype

jira_issueLinkType_delete_issue_link_type

Delete the specified issue link type.

DELETE /rest/api/2/issueLinkType/{issueLinkTypeId}

issue_link_type_id(必填)

issuelinktype

jira_issueLinkType_get_issue_link_type

Returns for a given issue link type id all information about this issue link type.

GET /rest/api/2/issueLinkType/{issueLinkTypeId}

issue_link_type_id(必填)

issuelinktype

jira_issueLinkType_get_issue_link_types

Returns a list of available issue link types, if issue linking is enabled.

GET /rest/api/2/issueLinkType

issuelinktype

jira_issueLinkType_update_issue_link_type

Update the specified issue link type.

PUT /rest/api/2/issueLinkType/{issueLinkTypeId}

issue_link_type_id(必填), body(必填)

issuetype

jira_issuetype_create_issue_type

Creates an issue type from a JSON representation and adds the issue newly created issue type to the default issue.

POST /rest/api/2/issuetype

body(必填)

issuetype

jira_issuetype_delete_issue_type

Deletes the specified issue type. If the issue type has any associated issues, these issues will be migrated to.

DELETE /rest/api/2/issuetype/{id}

id(必填), alternative_issue_type_id(可选)

issuetype

jira_issuetype_get_alternative_issue_types

Returns a list of all alternative issue types for the given issue type id. The list will contain these issues types, to which.

GET /rest/api/2/issuetype/{id}/alternatives

id(必填)

issuetype

jira_issuetype_get_issue_all_types

Returns a list of all issue types visible to the user.

GET /rest/api/2/issuetype

issuetype

jira_issuetype_get_issue_type

Returns a full representation of the issue type that has the given id.

GET /rest/api/2/issuetype/{id}

id(必填)

issuetype

jira_issuetype_get_paginated_issue_types

Returns paginated list of filtered issue types.

GET /rest/api/2/issuetype/page

start_at(可选), max_results(可选), query(可选), project_ids(可选)

issuetype

jira_issuetype_update_issue_type

Updates the specified issue type from a JSON representation.

PUT /rest/api/2/issuetype/{id}

id(必填), body(必填)

jql

jira_jql_get_auto_complete

Returns the auto complete data required for JQL searches.

GET /rest/api/2/jql/autocompletedata

jql

jira_jql_get_field_auto_complete_for_query_string

Returns auto complete suggestions for JQL search.

GET /rest/api/2/jql/autocompletedata/suggestions

field_name(可选), field_value(可选), predicate_name(可选), predicate_value(可选)

mypermissions

jira_mypermissions_get_permissions

Returns all permissions in the system and whether the currently logged in user has them. You can optionally provide a specific context to get permissions for.

GET /rest/api/2/mypermissions

project_key(可选), project_id(可选), issue_key(可选), issue_id(可选)

mypreferences

jira_mypreferences_get_preference

Returns preference of the currently logged in user. Preference key must be provided as input parameter (key). The.

GET /rest/api/2/mypreferences

key(可选)

mypreferences

jira_mypreferences_remove_preference

Removes preference of the currently logged in user. Preference key must be provided as input parameters (key). If.

DELETE /rest/api/2/mypreferences

key(可选)

mypreferences

jira_mypreferences_set_preference

Sets preference of the currently logged in user. Preference key must be provided as input parameters (key). Value.

PUT /rest/api/2/mypreferences

body(必填), key(可选)

myself

jira_myself_change_my_password

Modify caller password.

PUT /rest/api/2/myself/password

body(必填)

myself

jira_myself_get_user

Returns currently logged user. This resource cannot be accessed anonymously.

GET /rest/api/2/myself

myself

jira_myself_update_user

Modify currently logged user. The "value" fields present will override the existing value.

PUT /rest/api/2/myself

body(必填)

permissions

jira_permissions_get_all_permissions

Returns all permissions that are present in the Jira instance - Global, Project and the global ones added by plugins.

GET /rest/api/2/permissions

priority

jira_priority_get_priorities_get_page

Returns a list of all issue priorities.

GET /rest/api/2/priority/page

start_at(可选), max_results(可选), query(可选), project_ids(可选)

priority

jira_priority_get_priorities_get_priority

Returns a list of all issue priorities.

GET /rest/api/2/priority

priority

jira_priority_get_priority

Returns an issue priority.

GET /rest/api/2/priority/{id}

id(必填)

project

jira_project_archive_project

Archives a project.

PUT /rest/api/2/project/{projectIdOrKey}/archive

project_id_or_key(必填), body(必填)

project

jira_project_create_project

Creates a new project.

POST /rest/api/2/project

body(必填)

project

jira_project_delete_project

Deletes a project.

DELETE /rest/api/2/project/{projectIdOrKey}

project_id_or_key(必填)

project

jira_project_get_accessible_project_type_by_key

Returns the project type with the given key, if it is accessible to the logged in user.

GET /rest/api/2/project/type/{projectTypeKey}/accessible

project_type_key(必填)

project

jira_project_get_all_project_types

Returns all the project types defined on the Jira instance, not taking into account whether.

GET /rest/api/2/project/type

project

jira_project_get_all_projects

Returns all projects which are visible for the currently logged in user. If no user is logged in, it returns the.

GET /rest/api/2/project

expand(可选), recent(可选), include_archived(可选), browse_archive(可选)

project

jira_project_get_all_statuses

Get all issue types with valid status values for a project.

GET /rest/api/2/project/{projectIdOrKey}/statuses

project_id_or_key(必填)

project

jira_project_get_project

Contains a full representation of a project in JSON format.

GET /rest/api/2/project/{projectIdOrKey}

project_id_or_key(必填), expand(可选)

project

jira_project_get_project_components

Contains a full representation of a the specified project's components.

GET /rest/api/2/project/{projectIdOrKey}/components

project_id_or_key(必填)

project

jira_project_get_project_role

Returns the details for a given project role in a project.

GET /rest/api/2/project/{projectIdOrKey}/role/{id}

project_id_or_key(必填), id(必填)

project

jira_project_get_project_roles

Returns all roles in the given project Id or key, with links to full details on each role.

GET /rest/api/2/project/{projectIdOrKey}/role

project_id_or_key(必填)

project

jira_project_get_project_type_by_key

Returns the project type with the given key.

GET /rest/api/2/project/type/{projectTypeKey}

project_type_key(必填)

project

jira_project_get_project_versions

Contains a full representation of a the specified project's versions.

GET /rest/api/2/project/{projectIdOrKey}/versions

project_id_or_key(必填), expand(可选)

project

jira_project_get_project_versions_paginated

Returns all versions for the specified project. Results are paginated.

GET /rest/api/2/project/{projectIdOrKey}/version

project_id_or_key(必填), start_at(可选), max_results(可选), order_by(可选), expand(可选)

project

jira_project_get_security_levels_for_project

Returns all security levels for the project that the current logged in user has access to.

GET /rest/api/2/project/{projectKeyOrId}/securitylevel

project_key_or_id(必填)

project

jira_project_restore_project

Restore an archived project.

PUT /rest/api/2/project/{projectIdOrKey}/restore

project_id_or_key(必填), body(必填)

project

jira_project_update_project

Updates a project.

PUT /rest/api/2/project/{projectIdOrKey}

project_id_or_key(必填), body(必填), expand(可选)

projectcategory

jira_projectCategory_create_project_category

Create a project category via POST.

POST /rest/api/2/projectCategory

body(必填)

projectcategory

jira_projectCategory_get_all_project_categories

Returns all project categories.

GET /rest/api/2/projectCategory

projectcategory

jira_projectCategory_get_project_category_by_id

Contains a representation of a project category in JSON format.

GET /rest/api/2/projectCategory/{id}

id(必填)

projectcategory

jira_projectCategory_remove_project_category

Delete a project category.

DELETE /rest/api/2/projectCategory/{id}

id(必填)

projectcategory

jira_projectCategory_update_project_category

Modify a project category via PUT. Any fields present in the PUT will override existing values. As a convenience, if a field.

PUT /rest/api/2/projectCategory/{id}

id(必填), body(必填)

projectvalidate

jira_projectvalidate_get_project

Validates a project key.

GET /rest/api/2/projectvalidate/key

key(可选)

resolution

jira_resolution_get_paginated_resolutions

Returns paginated list of filtered resolutions.

GET /rest/api/2/resolution/page

start_at(可选), max_results(可选), query(可选)

resolution

jira_resolution_get_resolution

Returns a resolution.

GET /rest/api/2/resolution/{id}

id(必填)

resolution

jira_resolution_get_resolutions

Returns a list of all resolutions.

GET /rest/api/2/resolution

role

jira_role_get_project_role_actors_for_role

Gets default actors for the given role.

GET /rest/api/2/role/{id}/actors

id(必填)

role

jira_role_get_project_roles

Get all the ProjectRoles available in Jira. Currently this list is global.

GET /rest/api/2/role

role

jira_role_get_project_roles_by_id

Get a specific ProjectRole available in Jira.

GET /rest/api/2/role/{id}

id(必填)

search

jira_search_search

Searches for issues using JQL.

GET /rest/api/2/search

jql(可选), start_at(可选), max_results(可选), validate_query(可选), fields(可选), expand(可选)

search

jira_search_search_using_search_request

Performs a search using JQL.

POST /rest/api/2/search

body(必填)

securitylevel

jira_securitylevel_get_issuesecuritylevel

Returns a full representation of the security level that has the given id.

GET /rest/api/2/securitylevel/{id}

id(必填)

serverinfo

jira_serverInfo_get_server_info

Returns general information about the current Jira server.

GET /rest/api/2/serverInfo

do_health_check(可选)

status

jira_status_get_paginated_statuses

Returns paginated list of filtered statuses.

GET /rest/api/2/status/page

start_at(可选), max_results(可选), query(可选), project_ids(可选), issue_type_ids(可选)

status

jira_status_get_status

Returns a full representation of the Status having the given id or name.

GET /rest/api/2/status/{idOrName}

id_or_name(必填)

status

jira_status_get_statuses

Returns a list of all statuses.

GET /rest/api/2/status

statuscategory

jira_statuscategory_get_status_categories

Returns a list of all status categories.

GET /rest/api/2/statuscategory

statuscategory

jira_statuscategory_get_status_category

Returns a full representation of the StatusCategory having the given id or key.

GET /rest/api/2/statuscategory/{idOrKey}

id_or_key(必填)

user

jira_user_find_assignable_users

Returns a list of users that match the search string. This resource cannot be accessed anonymously.

GET /rest/api/2/user/assignable/search

username(可选), project(可选), issue_key(可选), max_results(可选), action_descriptor_id(可选)

user

jira_user_find_bulk_assignable_users

Returns a list of users that match the search string and can be assigned issues for all the given projects.

GET /rest/api/2/user/assignable/multiProjectSearch

username(可选), project_keys(可选), max_results(可选)

user

jira_user_find_users

Returns a list of users that match the search string. This resource cannot be accessed anonymously.

GET /rest/api/2/user/search

username(可选), start_at(可选), max_results(可选), include_active(可选), include_inactive(可选)

user

jira_user_find_users_for_picker

Returns a list of users matching query with highlighting.

GET /rest/api/2/user/picker

query(可选), max_results(可选), show_avatar(可选), exclude(可选)

user

jira_user_find_users_with_all_permissions

Returns a list of active users that match the search string and have all specified permissions for the project or issue.

GET /rest/api/2/user/permission/search

username(可选), permissions(可选), issue_key(可选), project_key(可选), start_at(可选), max_results(可选)

user

jira_user_find_users_with_browse_permission

Returns a list of active users that match the search string. This resource cannot be accessed anonymously.

GET /rest/api/2/user/viewissue/search

username(可选), issue_key(可选), project_key(可选), max_results(可选)

user

jira_user_get_user

Returns a user. This resource cannot be accessed anonymously.

GET /rest/api/2/user

username(可选), key(可选), include_deleted(可选)

version

jira_version_create_or_update_remote_version_link_post_remotelink

Create a remote version link via POST. The link's global ID will be taken from the.

POST /rest/api/2/version/{versionId}/remotelink

version_id(必填), body(必填)

version

jira_version_create_or_update_remote_version_link_post_remotelink_2

Create a remote version link via POST. The link's global ID will be taken from the.

POST /rest/api/2/version/{versionId}/remotelink/{globalId}

version_id(必填), global_id(必填), body(必填)

version

jira_version_create_version

Create a version via POST.

POST /rest/api/2/version

body(必填)

version

jira_version_delete_delete_version

Delete a project version.

DELETE /rest/api/2/version/{id}

id(必填), move_fix_issues_to(可选), move_affected_issues_to(可选)

version

jira_version_delete_post_remove_and_swap

Delete a project version.

POST /rest/api/2/version/{id}/removeAndSwap

id(必填), body(必填)

version

jira_version_delete_remote_version_link

Delete a specific remote version link with the given version ID and global ID.

DELETE /rest/api/2/version/{versionId}/remotelink/{globalId}

version_id(必填), global_id(必填)

version

jira_version_delete_remote_version_links_by_version_id

Delete all remote version links for a given version ID.

DELETE /rest/api/2/version/{versionId}/remotelink

version_id(必填)

version

jira_version_get_paginated_versions

Retrieve paginated collection of versions matching given query optionally filtered by given project IDs.

GET /rest/api/2/version

start_at(可选), max_results(可选), query(可选), project_ids(可选)

version

jira_version_get_remote_version_link

A REST sub-resource representing a remote version link.

GET /rest/api/2/version/{versionId}/remotelink/{globalId}

version_id(必填), global_id(必填)

version

jira_version_get_remote_version_links

Returns the remote version links for a given global ID.

GET /rest/api/2/version/remotelink

global_id(可选)

version

jira_version_get_remote_version_links_by_version_id

Returns the remote version links associated with the given version ID.

GET /rest/api/2/version/{versionId}/remotelink

version_id(必填)

version

jira_version_get_version

Returns a project version.

GET /rest/api/2/version/{id}

id(必填), expand(可选)

version

jira_version_get_version_related_issues

Returns a bean containing the number of fixed in and affected issues for the given version.

GET /rest/api/2/version/{id}/relatedIssueCounts

id(必填)

version

jira_version_get_version_unresolved_issues

Returns the number of unresolved issues for the given version.

GET /rest/api/2/version/{id}/unresolvedIssueCount

id(必填)

version

jira_version_merge

Merge versions.

PUT /rest/api/2/version/{id}/mergeto/{moveIssuesTo}

move_issues_to(必填), id(必填), body(必填)

version

jira_version_move_version

Modify a version's sequence within a project.

POST /rest/api/2/version/{id}/move

id(必填), body(必填)

version

jira_version_update_version

Modify a version via PUT. Any fields present in the PUT will override existing values. As a convenience, if a field.

PUT /rest/api/2/version/{id}

id(必填), body(必填)

worklog

jira_worklog_get_ids_of_worklogs_deleted_since

Returns worklogs id and delete time of worklogs that was deleted since given time.

GET /rest/api/2/worklog/deleted

since(可选)

worklog

jira_worklog_get_ids_of_worklogs_modified_since

Returns worklogs id and update time of worklogs that was updated since given time.

GET /rest/api/2/worklog/updated

since(可选)

worklog

jira_worklog_get_worklogs_for_ids

Returns worklogs for given worklog ids. Only worklogs to which the calling user has permissions, will be included in the result.

POST /rest/api/2/worklog/list

body(必填)

测试示例

# Health check
curl -s http://localhost:8080/health

# Call a tool via the MCP protocol (streamable HTTP) — requires an
# initialize handshake first per the MCP spec; abbreviated example below
# shows the tool-call request body only:
curl -s -X POST http://localhost:8080/mcp \
  -H "X-Jira-Site: jira.example.com" \
  -H "X-Jira-Username: api_user" \
  -H "X-Jira-Password: Sample_Passw0rd!" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "mcp-session-id: <session-id-from-initialize>" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "jira_myself_get_user",
      "arguments": {}
    }
  }'

Self-test limitation (2026-07-29): the provided test account (jira.mspbots.ai, user mspbots_api) could not be live-verified from this build environment — direct requests to jira.mspbots.ai (both through this server and via plain curl) consistently return a generic 404 page not found, and DNS resolves the host to a sandbox-local address. This is consistent with MSPbots' internal servers being RDP-only / network-isolated from this environment, not a bug in the server itself. What was verified end-to-end from this environment: the MCP protocol handshake, tools/list returning all 214 registered tools, the 401 credential-gating behavior, and that a live call reaches the constructed URL and receives an HTTP response (proving the request/auth-header plumbing works) — only the vendor-side reachability of the real instance could not be confirmed. A real functional self-test against jira.mspbots.ai should be run from a network that can actually reach it (e.g. via RDP to an MSPbots-internal host).

API Reference

Known Gaps

  • Scope was an explicit user decision: expand beyond MSPbots' literal 17 endpoints to core work-item/project-management categories, excluding admin/scheme/system categories (workflow scheme, permission scheme, avatar, reindex, plugin management, etc.).

  • body parameters are untyped (dict) rather than fully modeled — the Jira REST API reference documents the exact schema per resource, but reproducing all of them as typed Python parameters was out of scope for a 214-tool generation.

  • Live functional self-test could not be completed from this build environment due to jira.mspbots.ai being unreachable here (see 测试示例 above for exactly what was and wasn't verified).

  • Several operations mutate or delete real data (jira_issue_delete_issue, jira_project_delete_project, jira_project_archive_project, jira_version_delete_delete_version, etc.) — treat any DELETE/destructive POST/PUT tool as irreversible against a production Jira instance and confirm with a human before invoking.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    An MCP server for interacting with self-hosted Jira instances using Personal Access Token (PAT) authentication. It enables users to perform CRUD operations on issues, search with JQL, manage comments, and list projects through the Jira REST API.
    Last updated
    12
    462
    9
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    MCP server providing access to JIRA data with relationship tracking, optimized payloads, and data cleaning for AI contexts. Supports both Jira Cloud and Server/Data Center.
    Last updated
    8
    MIT

View all related MCP servers

Related MCP Connectors

  • A MCP server built for developers enabling Git based project management with project and personal…

  • An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform

  • The MCP server for Azure DevOps, bringing the power of Azure DevOps directly to your agents.

View all MCP Connectors

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/MSPbotsAI/jiradatacenter-mcp'

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