Atlassian Rovo MCP

Overview

The Atlassian Rovo MCP connector enables your Leena AI Agents to integrate with your organization's Atlassian Cloud platform, facilitating automated work item management, content creation, and search workflows across Jira and Confluence.

The Atlassian Rovo MCP Server is Atlassian's official remote Model Context Protocol (MCP) server that securely exposes Jira, Confluence, and other Atlassian Cloud apps as tools for AI agents. Leena AI connects to it through the MCP connector, allowing Agents to create and update Jira issues, search and author Confluence pages, and automate cross-product workflows — all while respecting each user's existing Atlassian access controls and permissions.

API Details

Leena AI integrates with the Atlassian Rovo MCP Server via the Model Context Protocol (MCP) over Streamable HTTP.

MCP server URL: https://mcp.atlassian.com/v1/mcp

📘

The legacy endpoint https://mcp.atlassian.com/v1/sse is deprecated by Atlassian and will no longer be supported after June 30, 2026. Use https://mcp.atlassian.com/v1/mcp.

Documentation link: https://support.atlassian.com/atlassian-rovo-mcp-server/docs/getting-started-with-the-atlassian-remote-mcp-server/

Setup

The Atlassian Rovo MCP Server is connected through Leena AI's MCP connector. The connector supports the following authentication types: No authentication, Custom auth (static headers), Admin OAuth 2.0, and User OAuth 2.0.

For Atlassian Rovo MCP, use one of the two methods Atlassian supports:

  • User OAuth 2.0 (recommended): Atlassian's OAuth 2.1 browser-based authorization. Each employee signs in with their own Atlassian account, and every action runs with that user's existing Jira/Confluence permissions.
  • Custom auth (API token): A static Authorization header using an Atlassian API token (Basic) or a service account API key (Bearer). All actions run with the permissions of the token's account. This method must be enabled by your Atlassian organization admin.

Prerequisites

Before setting up the Atlassian Rovo MCP connector, ensure you have:

  • An Atlassian Cloud site with the products you want to automate (Jira, Confluence, etc.)
  • Atlassian Rovo MCP Server access allowed for your organization (organization admins can control this from Atlassian Administration > Security > Atlassian Rovo MCP server settings)
  • For API token authentication: API token authentication for the Rovo MCP Server enabled by your Atlassian organization admin
  • Atlassian accounts (with appropriate product permissions) for the employees who will use the actions
  • Access to your Leena AI workspace with connector management permissions

Get credentials

For User OAuth 2.0:

No API credentials need to be created upfront. The Atlassian Rovo MCP Server uses OAuth 2.1 — when the connection is set up, users are redirected to Atlassian's authorization page in the browser, where they sign in and approve access to their Atlassian apps. Authorization and token endpoints are discovered automatically from the MCP server, and access is limited to what each user can already see and do in Atlassian.

For Custom auth (API token):

Here is how to create an Atlassian API token:

  1. Log in to your Atlassian account and go to Manage your account > Security > API tokens (id.atlassian.com)
  2. Click Create API token (choose a scoped token if you want to restrict it to specific apps and scopes)
  3. Give the token a name and expiry, and select the required scopes for the tools you plan to use
  4. Copy and securely store the token (it is displayed only once)
  5. Note the email address of the Atlassian account the token belongs to
  6. Build the header value by Base64-encoding the string [email protected]:your_api_token

Alternatively, an organization admin can create a service account and generate an API key with the required scopes; this is passed as a Bearer token instead of Basic authentication.

Add connection

Here is how to add a connection on Leena AI:

  1. Log in to your Leena AI workspace
  2. Navigate to Settings > Integrations
  3. Search for "Custom MCP" and select it from the list to add its new connector
  4. Give the connection a name (for example, "Atlassian Rovo MCP")
  5. Start configuring the connector
    1. MCP remote URL: The Atlassian Rovo MCP Server URL — https://mcp.atlassian.com/v1/mcp
    2. Authentication type: Select "User OAuth 2.0" (recommended) or "Custom auth" for API token authentication
  6. For User OAuth 2.0, fill in the OAuth fields:
    1. Redirect URI: The callback URL for the OAuth flow (auto-generated by Leena AI)
    2. Client ID: OAuth client ID
    3. Client secret: OAuth client secret
  7. For Custom auth, fill in:
    1. Authentication headers: Headers in JSON format, for example:

      {
        "Authorization": "Basic <base64 of [email protected]:your_api_token>"
      }

      or, when using a service account API key:

      {
        "Authorization": "Bearer <service_account_api_key>"
      }
  8. Complete the OAuth flow and save the configuration
    1. Click Connect in Leena AI for the Atlassian Rovo MCP connection
    2. You'll be redirected to Atlassian's authorization page
    3. Sign in to your Atlassian account if prompted
    4. Click Accept to grant access to your Atlassian apps
    5. You'll be redirected back to Leena AI with a successful connection
    6. The connector will be saved
  9. Once the connection is authorized, the available actions are fetched automatically from the Atlassian Rovo MCP Server and can be selected while building skills (workflows)
📘

With User OAuth 2.0, each employee authorizes their own Atlassian account the first time an action runs on their behalf. If a user hasn't connected yet, Leena AI shares an authorization link so they can sign in to Atlassian.

Actions

Actions for this connector are discovered dynamically from the Atlassian Rovo MCP Server. The list of actions available in your workspace reflects the authentication method used and the Atlassian apps and permissions granted during authorization. All actions accept JSON input matching the tool's schema, and every action runs with the authenticated user's existing Atlassian permissions.

The following key actions are supported for the Atlassian Rovo MCP connector:

getJiraIssue

Retrieves the details of a Jira issue by its ID or key. The Agent can leverage the skill (workflow), which has been designed to fetch issue details from Jira, once the user raises a query to do so. Here are some common use cases:

  • Status Check: Get the current status and assignee of a ticket
  • Issue Summary: Summarize an issue's description and comments for the user
  • Field Lookup: Read specific fields (priority, labels, resolution) before taking further action

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Cloud IDThe Atlassian Cloud ID or site URL (e.g., your-domain.atlassian.net)
Issue ID/KeyThe issue ID or key (e.g., PROJ-123 or 10000)

Optional

NameDescription
FieldsList of issue fields to return; defaults to summary, description, status, issue type, priority, labels, components, assignee, reporter, created, updated, resolution, and project. Pass "*all" for every field, or include "comment" to fetch issue comments
ExpandAdditional issue details to expand in the response (e.g., renderedFields or names)
PropertiesIssue property keys to include in the response
Fields By KeysWhether fields in the request are referenced by field keys instead of IDs
Fail FastWhether to fail quickly when some fields cannot be loaded instead of partially returning data
Update HistoryWhether to update the user's recently viewed history for this issue request
Response Content FormatContent format for body content — markdown for simplified plain text or adf (Atlassian Document Format)

Here is a sample JSON input:

{
  "cloudId": "your-domain.atlassian.net",
  "issueIdOrKey": "PROJ-123",
  "fields": ["summary", "status", "assignee", "priority"],
  "responseContentFormat": "markdown"
}

Response

The action returns the issue details including:

  • Issue ID and key
  • Requested fields (summary, description, status, issue type, priority, labels, assignee, reporter, created/updated dates, resolution, project)
  • Comments (when requested via fields)

searchJiraIssuesUsingJql

Searches Jira issues using a JQL (Jira Query Language) query. This action can be leveraged by the Leena AI Orchestrator/Agent to find issues matching specific criteria. Here are some common use cases:

  • My Open Tickets: Find all open issues assigned to the requesting user
  • Sprint Review: List issues updated in the current sprint
  • Escalation Check: Find high-priority unresolved bugs in a project
  • Reporting: Retrieve issues created within a date range for summaries

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Cloud IDThe Atlassian Cloud ID or site URL (e.g., your-domain.atlassian.net)
JQLThe JQL query string used to filter issues

