JiraCli-Mcp 1.0.2

dotnet tool install --global JiraCli-Mcp --version 1.0.2
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local JiraCli-Mcp --version 1.0.2
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=JiraCli-Mcp&version=1.0.2
                    
nuke :add-package JiraCli-Mcp --version 1.0.2
                    

jira — Command Reference

Version: 1.0.0 | Package: JiraCli | MCP Tools: 68

Dual-mode tool: a Jira CLI (jira) and an MCP server (stdio JSON-RPC 2.0) for AI agents (GitHub Copilot CLI, Claude Desktop).

Supports Jira Cloud and Jira Server / Data Center — the API version and auth scheme are picked automatically based on the configured auth mode.

All commands accept --site <name> to select the Jira site. If omitted, the site is resolved in this order: --site flag → JIRA_SITE env var → defaultSite in config → the only configured site.


Configuration

Command Description
jira config list List all configured Jira sites with masked tokens. Use to verify which sites are registered.
jira config add --site NAME --url URL --email EMAIL --token TOKEN [--auth-mode basic\|bearer] [--project KEY] Register a Jira site. Use --auth-mode basic for Jira Cloud (email + API token) and bearer for Jira Server/Data Center (Personal Access Token). Config is stored in ~/.config/jira-cli/config.json.
jira config remove --site NAME Remove a site and its credentials from local config. Only deletes the local entry.
jira config set-default --site NAME Set the default site used when --site and JIRA_SITE are not provided.
jira config set-session-cookie --site NAME --cookie <JSESSIONID> Store a browser session cookie used to bypass 2FA when downloading attachments from Jira Server.
jira config path Print the full path to the config file on disk. Useful for scripting or manual inspection.
jira context [--site NAME] Show the resolved Jira site and where it came from (flag, env var, default, or single site). Use to verify which site will be used before running other commands.

Auth modes: basic (default) = Jira Cloud, uses Basic Base64(email:token) with API v3. bearer = Jira Server/DC, uses Bearer <PAT> with API v2.


📋 CLI Commands

Issues

Command Description
jira issue get PROJ-123 Get the full detail of a single issue by its key: fields, status, assignee, labels, attachments, and links.
jira issue create --project PROJ --type Task --summary "..." [--assignee <accountId> --priority High --description "..."] Create a new issue in a project.
jira issue update PROJ-123 [--summary "..."] [--priority Medium] [--description "..."] Update an issue. Only the fields you provide are changed — partial update.
jira issue delete PROJ-123 Delete an issue. Permanent and irreversible.
jira issue assign PROJ-123 --to <accountId> Assign (or reassign) an issue to a user by account ID.
jira issue transition PROJ-123 --to "In Progress" Move an issue to another workflow state. The target can be the transition name or the destination state name.
jira issue comment PROJ-123 --body "..." Add a comment to an issue's Discussion section.
jira issue worklog PROJ-123 --time "2h 30m" [--comment "..."] Log time spent on an issue.
jira issue get-worklog PROJ-123 <worklogId> Get a single worklog entry by its ID.
jira issue attach PROJ-123 --file ./screenshot.png Upload a local file as an attachment to an issue.
jira issue attachments PROJ-123 List all attachments of an issue with metadata (id, filename, size, mime type, content URL).
jira issue download-attachment PROJ-123 --id 1003046 [--output DIR] Download a single attachment by its ID.
jira issue download-attachments PROJ-123 [--output DIR] Download all attachments of an issue.
jira issue download-all-attachments PROJ-123 [--output DIR] Download attachments of an issue and all its sub-tasks. Parent attachments go in the root output dir; each sub-task's attachments go in a sub-folder named by its key.
jira issue attachment-meta <attachmentId> Get attachment metadata (size, mime type, content URL) for a single attachment ID.
jira issue transitions PROJ-123 List the workflow transitions available for an issue from its current state.
Command Description
jira search --jql "project = PROJ AND status = Open" [--max-results 50] [--fetch-all] Search issues with JQL (Jira Query Language). --fetch-all retrieves every match across pages instead of stopping at one page.

Projects

Command Description
jira project list List all projects in the site.
jira project get PROJ Get detailed information about a single project by key.
jira project components PROJ List the components of a project.
jira project versions PROJ List the release versions of a project.
jira project create --key NEWP --name "..." [--type software] Create a new project. --type selects the project type (e.g. software, business, service_desk).
jira project update PROJ [--name "..."] [--description "..."] Rename or re-describe a project.
jira project delete PROJ Delete a project. Permanent and irreversible.
jira project statuses PROJ List the statuses available per issue type in a project.
jira project types List all project types.
jira project roles PROJ List the project roles (name → URL).
jira project role PROJ 10002 Get a project role's details, including its actors (users/groups).
jira project properties PROJ List the entity property keys of a project.
jira project features PROJ List the enabled features of a project (Jira Cloud only).

Issue Types

