Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
mcp-server-jira
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ai-solutions
mcp-server-jira
Commits
9cbb7326
Commit
9cbb7326
authored
Mar 04, 2026
by
MD. SHAHIDUL ISLAM
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: Add explicit user confirmation warning to Jira tool docstrings and update README examples.
parent
6e579894
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
6 deletions
+20
-6
jira_mcp_server.py
jira_mcp_server.py
+20
-6
No files found.
jira_mcp_server.py
View file @
9cbb7326
...
...
@@ -153,7 +153,9 @@ def get_multiple_issues_details(issue_keys: List[str]) -> str:
@mcp.tool
()
def
create_issue
(
summary
:
str
,
description
:
str
,
project_key
:
str
=
None
,
issue_type
:
str
=
"Task"
)
->
str
:
"""Creates a new Jira issue. If project_key is not provided, uses the active project."""
"""Creates a new Jira issue. If project_key is not provided, uses the active project.
IMPORTANT: You must explicitly ask the user for confirmation before executing this tool.
"""
global
ACTIVE_PROJECT
jira
=
_get_jira
()
...
...
@@ -189,6 +191,7 @@ def create_issue_advanced(
)
->
str
:
"""Creates a Jira issue with advanced fields matched to the web interface.
Use this when you need to specify assignee, labels, components, or estimations.
IMPORTANT: You must explicitly ask the user for confirmation before executing this tool.
"""
global
ACTIVE_PROJECT
jira
=
_get_jira
()
...
...
@@ -233,7 +236,9 @@ def create_issue_advanced(
@mcp.tool
()
def
create_issue_with_subtasks
(
summary
:
str
,
description
:
str
,
subtasks
:
List
[
str
],
project_key
:
str
=
None
,
parent_issue_type
:
str
=
"Story"
)
->
str
:
"""Creates a new Jira Issue (Story or Task) along with a list of Sub-tasks. If project_key is not provided, uses the active project."""
"""Creates a new Jira Issue (Story or Task) along with a list of Sub-tasks. If project_key is not provided, uses the active project.
IMPORTANT: You must explicitly ask the user for confirmation before executing this tool.
"""
global
ACTIVE_PROJECT
jira
=
_get_jira
()
...
...
@@ -272,6 +277,7 @@ def create_issue_with_subtasks(summary: str, description: str, subtasks: List[st
def
create_bulk_issues
(
issues_data
:
List
[
dict
],
project_key
:
str
=
None
)
->
str
:
"""Creates multiple Jira issues in one operation.
issues_data must be a list of dictionaries with keys: 'summary', 'description', and optional 'issue_type' (defaults to 'Task').
IMPORTANT: You must explicitly ask the user for confirmation before executing this tool.
"""
global
ACTIVE_PROJECT
jira
=
_get_jira
()
...
...
@@ -316,7 +322,9 @@ def create_bulk_issues(issues_data: List[dict], project_key: str = None) -> str:
@mcp.tool
()
def
assign_issue_to_me
(
issue_key
:
str
)
->
str
:
"""Assigns the specified issue to the authenticated user."""
"""Assigns the specified issue to the authenticated user.
IMPORTANT: You must explicitly ask the user for confirmation before executing this tool.
"""
jira
=
_get_jira
()
try
:
# Provide the username we authenticated with
...
...
@@ -327,7 +335,9 @@ def assign_issue_to_me(issue_key: str) -> str:
@mcp.tool
()
def
transition_issue
(
issue_key
:
str
,
transition_name
:
str
)
->
str
:
"""Transitions an issue to a new status by name (e.g., 'Ready for QA')."""
"""Transitions an issue to a new status by name (e.g., 'Ready for QA').
IMPORTANT: You must explicitly ask the user for confirmation before executing this tool.
"""
jira
=
_get_jira
()
try
:
# First, find available transitions
...
...
@@ -391,7 +401,9 @@ def get_all_projects() -> str:
@mcp.tool
()
def
add_comment_to_issue
(
issue_key
:
str
,
comment
:
str
)
->
str
:
"""Adds a new comment to a Jira issue."""
"""Adds a new comment to a Jira issue.
IMPORTANT: You must explicitly ask the user for confirmation before executing this tool.
"""
jira
=
_get_jira
()
try
:
jira
.
add_comment
(
issue_key
,
comment
)
...
...
@@ -419,7 +431,9 @@ def get_issue_comments(issue_key: str) -> str:
@mcp.tool
()
def
log_work_on_issue
(
issue_key
:
str
,
time_spent
:
str
)
->
str
:
"""Logs work (time spent) on a Jira issue. Format Example for time_spent: '2h 30m' or '1d'"""
"""Logs work (time spent) on a Jira issue. Format Example for time_spent: '2h 30m' or '1d'
IMPORTANT: You must explicitly ask the user for confirmation before executing this tool.
"""
jira
=
_get_jira
()
try
:
jira
.
add_worklog
(
issue_key
,
timeSpent
=
time_spent
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment