# Jira — how to use (mcp.ai)

Jira via linguagem natural: crie, busque e atualize issues, transições, sprints e projetos. Plataforma fornece a aplicação OAuth, você só clica em Conectar e autoriza seu site Atlassian. Vários sites podem ser conectados no mesmo MCP.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_jira?ms=1781045280000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `jira_add_attachment`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/jira`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/jira/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/jira/add/attachment` — Uploads and attaches a file to a jira issue.
  - body: { issue_key: string, file_to_upload: object }
- `POST https://api.mcp.ai/api/jira/add/comment` — Adds a comment using atlassian document format (adf) for rich text to an existing jira issue.
  - body: { comment: string, issue_id_or_key: string, visibility_type?: string, visibility_value?: string }
- `POST https://api.mcp.ai/api/jira/add/watcher/to/issue` — Adds a user to an issue's watcher list by account id.
  - body: { account_id: string, issue_id_or_key: string }
- `POST https://api.mcp.ai/api/jira/assign/issue` — Assigns a jira issue to a user, default assignee, or unassigns; supports email/name lookup.
  - body: { account_id?: string, assignee_name?: string, issue_id_or_key: string }
- `POST https://api.mcp.ai/api/jira/bulk/create/issue` — Creates multiple jira issues (up to 50 per call) with full feature support including markdown, assignee resolution, and priority handling.
  - body: { issues: object[] }
- `POST https://api.mcp.ai/api/jira/create/issue` — Creates a new jira issue (e.g., bug, task, story) in a specified project.
  - body: { labels?: string[], summary: string, assignee?: string, due_date?: string, priority?: string, reporter?: string, versions?: string[], sprint_id?: integer, components?: string[], issue_type?: string, description?: string, environment?: string, project_key: string, fix_versions?: string[], assignee_name?: string }
- `POST https://api.mcp.ai/api/jira/create/issue/link` — Links two jira issues using a specified link type with optional comment.
  - body: { comment?: string, link_type: string, inward_issue_key: string, outward_issue_key: string }
- `POST https://api.mcp.ai/api/jira/create/project` — Creates a new jira project with required lead, template, and type configuration.
  - body: { key: string, url?: string, name: string, avatar_id?: integer, category_id?: integer, description?: string, assignee_type?: string, lead_account_id: string, project_type_key: string, permission_scheme?: integer, notification_scheme?: integer, project_template_key: string, issue_security_scheme?: integer }
- `POST https://api.mcp.ai/api/jira/create/sprint` — Creates a new sprint on a jira board with optional start/end dates and goal.
  - body: { goal?: string, name: string, end_date?: string, start_date?: string, origin_board_id: integer }
- `POST https://api.mcp.ai/api/jira/create/version` — Creates a new version for releases or milestones in a jira project.
  - body: { name: string, archived?: boolean, released?: boolean, projectId: integer, startDate?: string, description?: string, releaseDate?: string }
- `POST https://api.mcp.ai/api/jira/delete/comment` — Deletes a specific comment from a jira issue using its id and the issue's id/key; requires user permission to delete comments on the issue.
  - body: { id: string, issueIdOrKey: string }
- `POST https://api.mcp.ai/api/jira/delete/issue` — Deletes a jira issue by its id or key.
  - body: { delete_subtasks?: boolean, issue_id_or_key: string }
- `POST https://api.mcp.ai/api/jira/delete/version` — Deletes a jira version and optionally reassigns its issues.
  - body: { version_id: string, move_fix_issues_to?: string, move_affected_issues_to?: string }
- `POST https://api.mcp.ai/api/jira/delete/worklog` — Deletes a worklog from a jira issue with estimate adjustment options.
  - body: { worklog_id: string, increase_by?: string, new_estimate?: string, notify_users?: boolean, adjust_estimate?: string, issue_id_or_key: string, override_editable_flag?: boolean }
- `POST https://api.mcp.ai/api/jira/edit/issue` — Updates an existing jira issue with field values and operations. supports direct field parameters (summary, description, assignee, priority, etc.) that are merged with the fields parameter. direct par
  - body: { fields?: object, labels?: string[], update?: object, summary?: string, assignee?: string, due_date?: string, description?: string, notify_users?: boolean, return_issue?: boolean, issue_id_or_key: string, sprint_id_or_name?: string, priority_id_or_name?: string, override_editable_flag?: boolean, override_screen_security?: boolean }
- `POST https://api.mcp.ai/api/jira/find/users` — Searches for jira users by email, display name, or username to find account ids; essential for assigning issues, adding watchers, and other user-related operations.
  - body: { query?: string, start_at?: integer, username?: string, account_id?: string, max_results?: integer, include_active?: boolean, include_inactive?: boolean }
- `POST https://api.mcp.ai/api/jira/get/all/issue/type/schemes` — Retrieves all jira issue type schemes with optional filtering and pagination.
  - body: { id?: integer[], start_at?: integer, max_results?: integer }
- `POST https://api.mcp.ai/api/jira/get/all/projects` — Retrieves all visible projects using the modern paginated jira api with server-side filtering and pagination support.
  - body: { name?: string, query?: string, action?: string, expand?: string, status?: string[], orderBy?: string, startAt?: integer, categoryId?: integer, maxResults?: integer, properties?: string[] }
- `POST https://api.mcp.ai/api/jira/get/all/statuses` — Retrieves all available issue statuses from jira with details.
- `POST https://api.mcp.ai/api/jira/get/all/users` — Retrieves all users from the jira instance including active, inactive, and other user states with pagination support.
  - body: { start_at?: integer, max_results?: integer }
- `POST https://api.mcp.ai/api/jira/get/comment` — Retrieves a specific comment by id from a jira issue with optional expansions.
  - body: { expand?: string, comment_id: string, issue_id_or_key: string }
- `POST https://api.mcp.ai/api/jira/get/current/user` — Retrieves detailed information about the currently authenticated jira user.
  - body: { expand?: string }
- `POST https://api.mcp.ai/api/jira/get/issue` — Retrieves a jira issue by id or key with customizable fields and expansions.
  - body: { expand?: string, fields?: string[], properties?: string[], fields_by_keys?: boolean, update_history?: boolean, issue_id_or_key: string }
- `POST https://api.mcp.ai/api/jira/get/issue/link/types` — Retrieves all configured issue link types from jira.
- `POST https://api.mcp.ai/api/jira/get/issue/property` — Retrieves a custom property from a jira issue by key.
  - body: { property_key: string, issue_id_or_key: string }
- `POST https://api.mcp.ai/api/jira/get/issue/resolutions` — Retrieves all available issue resolution types from jira.
- `POST https://api.mcp.ai/api/jira/get/issue/type/scheme` — Gets a jira issue type scheme by id with all associated issue types.
  - body: { issue_type_scheme_id: string }
- `POST https://api.mcp.ai/api/jira/get/issue/types` — Retrieves all jira issue types available to the user using the modern api v3 endpoint; results vary based on 'administer jira' global or 'browse projects' project permissions.
- `POST https://api.mcp.ai/api/jira/get/issue/watchers` — Retrieves users watching a jira issue for update notifications.
  - body: { start_at?: integer, max_results?: integer, issue_id_or_key: string }
- `POST https://api.mcp.ai/api/jira/get/issue/worklogs` — Retrieves worklogs for a jira issue with user permission checks.
  - body: { start_at?: integer, max_results?: integer, started_after?: integer, started_before?: integer, issue_id_or_key: string }
- `POST https://api.mcp.ai/api/jira/get/project/versions` — Retrieves all versions for a jira project with optional expansion.
  - body: { expand?: string, project_id_or_key: string }
- `POST https://api.mcp.ai/api/jira/get/remote/issue/links` — Retrieves links from a jira issue to external resources.
  - body: { global_id?: string, issue_id_or_key: string }
- `POST https://api.mcp.ai/api/jira/get/transitions` — Retrieves available workflow transitions for a jira issue.
  - body: { expand?: string, transition_id?: string, issue_id_or_key: string, skip_remote_only_condition?: boolean, sort_by_ops_bar_and_status?: boolean, include_unavailable_transitions?: boolean }
- `POST https://api.mcp.ai/api/jira/get/votes` — Fetches voting details for a jira issue; requires voting to be enabled in jira's general settings.
  - body: { issue_id_or_key: string }
- `POST https://api.mcp.ai/api/jira/get/worklog` — Retrieves worklogs for a specified jira issue.
  - body: { expand?: string, start_at?: integer, max_results?: integer, started_after?: integer, started_before?: integer, issue_id_or_key: string }
- `POST https://api.mcp.ai/api/jira/list/boards` — Retrieves paginated jira boards with filtering and sorting options.
  - body: { name?: string, type?: string, orderBy?: string, start_at?: integer, max_results?: integer, includePrivate?: boolean, projectKeyOrId?: string }
- `POST https://api.mcp.ai/api/jira/list/issue/comments` — Retrieves paginated comments from a jira issue with optional ordering.
  - body: { expand?: string, order_by?: string, start_at?: integer, max_results?: integer, issue_id_or_key: string }
- `POST https://api.mcp.ai/api/jira/list/sprints` — Retrieves paginated sprints from a jira board with optional state filtering.
  - body: { state?: string, board_id: integer, start_at?: integer, max_results?: integer }
- `POST https://api.mcp.ai/api/jira/move/issue/to/sprint` — Moves one or more jira issues to a specified active sprint.
  - body: { issues: string[], sprint_id: integer }
- `POST https://api.mcp.ai/api/jira/remove/watcher/from/issue` — Removes a user from an issue's watcher list by account id.
  - body: { account_id: string, issue_id_or_key: string }
- `POST https://api.mcp.ai/api/jira/search/for/issues/using/jql/get` — Searches for jira issues using jql with pagination and field selection.
  - body: { jql: string, expand?: string, fields?: string[], start_at?: integer, properties?: string[], max_results?: integer, fields_by_keys?: boolean, validate_query?: string }
- `POST https://api.mcp.ai/api/jira/search/for/issues/using/jql/post` — Searches for jira issues using jql via post request for complex queries; ideal for lengthy jql queries that might exceed url character limits
  - body: { jql: string, expand?: string, fields?: string[], start_at?: integer, properties?: string[], max_results?: integer, fields_by_keys?: boolean, validate_query?: string }
- `POST https://api.mcp.ai/api/jira/search/issues` — Advanced jira issue search supporting structured filters and raw jql.
  - body: { jql?: string, labels?: string[], assignee?: string, start_at?: integer, max_results?: integer, project_key?: string, text_search?: string, created_after?: string, updated_after?: string, created_before?: string, updated_before?: string, sprint_id_or_name?: string, status_id_or_name?: string, priority_id_or_name?: string, issue_type_id_or_name?: string }
- `POST https://api.mcp.ai/api/jira/send/notification/for/issue` — Sends a customized email notification for a jira issue.
  - body: { to: object, subject: string, restrict?: object, html_body?: string, text_body: string, issue_id_or_key: string }
- `POST https://api.mcp.ai/api/jira/transition/issue` — Transitions a jira issue to a different workflow state, with support for transition name lookup and user assignment by email.
  - body: { comment?: string, assignee?: string, resolution?: string, assignee_name?: string, issue_id_or_key: string, transition_id_or_name: string }
- `POST https://api.mcp.ai/api/jira/update/comment` — Updates text content or visibility of an existing jira comment.
  - body: { comment_id: string, comment_text: string, notify_users?: boolean, issue_id_or_key: string, visibility_type?: string, visibility_value?: string }

## Example prompts
- "Crie uma issue 'Erro no checkout' no projeto WEB com prioridade alta"
- "Liste minhas issues abertas atribuídas a mim"
- "Mova a issue WEB-204 para 'Em progresso'"

## More
- Page: https://mcp.ai/jira
- Agent spec (llms.txt): https://mcp.ai/jira/llms.txt
- Postman collection: https://mcp.ai/jira/postman.json