Optional

NameDescription
FieldsList of issue fields to return for each matching issue; same defaults as getJiraIssue
Max ResultsMaximum number of issues to return (50–100)
Next Page TokenPage token to fetch the next page of results
Search Result Modeissues (default) to return matching issues, count to return only the total count, all for both
Response Content FormatContent format for body content — markdown or adf

Here is a sample JSON input:

{
  "cloudId": "your-domain.atlassian.net",
  "jql": "project = PROJ AND status = 'In Progress' AND assignee = currentUser() ORDER BY updated DESC",
  "maxResults": 50,
  "fields": ["summary", "status", "priority", "assignee"]
}

Response

The action returns a list of matching Jira issues, each containing:

  • Issue ID and key
  • Requested fields (summary, status, priority, assignee, etc.)
  • Pagination token for the next page (when more results are available)
  • Total count (when the count mode is requested)

createJiraIssue

Creates a new issue in a Jira project. The Agent can leverage the skill (workflow), which has been designed to create a Jira issue, once the user raises a query to do so. Here are some common use cases:

  • Ticket Raising: Create a bug, task, or story from an employee's request
  • HR/IT Requests: Convert conversational requests into trackable work items
  • Follow-ups: Create action items from meeting or conversation summaries

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Cloud IDThe Atlassian Cloud ID or site URL (e.g., your-domain.atlassian.net)
Project KeyThe key of the project in which the issue will be created
Issue Type NameThe issue type (e.g., Task, Bug, Story)
SummaryThe title/summary of the issue

Optional

NameDescription
DescriptionIssue description — plain text/Markdown (default) or an ADF document when the content format is set to adf
Assignee Account IDAtlassian account ID of the assignee (use lookupJiraAccountId to find it)
ParentParent issue key (for subtasks)
Additional FieldsJSON object for any other Jira field — priority, labels, components, fix versions, custom fields (e.g., {"priority": {"name": "High"}, "labels": ["bug"]})
TransitionWorkflow transition (by ID) to apply during creation
Content FormatContent format for body content — markdown (default) or adf
Response Content FormatContent format for body content in the response — markdown or adf

Here is a sample JSON input:

{
  "cloudId": "your-domain.atlassian.net",
  "projectKey": "PROJ",
  "issueTypeName": "Task",
  "summary": "Laptop replacement request for new joiner",
  "description": "Employee needs a laptop replacement. Please process by Friday.",
  "assignee_account_id": "5b10ac8d82e05b22cc7d4ef5",
  "additional_fields": {
    "priority": { "name": "High" },
    "labels": ["it-support"]
  }
}

Response

Upon successful creation, the action returns the created issue details including:

  • Issue ID and key
  • Issue URL
  • Created field values

editJiraIssue

Updates fields on an existing Jira issue. The Agent can leverage the skill (workflow), which has been designed to modify an existing Jira issue, once the user provides the details to be updated. Here are some common use cases:

  • Detail Updates: Change summary, description, or priority of a ticket
  • Reassignment: Update the assignee of an issue
  • Labelling: Add or update labels and components
  • Field Cleanup: Clear a field (e.g., resolution) by passing an explicit null

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Cloud IDThe Atlassian Cloud ID or site URL (e.g., your-domain.atlassian.net)
Issue ID/KeyThe issue ID or key (e.g., PROJ-123 or 10000)
FieldsJSON object of fields to set, keyed by field name or custom field ID; pass null for a field to clear its value

Optional

NameDescription
Content FormatContent format for body content — markdown (default) or adf
Response Content FormatContent format for body content in the response — markdown or adf

Here is a sample JSON input:

{
  "cloudId": "your-domain.atlassian.net",
  "issueIdOrKey": "PROJ-123",
  "fields": {
    "summary": "Updated: Laptop replacement request",
    "priority": { "name": "Highest" },
    "labels": ["it-support", "urgent"]
  }
}