Command Description
jira issuetype list List all issue types in the site.
jira issuetype list --project 10000 List issue types for a specific project (by project ID).
jira issuetype get <id> Get the details of a single issue type by its ID.

Status

Command Description
jira status list List all workflow statuses.
jira status get <idOrName> Get a single status by ID or name.
jira status categories List all status categories (e.g. To Do, In Progress, Done).

Boards & Sprints

Command Description
jira board list List all Agile boards.
jira board get 42 Get the details of a single board.
jira board issues 42 List the issues on a board.
jira board sprints 42 List the sprints of a board.
jira sprint get 10 Get the details of a single sprint.
jira sprint create --board 42 --name "Sprint 1" [--start 2025-01-01 --end 2025-01-14 --goal "..."] Create a new sprint on a board. Dates are ISO 8601.
jira sprint update 10 [--name "..."] [--state active] [--start ...] [--end ...] [--goal ...] Update a sprint (name, state, dates, goal).
jira sprint move-issues --sprint 10 --issues PROJ-1,PROJ-2,PROJ-3 Move one or more issues into a sprint.

Users

Command Description
jira user me Show the authenticated user.
jira user get --account-id 5b10ac8d82e05b22cc7d4ef5 Get a user's details by account ID.
jira user assignable --project PROJ List users assignable to issues in a project.
jira user groups --account-id 5b10ac8d82e05b22cc7d4ef5 List the groups a user belongs to. On Server/DC pass the username as --account-id.

Fields

Command Description
jira field list List all Jira fields (standard and custom).
jira field create --name "Story Points" --type com.atlassian.jira.plugin.system.customfieldtypes:float Create a custom field of a given type.
jira field contexts --field-id customfield_10016 List the contexts of a custom field (Jira Cloud only).

Saved Filters

Command Description
jira filter list List the current user's saved filters (Server/DC: favourite filters).
jira filter get 12345 Get a saved filter by ID.
jira filter create --name "..." --jql "assignee = currentUser() AND status != Done" Save a new filter with a JQL query.
jira filter update 12345 [--name "..."] [--jql "..."] Rename or change the JQL of a saved filter.
jira filter delete 12345 Delete a saved filter.
Command Description
jira link list PROJ-123 List the remote issue links of an issue.
jira link create --from PROJ-1 --to PROJ-2 --type Blocks Link two issues (e.g. Blocks, Relates, Duplicate).
jira link delete <link-id> Delete an issue link by its ID.

Webhooks

Command Description
jira webhook list List all registered webhooks.
jira webhook create --url https://my.server/hook --events jira:issue_created,jira:issue_updated Register a webhook that fires on the given Jira events.
jira webhook delete 987 Delete a webhook by ID.

MCP Server

Command Description
jira mcp serve [--debug] Start the MCP server over stdio. All 68 tools become available to your AI agent. --debug prints HTTP request/response details to stderr.

Global options

Command Description
jira --debug <command> Print full HTTP request/response details to stderr (never corrupts stdout). Use to diagnose API issues.
jira --version Show version information.

🔌 MCP Tools (68 total)

Use these in Claude Desktop, Copilot, Cursor, or any MCP-compatible agent.

Issues

Tool Required Args Optional Args Description
get_issue issueKey site Get full detail of an issue by key.
create_issue projectKey, summary issueType, description, priority, assigneeAccountId, parentKey, site Create a new issue. parentKey creates a sub-task.
update_issue issueKey summary, priority, description, site Update an issue — partial update.
delete_issue issueKey site Delete an issue. Permanent.
assign_issue issueKey accountId, site Assign (or unassign, with null) an issue.
get_issue_transitions issueKey site List available workflow transitions for an issue.
transition_issue issueKey, transitionName site Move an issue to a new workflow state.
add_comment issueKey, body site Add a comment to an issue.
get_comments issueKey site Get all comments of an issue.
add_watcher issueKey, accountId site Add a watcher to an issue.
remove_watcher issueKey, accountId site Remove a watcher from an issue.
get_issue_worklog issueKey site Get the full worklog of an issue.
add_worklog issueKey, timeSpent comment, site Log time spent on an issue (e.g. 2h 30m).
get_worklog issueKey, worklogId site Get a single worklog entry by ID.
add_attachment issueKey, filePath site Attach a local file to an issue.
list_attachments issueKey site List attachments with metadata (id, filename, size, mime type, content URL).
get_attachment_metadata attachmentId site Get metadata of a single attachment by ID.
download_attachment issueKey, attachmentId outputDir, site Download a single attachment to a local directory.
download_all_attachments issueKey outputDir, site Download all attachments of an issue and its sub-tasks. Sub-task attachments go in key-named sub-folders.
list_subtasks issueKey site List the sub-tasks of an issue with key, summary, and state.

Search

Tool Required Args Optional Args Description
search_issues_jql jql startAt, maxResults, site Search issues with JQL using classic offset pagination.
search_issues_jql_post jql nextPageToken, maxResults, site Search issues with JQL using cursor-based pagination.

