loading…
Search for a command to run...
loading…
A Go-based MCP connector for Jira that enables AI assistants like Claude to interact with Atlassian Jira. This tool provides a seamless interface for AI models
A Go-based MCP connector for Jira that enables AI assistants like Claude to interact with Atlassian Jira. This tool provides a seamless interface for AI models to perform common Jira operations including issue management, sprint planning, and workflow transitions.
An opinionated Jira MCP server built from years of real-world software development experience.
Unlike generic Jira integrations, this MCP is crafted from the daily workflows of engineers and automation QC teams. You'll find sophisticated tools designed for actual development needs—like retrieving all pull requests linked to an issue, managing complex sprint transitions, or tracking development information across your entire workflow.
This isn't just another API wrapper. It's a reflection of how professionals actually use Jira: managing sprints, tracking development work, coordinating releases, and maintaining visibility across teams. Every tool is designed to solve real problems that arise in modern software development.
Copy this prompt to your AI assistant:
Install the Jira MCP server (https://github.com/nguyenvanduocit/jira-mcp) for my Claude Desktop or Cursor IDE. Read the MCP documentation carefully and guide me through the installation step by step.
If your AI assistant cannot help with this installation, it indicates either a misconfiguration or an ineffective AI tool. A capable AI assistant should be able to guide you through MCP installation.
In addition to the MCP server, jira-mcp ships a standalone CLI binary (jira-cli) for direct terminal use — no MCP client needed.
just install-cli
# or
go install github.com/nguyenvanduocit/jira-mcp/cmd/jira-cli@latest
export ATLASSIAN_HOST=your-instance.atlassian.net
export [email protected]
export ATLASSIAN_TOKEN=your-api-token
# or
jira-cli --env .env <command> [flags]
| Command | Description |
|---|---|
get-issue |
Get issue details |
search-issues |
Search issues with JQL |
create-issue |
Create a new issue |
update-issue |
Update an existing issue |
add-comment |
Add a comment to an issue |
list-comments |
List comments on an issue |
get-transitions |
Get available status transitions |
transition-issue |
Transition issue to new status |
list-sprints |
List sprints for a board |
get-worklogs |
Get worklogs for an issue |
add-worklog |
Log work on an issue |
get-history |
Get issue change history |
# Get an issue
jira-cli get-issue --issue-key PROJ-123
# Search with JQL
jira-cli search-issues --jql "project = PROJ AND status = 'In Progress'" --max-results 20
# Create an issue
jira-cli create-issue --project PROJ --summary "Fix login bug" --type Bug
# Transition issue
jira-cli get-transitions --issue-key PROJ-123
jira-cli transition-issue --issue-key PROJ-123 --transition-id 31
# JSON output
jira-cli search-issues --jql "assignee = currentUser()" --output json | jq '.[].key'
Every command accepts:
--env string — Path to .env file--output string — Output format: text (default) or jsonMIT — see LICENSE.
THIS SECTION IS FOR AI ONLY
When working with this codebase, read these files to understand the project structure:
Key concepts:
github.com/ctreminiom/go-atlassian client library.specify/memory/constitution.mdBefore making changes, review:
Create one at https://id.atlassian.com/manage-profile/security/api-tokens.
Use Docker or a local binary (STDIO; no ports needed).
{
"mcpServers": {
"jira": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-e", "ATLASSIAN_HOST=https://your-company.atlassian.net",
"-e", "[email protected]",
"-e", "ATLASSIAN_TOKEN=your-api-token",
"ghcr.io/nguyenvanduocit/jira-mcp:latest"
]
}
}
}
{
"mcpServers": {
"jira": {
"command": "/usr/local/bin/jira-mcp",
"env": {
"ATLASSIAN_HOST": "https://your-company.atlassian.net",
"ATLASSIAN_EMAIL": "[email protected]",
"ATLASSIAN_TOKEN": "your-api-token"
}
}
}
}
https://your-company.atlassian.netOptional .env (if running locally):
ATLASSIAN_HOST=https://your-company.atlassian.net
[email protected]
ATLASSIAN_TOKEN=your-api-token
HTTP mode (optional, for debugging):
jira-mcp -env .env -http_port 3000
Cursor config (HTTP mode):
{ "mcpServers": { "jira": { "url": "http://localhost:3000/mcp" } } }
By default every Jira tool is registered. To expose only a subset — for example, to hand an AI agent a read-only view of Jira — set the ENABLED_TOOLS environment variable to a comma-separated allowlist of tool names:
ENABLED_TOOLS=jira_get_issue,jira_search_issue,jira_get_comments
Rules:
Read-only agent example (exposes 15 reads, blocks all 8 mutating tools):
ENABLED_TOOLS=jira_get_issue,jira_search_issue,jira_list_statuses,jira_get_comments,jira_get_issue_history,jira_get_related_issues,jira_list_sprints,jira_get_sprint,jira_get_active_sprint,jira_search_sprint_by_name,jira_get_version,jira_list_project_versions,jira_get_development_information,jira_download_attachment,jira_list_issue_types
brew install nguyenvanduocit/tap/jira-mcp
Add this to claude_desktop_config.json and restart Claude Desktop.
{
"mcpServers": {
"nguyenvanduocit-jira-mcp": {
"command": "npx",
"args": []
}
}
}