Response

Upon successful update, the action returns the updated issue with its default read fields (summary, description, status, issue type, priority, labels, components, assignee, reporter, created, updated, resolution, project).

transitionJiraIssue

Moves a Jira issue to a new status by executing a workflow transition. The Agent can leverage the skill (workflow), which has been designed to transition a Jira issue, once the user specifies the issue and target state. Here are some common use cases:

  • Close Tickets: Move resolved requests to Done
  • Start Work: Move a ticket to In Progress when an agent picks it up
  • Approvals: Advance issues through approval workflow states
📘

Use the getTransitionsForJiraIssue action first to list the transition IDs available for the issue in its current status.

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Cloud IDThe Atlassian Cloud ID or site URL (e.g., your-domain.atlassian.net)
Issue ID/KeyThe issue ID or key (e.g., PROJ-123 or 10000)
TransitionObject containing the workflow transition ID to execute (e.g., {"id": "31"})

Optional

NameDescription
FieldsJSON object of fields to set during the transition
UpdateJSON object of update operations to apply during the transition
History MetadataMetadata describing the actor/cause of the transition for issue history

Here is a sample JSON input:

{
  "cloudId": "your-domain.atlassian.net",
  "issueIdOrKey": "PROJ-123",
  "transition": { "id": "31" }
}

Response

Upon successful transition, the action returns confirmation that the issue was moved to the new status.

addCommentToJiraIssue

Adds a new comment to a Jira issue, or updates an existing comment. The Agent can leverage the skill (workflow), which has been designed to comment on Jira issues, once the user raises a query to do so. Here are some common use cases:

  • Status Updates: Post progress updates on a ticket on the user's behalf
  • Conversation Sync: Add context captured in a chat to the relevant issue
  • Restricted Notes: Add comments visible only to a specific group or role

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Cloud IDThe Atlassian Cloud ID or site URL (e.g., your-domain.atlassian.net)
Issue ID/KeyThe issue ID or key (e.g., PROJ-123 or 10000)
Comment BodyThe text of the comment

Optional

NameDescription
Comment IDID of an existing comment to update; if omitted, a new comment is added
Comment VisibilityRestricts the comment's visibility, with parameters: type (group or role) and value
Content FormatContent format for body content — markdown (default) or adf
Response Content FormatContent format for body content in the response — markdown or adf

Here is a sample JSON input:

{
  "cloudId": "your-domain.atlassian.net",
  "issueIdOrKey": "PROJ-123",
  "commentBody": "The replacement laptop has been dispatched and will be delivered by Friday.",
  "commentVisibility": {
    "type": "role",
    "value": "Administrators"
  }
}

Response

Upon successful creation or update, the action returns the comment details including:

  • Comment ID
  • Comment body
  • Author and timestamps

getConfluencePage

Retrieves a Confluence page or blog post by its ID, including the body content. The Agent can leverage the skill (workflow), which has been designed to fetch Confluence content, once the user raises a query to do so. Here are some common use cases:

  • Content Lookup: Fetch a policy or process page to answer an employee's question
  • Summarization: Read a page so the Agent can summarize it for the user
  • Pre-update Read: Fetch the current body before updating a page

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Cloud IDThe Atlassian Cloud ID or site URL (e.g., your-domain.atlassian.net)
Page IDThe page or blog post ID, or a Confluence tiny link ID (the encoded part from /wiki/x/ URLs)

Optional

NameDescription
Content TypeType of content — page (default) or blog
Content FormatFormat of the returned body — html (structured Confluence HTML), markdown, or adf

Here is a sample JSON input:

{
  "cloudId": "your-domain.atlassian.net",
  "pageId": "123456789",
  "contentFormat": "markdown"
}

Response

The action returns the page details including:

  • Page ID and title
  • Space information
  • Body content in the requested format
  • Version information

searchConfluenceUsingCql