Projects

Tool Required Args Optional Args Description
get_all_projects (none) site List all projects.
get_project projectKey site Get project details by key.
get_project_components projectKey site List project components.
get_project_versions projectKey site List project versions.
create_project key, name projectTypeKey, site Create a project.
update_project projectKey name, description, site Rename/re-describe a project.
delete_project projectKey site Delete a project. Permanent.
get_project_statuses projectKey site List statuses per issue type in a project.
get_project_types (none) site List all project types.
get_project_roles projectKey site List project roles.
get_project_role projectKey, roleId site Get a project role with its actors.
get_project_properties projectKey site List entity property keys of a project.
get_project_features projectKey site List enabled project features (Cloud only; Server/DC returns status 501).

Issue Types & Status

Tool Required Args Optional Args Description
get_issue_types (none) projectId, site List issue types, optionally scoped to a project.
get_issue_type id site Get an issue type by ID.
get_statuses (none) site List all workflow statuses.
get_status idOrName site Get a single status by ID or name.
get_status_categories (none) site List all status categories.

Boards & Sprints

Tool Required Args Optional Args Description
get_all_boards (none) site List all Agile boards.
get_board boardId site Get board details.
get_board_issues boardId site List the issues on a board.
get_sprints boardId site List the sprints of a board.
get_sprint sprintId site Get sprint details.
create_sprint boardId, name startDate, endDate, goal, site Create a sprint.
update_sprint sprintId name, state, startDate, endDate, goal, site Update a sprint.
move_issues_to_sprint sprintId, issueKeys site Move one or more issues into a sprint.

Users

Tool Required Args Optional Args Description
get_user accountId site Get a user by accountId (Cloud) or username (Server/DC).
get_current_user (none) site Get the authenticated user.
get_users_assignable projectKey site List users assignable to issues in a project.
get_user_groups accountId site List the groups a user belongs to; accountId (Cloud) or username (Server/DC).

Fields

Tool Required Args Optional Args Description
get_fields (none) site List all Jira fields (standard and custom).
create_custom_field name, type site Create a custom field.
get_field_contexts fieldId site List the contexts of a custom field (Cloud only; Server/DC returns status 501).

Saved Filters

Tool Required Args Optional Args Description
get_filters (none) site List saved filters (Server/DC: favourite filters).
get_filter filterId site Get a saved filter by ID.
create_filter name, jql site Save a new filter.
update_filter filterId name, jql, site Rename/change the JQL of a filter.
delete_filter filterId site Delete a saved filter.
Tool Required Args Optional Args Description
get_remote_links issueKey site List remote links of an issue.
create_issue_link fromKey, toKey, linkTypeName site Link two issues (e.g. Blocks).
delete_issue_link linkId site Delete an issue link by ID.

Webhooks

Tool Required Args Optional Args Description
get_webhooks (none) site List all registered webhooks.
create_webhook url, events site Register a webhook for one or more Jira events.
delete_webhook webhookId site Delete a webhook by ID.

Context & Config

Tool Required Args Optional Args Description
jira_context (none) site Show the currently resolved Jira site and its source.
jira_config_list (none) — List all configured Jira sites.

📝 Notes

  • Site selection priority: --site flag → JIRA_SITE env var → defaultSite in config → the only configured site. Use jira context to verify which site is resolved.
  • Attachments + Jira Server 2FA: downloading attachments from Jira Server protected by 2FA may require a browser session cookie. Configure it with jira config set-session-cookie --site NAME --cookie <JSESSIONID>. See docs/download-allegati-2fa.md.
  • --debug: prints full HTTP request/response details to stderr, so stdout is never corrupted — safe to use even while the MCP server is running.
  • download_all_attachments: attaches of the parent issue go in the root output directory; each sub-task's attachments are saved in a sub-folder named by the sub-task key.
  • --fetch-all: without it, search results stop at the first page (--max-results, default 50). With it, all matching issues are retrieved across pages.
  • API tokens: Jira Cloud uses API tokens from https://id.atlassian.com/manage-profile/security/api-tokens; Jira Server/DC uses Personal Access Tokens created in the Jira profile. Keep them out of source control — they live only in ~/.config/jira-cli/config.json.
  • Complete output: read commands/tools return every non-empty property sent by Jira (e.g. self, avatarUrls, timeZone, statusCategory, iconUrl), not only the typed fields; null/empty values (null, "", [], {}) are omitted.
  • Server/DC endpoint mapping (API v2): filter list → /filter/favourite; user get/user groups → /user?username= (+expand=groups); issuetype list --project → issueTypes of /project/{id}; webhooks → rest/webhooks/1.0/webhook (id derived from self). project features and field contexts are Cloud-only.
  • transition_issue: the transition target can be the transition name or the destination state name; case-insensitive.
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.0.2 91 9/24/2026
1.0.1 126 8/28/2026
1.0.0 140 6/22/2026