Drive Jira from an assistant: file and re-order tickets, hang them off epics, walk a sprint through its states, and read the release and component progress that follows.
Ticket hygiene and agile reporting stop being separate errands.
With the instance mapping in place, an agent can file the ticket, park it under an epic, drop it into the running sprint, and then answer how that sprint is tracking. The instance and working_dir arguments are not optional in practice, so the mapping file is where a setup succeeds or fails. Roadmap-level plan tools depend on Jira Premium, and confluence_health_check answers for a different server altogether.
What it is
A multi-instance Jira client whose tool set covers issues, agile boards, epics, versions, components, JQL and Premium strategic planning.
What you get
Issue handling from creation to deletion, with comments, workflow moves taken from the transition IDs a lookup supplies, bulk field updates over a set of keys, relative ranking and estimates.
Sprints: open one, add issue keys, switch it to active with dates attached, close it when the work lands, and read its detail at any point.
Boards for a project, together with column configuration, current metrics and quickfilter details.
Epic structure, where a single operation can produce the epic and its children at once, while other calls reparent issues, order epics and list what an epic contains.
Reporting data an agent can compare: a per-sprint report, velocity over a number of sprints, burndown for one sprint and cumulative flow for a board.
Version and component records on a project, each carrying its own progress and completion breakdown.
The search and setup surface: JQL queries, saved filters, project lookup, workflow statuses, issue types, and the custom field IDs the config file wants.
Premium plans: create, fetch, patch, duplicate, archive or trash a plan, and manage the teams sitting on it.
Requirements
A Jira instance configured in .jira-config.json with its project mapping, since the instance name and a working_dir path travel with every call; detect_project_fields resolves the custom field IDs that file needs. Plans require Jira Premium, and removing an issue outright requires the Delete Issues permission.
Setup effort
Build from source — git clone https://github.com/cfdude/mcp-jira.git
Create the issue with its summary, type and priority, attach an estimate, and fold in whatever context surfaces afterwards.
create_issueestimate_issueadd_commentupdate_issue
02
Rebalancing a backlog that has drifted out of order
Pull the project's issues, re-rank them against reference issues, apply shared field changes in one request, and push the top of the list into the running sprint.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
add_comment
Add a comment to an existing Jira issue. CRITICAL FOR AI: ALWAYS specify 'instance' parameter and use exact issue key from list_issues. Example: {working_dir: '/path', instance: 'onvex', issue_key: 'JOB-123', comment: 'Updated requirements'}
add_plan_team
Add a team to a strategic plan (Jira Premium feature)
archive_plan
Archive a strategic plan (Jira Premium feature)
bulk_update_issues
Update multiple issues at once. CRITICAL FOR AI: ALWAYS specify 'instance' and use exact issue keys from list_issues. Example: {working_dir: '/path', instance: 'onvex', issueKeys: ['JOB-1', 'JOB-2'], updates: {status: 'In Progress'}}
complete_sprint
Complete/close an active sprint. CRITICAL FOR AI: ALWAYS specify 'instance' parameter. Use get_sprint_details first to verify sprint is active. Example: {working_dir: '/path', instance: 'onvex', sprintId: 335}
confluence_health_check
Check the health and connectivity status with the Confluence MCP server from Jira's perspective. Returns connection information and integration capabilities.
create_component
Create a new project component for organizing work by feature areas. CRITICAL FOR AI: ALWAYS specify 'instance' and 'projectKey'. Example: {working_dir: '/path', instance: 'onvex', projectKey: 'JOB', name: 'Frontend UI'}
create_epic
Create a new Epic issue. CRITICAL FOR AI: ALWAYS specify 'instance' and 'projectKey'. Epics organize related stories/tasks. Example: {working_dir: '/path', instance: 'onvex', projectKey: 'JOB', name: 'User Auth', summary: 'Authentication System Epic'}
create_epic_with_issues
Create an epic with linked issues in a single operation. Reduces API calls and ensures proper linking. CRITICAL FOR AI: ALWAYS specify 'instance' and 'projectKey'. Example: {working_dir: '/path', instance: 'onvex', projectKey: 'JOB', epic: {name: 'User Auth', summary: 'Authentication System'}, issues: [{summary: 'Login API', type: 'Task'}, {summary: 'User Registration', type: 'Story'}]}
create_filter
Create saved filters for consistent project tracking and reporting. CRITICAL FOR AI: ALWAYS specify 'instance'. Test JQL first with search_issues_jql. Example: {working_dir: '/path', instance: 'onvex', name: 'Sprint Planning', jql: 'project = JOB'}
create_issue
Create a new Jira issue. IMPORTANT FOR AI: Always specify 'instance' and 'projectKey' parameters explicitly to avoid configuration errors. Example: {working_dir: '/path/to/project', instance: 'onvex', projectKey: 'JOB', summary: 'Fix login bug', type: 'Task'}
create_plan
Create a new strategic plan for high-level roadmap management (Jira Premium feature)
create_sprint
Create a new sprint in a Jira board. CRITICAL FOR AI: ALWAYS specify 'instance' and 'projectKey'. Use list_boards first to verify board exists. Creates sprint in 'future' state - use update_sprint to start it. Example: {working_dir: '/path', instance: 'onvex', projectKey: 'JOB', name: 'Sprint 1', goal: 'MVP features'}
create_version
Create a new project version/release for organizing work by milestones. CRITICAL FOR AI: ALWAYS specify 'instance' and 'projectKey'. Example: {working_dir: '/path', instance: 'onvex', projectKey: 'JOB', name: 'v1.0.0'}
delete_issue
Delete a Jira issue. WARNING: Requires 'Delete Issues' permission. Only issue creators and project administrators can delete issues. Consider using status changes or labels instead of deletion.
detect_project_fields
Detect custom field IDs (story points, sprint, epic link) for a specific project and instance. Provides ready-to-copy configuration snippets for .jira-config.json setup. CRITICAL FOR AI: ALWAYS specify 'instance' parameter for multi-instance support. Example: {working_dir: '/path', instance: 'onvex', projectKey: 'JOB'}
duplicate_plan
Duplicate a strategic plan to create a new plan based on existing configuration (Jira Premium feature)
estimate_issue
Set estimation value for an issue. CRITICAL FOR AI: ALWAYS specify 'instance' and use exact issue key. Example: {working_dir: '/path', instance: 'onvex', issueKey: 'JOB-1', value: '5'}
get_board_configuration
Get detailed configuration of a board including columns and settings. CRITICAL FOR AI: ALWAYS specify 'instance' and use boardId from list_boards. Example: {working_dir: '/path', instance: 'onvex', boardId: 102}
get_board_cumulative_flow
Get cumulative flow diagram data for a board. CRITICAL FOR AI: ALWAYS specify 'instance' and use boardId from list_boards. Example: {working_dir: '/path', instance: 'onvex', boardId: 102}
get_board_reports
Get board reports and current metrics. CRITICAL FOR AI: ALWAYS specify 'instance' and use boardId from list_boards. Example: {working_dir: '/path', instance: 'onvex', boardId: 102}
get_burndown_chart_data
Get burndown chart data for a specific sprint. CRITICAL FOR AI: ALWAYS specify 'instance' and use sprintId from create_sprint. Example: {working_dir: '/path', instance: 'onvex', sprintId: 335}
get_component_progress
Get detailed component progress with issue distribution and completion metrics. CRITICAL FOR AI: ALWAYS specify 'instance' and use componentId from list_components. Example: {working_dir: '/path', instance: 'onvex', componentId: '10456'}
get_issue
Get detailed information about a specific Jira issue. CRITICAL FOR AI: ALWAYS specify 'instance' parameter. Use this to get current status, description, and fields before updating. Example: {working_dir: '/path', instance: 'onvex', issue_key: 'JOB-123'}
get_issue_types
Get available issue types, their hierarchy, and required fields. CRITICAL FOR AI: ALWAYS specify 'instance' and usually 'projectKey'. Example: {working_dir: '/path', instance: 'onvex', projectKey: 'JOB'}
get_plan
Get detailed information about a specific strategic plan (Jira Premium feature)
get_plan_teams
Get detailed information about teams assigned to a strategic plan (Jira Premium feature)
get_project_details
Get comprehensive project information including components, versions, and features. CRITICAL FOR AI: ALWAYS specify 'instance' and 'projectKey'. Example: {working_dir: '/path', instance: 'onvex', projectKey: 'JOB'}
get_project_statuses
Get comprehensive project workflow statuses and transitions. CRITICAL FOR AI: ALWAYS specify 'instance' and usually 'projectKey'. Example: {working_dir: '/path', instance: 'onvex', projectKey: 'JOB'}
get_sprint_details
Get detailed information about a sprint including progress and issues. CRITICAL FOR AI: ALWAYS specify 'instance' parameter and use sprintId from create_sprint or board reports. Example: {working_dir: '/path', instance: 'onvex', sprintId: 335}
get_sprint_report
Get comprehensive sprint report with metrics and analysis. CRITICAL FOR AI: ALWAYS specify 'instance' and use boardId from list_boards. Example: {working_dir: '/path', instance: 'onvex', boardId: 102, sprintId: 335}
get_transitions
Get available workflow transitions for a Jira issue. CRITICAL FOR AI: Use this BEFORE attempting to change issue status. ALWAYS specify 'instance' parameter. Example: {working_dir: '/path', instance: 'onvex', issueKey: 'JOB-123'}
get_velocity_chart_data
Get velocity chart data for team performance analysis. CRITICAL FOR AI: ALWAYS specify 'instance' and use boardId from list_boards. Example: {working_dir: '/path', instance: 'onvex', boardId: 102}
get_version_progress
Get detailed version progress including issue counts, status breakdown, and timeline analysis. CRITICAL FOR AI: ALWAYS specify 'instance' and use versionId from list_versions. Example: {working_dir: '/path', instance: 'onvex', versionId: '10123'}
jira_health_check
Get comprehensive health information for this Jira MCP server including uptime, cross-server integration status, and server capabilities. Essential for monitoring and troubleshooting cross-server communication.
list_boards
List all Jira boards for a project. CRITICAL FOR AI: ALWAYS specify 'instance' and usually 'projectKey' to filter results. Use this first to find board IDs for sprint operations. Example: {working_dir: '/path', instance: 'onvex', projectKey: 'JOB'}
list_components
List project components for feature-based work organization. CRITICAL FOR AI: ALWAYS specify 'instance' and usually 'projectKey'. Example: {working_dir: '/path', instance: 'onvex', projectKey: 'JOB'}
list_custom_fields
List all available custom and system fields for a Jira instance. Shows field IDs, types, and provides configuration examples. Useful for discovering what fields can be added to your configuration.
list_epic_issues
List all issues in an epic. CRITICAL FOR AI: ALWAYS specify 'instance' and use exact epicKey from create_epic. Example: {working_dir: '/path', instance: 'onvex', epicKey: 'JOB-1'}
list_instances
List all configured Jira instances and their project mappings. CRITICAL FOR AI: Use this FIRST to discover available instances before any other operations. Shows which projects are mapped to which instances. No additional parameters needed besides working_dir. Example: {working_dir: '/path/to/project'}
list_issues
List issues in a specific Jira project. CRITICAL FOR AI: ALWAYS specify 'instance' and 'projectKey' parameters. Use this to see existing issues before creating new ones or to get issue keys for updates. Example: {working_dir: '/path', instance: 'onvex', projectKey: 'JOB'}
list_plans
List strategic plans for high-level roadmap and portfolio management (Jira Premium feature). CRITICAL FOR AI: ALWAYS specify 'instance'. Example: {working_dir: '/path', instance: 'onvex'}
list_versions
List project versions for release planning and milestone tracking. CRITICAL FOR AI: ALWAYS specify 'instance' and usually 'projectKey'. Example: {working_dir: '/path', instance: 'onvex', projectKey: 'JOB'}
manage_board_quickfilters
List or get details of board quickfilters. CRITICAL FOR AI: ALWAYS specify 'instance' and use boardId from list_boards. Example: {working_dir: '/path', instance: 'onvex', boardId: 102, action: 'list'}
move_issues_to_epic
Move issues to an epic. CRITICAL FOR AI: ALWAYS specify 'instance' and use exact keys from list_issues and create_epic. Example: {working_dir: '/path', instance: 'onvex', epicKey: 'JOB-1', issueKeys: ['JOB-5', 'JOB-6']}
move_issues_to_sprint
Add issues to a sprint. CRITICAL FOR AI: ALWAYS specify 'instance' parameter. Use list_issues first to get issue keys, and ensure sprint exists. Example: {working_dir: '/path', instance: 'onvex', sprintId: 123, issueKeys: ['JOB-1', 'JOB-2']}
rank_epics
Rank epics relative to each other. CRITICAL FOR AI: ALWAYS specify 'instance' and use exact epic keys. Example: {working_dir: '/path', instance: 'onvex', epicToRank: 'JOB-1', rankAfterEpic: 'JOB-2'}
rank_issues
Rank multiple issues relative to other issues. CRITICAL FOR AI: ALWAYS specify 'instance' and use exact issue keys. Example: {working_dir: '/path', instance: 'onvex', issues: ['JOB-1'], rankAfterIssue: 'JOB-2'}
remove_plan_team
Remove a team from a strategic plan (Jira Premium feature)
search_issues_jql
Advanced issue search using Jira Query Language (JQL) for powerful project analysis. CRITICAL FOR AI: ALWAYS specify 'instance'. Example: {working_dir: '/path', instance: 'onvex', jql: 'project = JOB AND status != Done'}
search_projects
Search and discover projects across the Jira instance with advanced filtering. CRITICAL FOR AI: ALWAYS specify 'instance'. Example: {working_dir: '/path', instance: 'onvex', query: 'mobile'}
transition_issue
Perform a workflow transition on a Jira issue. CRITICAL FOR AI: ALWAYS use get_transitions first to get valid transition IDs. ALWAYS specify 'instance' parameter. Example: {working_dir: '/path', instance: 'onvex', issueKey: 'JOB-123', transitionId: '5'}
trash_plan
Move a strategic plan to trash (soft delete) (Jira Premium feature)
update_epic_details
Update epic details using Agile API. CRITICAL FOR AI: ALWAYS specify 'instance' and use exact epicKey from list_epic_issues. Example: {working_dir: '/path', instance: 'onvex', epicKey: 'JOB-1', name: 'Updated Epic Name'}
update_issue
Update an existing Jira issue. CRITICAL FOR AI: ALWAYS specify 'instance' parameter and use exact issue key from list_issues. Commonly used to change status, assignee, or add comments. Example: {working_dir: '/path', instance: 'onvex', issue_key: 'JOB-123', status: 'In Progress'}
update_plan
Update an existing strategic plan using JSON Patch operations (Jira Premium feature)
update_sprint
Update sprint details or change sprint state (future→active→closed). CRITICAL FOR AI: ALWAYS specify 'instance' parameter. To activate a sprint, MUST provide both startDate and endDate. Example: {working_dir: '/path', instance: 'onvex', sprintId: 123, state: 'active', startDate: '2025-07-29', endDate: '2025-08-12'}
BEFORE YOU INSTALL
What to know first
Tools you get
57 tools when we connected. The documentation covers 42; the 15 undocumented ones are mostly Jira Plans, epic and board tools. Plan tools register but need Jira Premium to work.
Requires
Node.js and npm, to build the clone
JIRA_API_TOKEN in your environment
JIRA_EMAIL in your environment
Where it runs
All 3 documented clients run the server on your machine.
CONTEXT COST
Heavy Standing cost
Rated by the size of the 57 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
TERMINAL
git clone https://github.com/cfdude/mcp-jira.git
cd mcp-jira
npm install
npm run build
Create .jira-config.json in that folder — the client configurations below start the server there — with your Jira instance (email, apiToken, domain) and the project keys it serves, in the format of the README's Multi-Instance Configuration; detect_project_fields reports the custom field IDs to add.
build/index.js and ./.jira-config.json here are relative: keep this opencode.json in your clone, next to the .jira-config.json from the step above, or change both to absolute paths. JIRA_CONFIG_PATH can be absolute, relative to this config file, or start with ~.
Integrates AI with Atlassian Jira to manage projects, search for issues, and view development information like commits and pull requests.Read full description