Searches Confluence content (pages, blog posts, comments, attachments) using CQL (Confluence Query Language). This action can be leveraged by the Leena AI Orchestrator/Agent to locate content matching specific criteria. Here are some common use cases:

  • Knowledge Lookup: Find pages by title or text for an employee's query
  • Space Audit: List pages modified recently in a specific space
  • Content Discovery: Find pages created by a specific user or carrying a label

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Cloud IDThe Atlassian Cloud ID or site URL (e.g., your-domain.atlassian.net)
CQLThe CQL query string (common fields: title, text, space, type, creator, label, lastmodified; content types: page, blogpost, comment, attachment)

Optional

NameDescription
CQL ContextCQL context for narrowing the search scope (e.g., space key)
LimitMaximum results to return (default 25, maximum 250)
CursorPagination cursor for fetching the next page
NextWhether to include the next page link
PrevWhether to include the previous page link
ExpandProperties to expand in the response

Here is a sample JSON input:

{
  "cloudId": "your-domain.atlassian.net",
  "cql": "title ~ \"leave policy\" AND type = page AND space = HR",
  "limit": 25
}

Response

The action returns a list of matching Confluence content items, each containing:

  • Content ID, title, and type
  • Space information
  • Links to the content
  • Pagination cursor (when more results are available)

createConfluencePage

Creates a new Confluence page or blog post. The Agent can leverage the skill (workflow), which has been designed to create Confluence content, once the user raises a query to do so. Here are some common use cases:

  • Documentation: Create meeting notes, policy drafts, or process documents from conversations
  • Knowledge Capture: Publish resolved-query summaries as knowledge articles
  • Draft Creation: Create draft pages for review before publishing

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Cloud IDThe Atlassian Cloud ID or site URL (e.g., your-domain.atlassian.net)
Space IDThe numeric space ID; a space key (e.g., "ENG") is also accepted and resolved automatically
BodyThe page body content (structured HTML, Markdown, or ADF depending on the content format)

Optional

NameDescription
TitleThe page or blog post title
Content TypeType of content — page (default) or blog
Parent IDID of the parent to nest the new page under (pages only)
Statuscurrent (published, default) or draft (unpublished)
SubtypePage subtype — live for live docs (pages only)
Is PrivateWhether to make the page private
Content FormatFormat of the supplied body — html, markdown, or adf

Here is a sample JSON input:

{
  "cloudId": "your-domain.atlassian.net",
  "spaceId": "HR",
  "title": "Work From Home Policy - FAQ",
  "body": "# Work From Home Policy - FAQ\n\nThis page summarizes the most frequently asked questions about the WFH policy.",
  "contentFormat": "markdown",
  "status": "draft"
}

Response

Upon successful creation, the action returns the created page details including:

  • Page ID and title
  • Space information
  • Page URL
  • Status (current/draft) and version information

updateConfluencePage

Updates an existing Confluence page or blog post. The Agent can leverage the skill (workflow), which has been designed to modify Confluence content, once the user provides the details to be updated. Here are some common use cases:

  • Content Refresh: Update outdated sections of a policy or FAQ page
  • Append Updates: Add new information to an existing page
  • Retitle/Move: Change a page's title or move it under a different parent

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Cloud IDThe Atlassian Cloud ID or site URL (e.g., your-domain.atlassian.net)
Page IDThe page or blog post ID, or a Confluence tiny link ID
BodyThe new page body content (structured HTML, Markdown, or ADF depending on the content format)

Optional

NameDescription
TitleNew title for the page
Content TypeType of content — page (default) or blog
Space IDSpace ID
Parent IDID of the parent to move the page under (pages only)
StatusPage status — current (default) or draft
Version MessageMessage describing the change, stored with the new version
Include BodyWhether to include the page body in the response (default false)
Content FormatFormat of the supplied body — html, markdown, or adf

Here is a sample JSON input:

{
  "cloudId": "your-domain.atlassian.net",
  "pageId": "123456789",
  "title": "Work From Home Policy - FAQ (Updated)",
  "body": "# Work From Home Policy - FAQ\n\nUpdated for the 2026 policy revision.",
  "contentFormat": "markdown",
  "versionMessage": "Updated for 2026 policy revision"
}

Response

Upon successful update, the action returns the updated page details including:

  • Page ID and title
  • New version information
  • Page URL
  • Updated body (when Include Body is true)

Other available actions

In addition to the key actions above, the following actions are discovered from the Atlassian Rovo MCP Server and can be used in skills (workflows). Availability depends on the authentication method and the Atlassian apps enabled for your organization.

Common

ActionDescription
atlassianUserInfoRetrieves the current authenticated user's Atlassian account information
getAccessibleAtlassianResourcesLists accessible Atlassian sites with their Cloud IDs (used by other actions)

Jira

ActionDescription
getTransitionsForJiraIssueLists workflow transitions available for an issue in its current status
getVisibleJiraProjectsLists Jira projects accessible to the user
getJiraProjectIssueTypesMetadataLists issue types available in a Jira project
getJiraIssueTypeMetaWithFieldsGets create-field metadata for a project and issue type
getJiraIssueRemoteIssueLinksLists remote (web) links on a Jira issue
getIssueLinkTypesLists available issue link types
createIssueLinkCreates a link between two Jira issues
lookupJiraAccountIdFinds Jira user account IDs by name or email
addWorklogToJiraIssueAdds a time-tracking worklog to a Jira issue

Confluence

ActionDescription
getConfluenceSpacesLists Confluence spaces
getPagesInConfluenceSpaceLists pages within a space
getConfluencePageDescendantsLists child pages under a parent page
getConfluencePageFooterCommentsLists footer comments on a page
getConfluencePageInlineCommentsLists inline comments on a page
getConfluenceCommentChildrenLists replies to a comment
createConfluenceFooterCommentCreates a footer comment on a page, or a reply to a comment
createConfluenceInlineCommentCreates an inline comment tied to selected text on a page

Rovo Search

ActionDescription
searchSearches Jira and Confluence content using Rovo Search with a natural-language query
fetchFetches the details of a Jira issue or Confluence page by ARI (Atlassian Resource Identifier)

Teamwork Graph (Beta)

ActionDescription
getTeamworkGraphContextRetrieves connected context for work items from Atlassian Teamwork Graph
getTeamworkGraphObjectFetches all data for objects using ARIs or URLs
addTeamworkGraphContextAdds relationships between objects in Teamwork Graph

Compass (available with OAuth authentication only)

ActionDescription
getCompassComponentGets Compass component details by ID
getCompassComponentsSearches or lists Compass components
getCompassComponentActivityEventsLists recent activity events for a component
getCompassComponentLabelsGets labels of a component
getCompassComponentTypesLists available component types
getCompassCustomFieldDefinitionsLists custom field definitions
getCompassComponentsOwnedByMyTeamsLists components owned by the user's teams
createCompassComponentCreates a Compass component
createCompassComponentRelationshipCreates a relationship between components
createCompassCustomFieldDefinitionCreates a custom field definition

Jira Service Management Operations (available with API token authentication only)

ActionDescription
getJsmOpsAlertsRetrieves operations alerts by ID, alias, or search
getJsmOpsScheduleInfoLists on-call schedules or current/next responders
getJsmOpsTeamInfoLists operations teams and their details
updateJsmOpsAlertPerforms alert actions such as acknowledge, close, or escalate

Bitbucket Cloud (available with API token authentication only)

ActionDescription
bitbucketWorkspaceGets workspace details
bitbucketRepositoryGets repository details and content
bitbucketUserGets the user's pull requests
bitbucketPullRequestGets, creates, merges, approves, or comments on pull requests
bitbucketRepoContentGets branches, commits, and files; creates branches and commits
bitbucketPipelineGets pipeline details and logs; runs or manages pipelines
bitbucketDeploymentGets deployment information
bitbucketEnvironmentGets, creates, updates, or deletes deployment environments


Did this page help you?