Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
JIRA_URLYesJira base URL
CONFLUENCE_URLYesConfluence base URL

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tasks
{
  "list": {},
  "cancel": {},
  "requests": {
    "tools": {
      "call": {}
    },
    "prompts": {
      "get": {}
    },
    "resources": {
      "read": {}
    }
  }
}
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
atlassian_loginA

Launch a visible browser and wait for manual SSO / MFA login.

jira_get_user_profileA

Retrieve profile information for a specific Jira user.

Args: ctx: The FastMCP context. user_identifier: User identifier (email, username, key, or account ID).

Returns: JSON string representing the Jira user profile object, or an error object if not found.

Raises: ValueError: If the Jira client is not configured or available.

jira_get_issue_watchersA

Get the list of watchers for a Jira issue.

Args: ctx: The FastMCP context. issue_key: Jira issue key.

Returns: JSON string with watcher count and list of watchers.

Raises: ValueError: If the Jira client is not configured or available.

jira_add_watcherA

Add a user as a watcher to a Jira issue.

Args: ctx: The FastMCP context. issue_key: Jira issue key. user_identifier: Account ID (Cloud) or username (Server/DC).

Returns: JSON string with success confirmation.

Raises: ValueError: If the Jira client is not configured or available.

jira_remove_watcherA

Remove a user from watching a Jira issue.

Args: ctx: The FastMCP context. issue_key: Jira issue key. username: Username to remove (Server/DC). account_id: Account ID to remove (Cloud).

Returns: JSON string with success confirmation.

Raises: ValueError: If the Jira client is not configured or available.

jira_get_issueA

Get details of a specific Jira issue including its Epic links and relationship information.

Args: ctx: The FastMCP context. issue_key: Jira issue key. fields: Comma-separated list of fields to return (e.g., 'summary,status,customfield_10010'), a single field as a string (e.g., 'duedate'), '*all' for all fields, or omitted for essentials. expand: Optional fields to expand. comment_limit: Maximum number of comments. properties: Issue properties to return. update_history: Whether to update issue view history.

Returns: JSON string representing the Jira issue object.

Raises: ValueError: If the Jira client is not configured or available.

jira_searchA

Search Jira issues using JQL (Jira Query Language).

Args: ctx: The FastMCP context. jql: JQL query string. fields: Comma-separated fields to return. limit: Maximum number of results. start_at: Starting index for pagination. projects_filter: Comma-separated list of project keys to filter by. expand: Optional fields to expand. page_token: Pagination token from a previous search result (Cloud only).

Returns: JSON string representing the search results including pagination info.

jira_search_fieldsA

Search Jira fields by keyword with fuzzy match.

Args: ctx: The FastMCP context. keyword: Keyword for fuzzy search. limit: Maximum number of results. refresh: Whether to force refresh the field list.

Returns: JSON string representing a list of matching field definitions.

jira_get_field_optionsA

Get allowed option values for a custom field.

Returns the list of valid options for select, multi-select, radio, checkbox, and cascading select custom fields.

Cloud: Uses the Field Context Option API. If context_id is not provided, automatically resolves to the global context.

Server/DC: Uses createmeta to get allowedValues. Requires project_key and issue_type parameters.

Args: ctx: The FastMCP context. field_id: The custom field ID. context_id: Field context ID (Cloud only, auto-resolved if omitted). project_key: Project key (required for Server/DC). issue_type: Issue type name (required for Server/DC). contains: Case-insensitive substring filter on option values. return_limit: Cap on number of results after filtering. values_only: Return compact format with only value strings.

Returns: JSON string with the list of available options.

jira_get_project_issuesB

Get all issues for a specific Jira project.

Args: ctx: The FastMCP context. project_key: The project key. limit: Maximum number of results. start_at: Starting index for pagination.

Returns: JSON string representing the search results including pagination info.

jira_get_transitionsA

Get available status transitions for a Jira issue.

Args: ctx: The FastMCP context. issue_key: Jira issue key.

Returns: JSON string representing a list of available transitions.

jira_get_worklogB

Get worklog entries for a Jira issue.

Args: ctx: The FastMCP context. issue_key: Jira issue key.

Returns: JSON string representing the worklog entries.

jira_download_attachmentsA

Download attachments from a Jira issue.

Returns attachment contents as base64-encoded embedded resources so that they are available over the MCP protocol without requiring filesystem access on the server.

Args: ctx: The FastMCP context. issue_key: Jira issue key.

Returns: A list containing a text summary and one EmbeddedResource per successfully downloaded attachment.

jira_get_issue_imagesA

Get all images attached to a Jira issue as inline image content.

Filters attachments to images only (PNG, JPEG, GIF, WebP, SVG, BMP) and returns them as base64-encoded ImageContent that clients can render directly. Non-image attachments are excluded.

Files with ambiguous MIME types (application/octet-stream) are detected by filename extension as a fallback. Images larger than 50 MB are skipped with an error entry in the summary.

Args: ctx: The FastMCP context. issue_key: Jira issue key.

Returns: A list with a text summary followed by one ImageContent per successfully downloaded image.

jira_get_agile_boardsA

Get jira agile boards by name, project key, or type.

Args: ctx: The FastMCP context. board_name: Name of the board (fuzzy search). project_key: Project key. board_type: Board type ('scrum' or 'kanban'). start_at: Starting index. limit: Maximum results.

Returns: JSON string representing a list of board objects.

jira_get_board_issuesA

Get all issues linked to a specific board filtered by JQL.

Args: ctx: The FastMCP context. board_id: The ID of the board. jql: JQL query string to filter issues. fields: Comma-separated fields to return. start_at: Starting index for pagination. limit: Maximum number of results. expand: Optional fields to expand.

Returns: JSON string representing the search results including pagination info.

jira_get_sprints_from_boardA

Get jira sprints from board by state.

Args: ctx: The FastMCP context. board_id: The ID of the board. state: Sprint state ('active', 'future', 'closed'). If None, returns all sprints. start_at: Starting index. limit: Maximum results.

Returns: JSON string representing a list of sprint objects.

jira_get_sprint_issuesB

Get jira issues from sprint.

Args: ctx: The FastMCP context. sprint_id: The ID of the sprint. fields: Comma-separated fields to return. start_at: Starting index. limit: Maximum results.

Returns: JSON string representing the search results including pagination info.

jira_get_link_typesB

Get all available issue link types.

Args: ctx: The FastMCP context. name_filter: Optional substring to filter link types by name.

Returns: JSON string representing a list of issue link type objects.

jira_create_issueA

Create a new Jira issue with optional Epic link or parent for subtasks.

Args: ctx: The FastMCP context. project_key: The JIRA project key. summary: Summary/title of the issue. issue_type: Issue type (e.g., 'Task', 'Bug', 'Story', 'Epic', 'Subtask'). assignee: Assignee's user identifier (string): Email, display name, or account ID (e.g., 'user@example.com', 'John Doe', 'accountid:...'). description: Issue description in Markdown format. components: Comma-separated list of component names. additional_fields: JSON string of additional fields.

Returns: JSON string representing the created issue object.

Raises: ValueError: If in read-only mode or Jira client is unavailable.

jira_batch_create_issuesA

Create multiple Jira issues in a batch.

Args: ctx: The FastMCP context. issues: JSON array string of issue objects. validate_only: If true, only validates without creating.

Returns: JSON string indicating success and listing created issues (or validation result).

Raises: ValueError: If in read-only mode, Jira client unavailable, or invalid JSON.

jira_batch_get_changelogsA

Get changelogs for multiple Jira issues (Cloud only).

Args: ctx: The FastMCP context. issue_ids_or_keys: List of issue IDs or keys. fields: List of fields to filter changelogs by. None for all fields. limit: Maximum changelogs per issue (-1 for all).

Returns: JSON string representing a list of issues with their changelogs.

Raises: NotImplementedError: If run on Jira Server/Data Center. ValueError: If Jira client is unavailable.

jira_update_issueA

Update an existing Jira issue including changing status, adding Epic links, updating fields, etc.

Args: ctx: The FastMCP context. issue_key: Jira issue key. fields: JSON string of fields to update. Text fields like 'description' should use Markdown format. additional_fields: Optional JSON string of additional fields. components: Comma-separated list of component names. attachments: Optional JSON array string or comma-separated list of file paths.

Returns: JSON string representing the updated issue object and attachment results.

Raises: ValueError: If in read-only mode or Jira client unavailable, or invalid input.

jira_delete_issueB

Delete an existing Jira issue.

Args: ctx: The FastMCP context. issue_key: Jira issue key.

Returns: JSON string indicating success.

Raises: ValueError: If in read-only mode or Jira client unavailable.

jira_add_commentA

Add a comment to a Jira issue.

Args: ctx: The FastMCP context. issue_key: Jira issue key. body: Comment text in Markdown. visibility: (Optional) Comment visibility as JSON string. public: (Optional) For JSM issues. True = customer-visible, False = internal/agent-only. Uses ServiceDesk API.

Returns: JSON string representing the added comment object.

Raises: ValueError: If in read-only mode or Jira client unavailable.

jira_edit_commentA

Edit an existing comment on a Jira issue.

Args: ctx: The FastMCP context. issue_key: Jira issue key. comment_id: The ID of the comment to edit. body: Updated comment text in Markdown. visibility: (Optional) Comment visibility as JSON string.

Returns: JSON string representing the updated comment object.

Raises: ValueError: If in read-only mode or Jira client unavailable.

jira_add_worklogA

Add a worklog entry to a Jira issue.

Args: ctx: The FastMCP context. issue_key: Jira issue key. time_spent: Time spent in Jira format. comment: Optional comment in Markdown. started: Optional start time in ISO format. original_estimate: Optional new original estimate. remaining_estimate: Optional new remaining estimate.

Returns: JSON string representing the added worklog object.

Raises: ValueError: If in read-only mode or Jira client unavailable.

jira_link_to_epicA

Link an existing issue to an epic.

Args: ctx: The FastMCP context. issue_key: The key of the issue to link. epic_key: The key of the epic to link to.

Returns: JSON string representing the updated issue object.

Raises: ValueError: If in read-only mode or Jira client unavailable.

jira_create_issue_linkA

Create a link between two Jira issues.

Args: ctx: The FastMCP context. link_type: The type of link (e.g., 'Blocks'). inward_issue_key: The key of the source issue. outward_issue_key: The key of the target issue. comment: Optional comment text. comment_visibility: Optional JSON string for comment visibility.

Returns: JSON string indicating success or failure.

Raises: ValueError: If required fields are missing, invalid input, in read-only mode, or Jira client unavailable.

jira_create_remote_issue_linkA

Create a remote issue link (web link or Confluence link) for a Jira issue.

This tool allows you to add web links and Confluence links to Jira issues. The links will appear in the issue's "Links" section and can be clicked to navigate to external resources.

Args: ctx: The FastMCP context. issue_key: The key of the issue to add the link to. url: The URL to link to (can be any web page or Confluence page). title: The title/name that will be displayed for the link. summary: Optional description of what the link is for. relationship: Optional relationship description. icon_url: Optional URL to a 16x16 icon for the link.

Returns: JSON string indicating success or failure.

Raises: ValueError: If required fields are missing, invalid input, in read-only mode, or Jira client unavailable.

jira_remove_issue_linkA

Remove a link between two Jira issues.

Args: ctx: The FastMCP context. link_id: The ID of the link to remove.

Returns: JSON string indicating success.

Raises: ValueError: If link_id is missing, in read-only mode, or Jira client unavailable.

jira_transition_issueA

Transition a Jira issue to a new status.

Args: ctx: The FastMCP context. issue_key: Jira issue key. transition_id: ID of the transition. fields: Optional JSON string of fields to update during transition. comment: Optional comment for the transition in Markdown format.

Returns: JSON string representing the updated issue object.

Raises: ValueError: If required fields missing, invalid input, in read-only mode, or Jira client unavailable.

jira_create_sprintA

Create Jira sprint for a board.

Args: ctx: The FastMCP context. board_id: Board ID. name: Sprint name. start_date: Start date (ISO format). end_date: End date (ISO format). goal: Optional sprint goal.

Returns: JSON string representing the created sprint object.

Raises: ValueError: If in read-only mode or Jira client unavailable.

jira_update_sprintB

Update jira sprint.

Args: ctx: The FastMCP context. sprint_id: The ID of the sprint. name: Optional new name. state: Optional new state (future|active|closed). start_date: Optional new start date. end_date: Optional new end date. goal: Optional new goal.

Returns: JSON string representing the updated sprint object or an error message.

Raises: ValueError: If in read-only mode or Jira client unavailable.

jira_add_issues_to_sprintB

Add issues to a Jira sprint.

Args: ctx: The FastMCP context. sprint_id: The ID of the sprint. issue_keys: Comma-separated issue keys.

Returns: JSON string with success message.

Raises: ValueError: If in read-only mode or Jira client unavailable.

jira_get_project_versionsA

Get all fix versions for a specific Jira project.

jira_get_project_componentsB

Get all components for a specific Jira project.

jira_get_all_projectsA

Get all Jira projects accessible to the current user.

Args: ctx: The FastMCP context. include_archived: Whether to include archived projects.

Returns: JSON string representing a list of project objects accessible to the user. Project keys are always returned in uppercase. If JIRA_PROJECTS_FILTER is configured, only returns projects matching those keys.

Raises: ValueError: If the Jira client is not configured or available.

jira_get_service_desk_for_projectA

Get the Jira Service Desk associated with a project key.

Server/Data Center only. Not available on Jira Cloud.

Args: ctx: The FastMCP context. project_key: Jira project key.

Returns: JSON string with project key and service desk data (or null if not found).

Raises: NotImplementedError: If connected to Jira Cloud (Server/DC only).

jira_get_service_desk_queuesA

Get queues for a Jira Service Desk.

Server/Data Center only. Not available on Jira Cloud.

Args: ctx: The FastMCP context. service_desk_id: Service desk ID. start_at: Starting index for pagination. limit: Maximum number of queues to return.

Returns: JSON string with queue list and pagination metadata.

Raises: NotImplementedError: If connected to Jira Cloud (Server/DC only).

jira_get_queue_issuesA

Get issues from a Jira Service Desk queue.

Server/Data Center only. Not available on Jira Cloud.

Args: ctx: The FastMCP context. service_desk_id: Service desk ID. queue_id: Queue ID. start_at: Starting index for pagination. limit: Maximum number of issues to return.

Returns: JSON string with queue metadata, issues, and pagination metadata.

Raises: NotImplementedError: If connected to Jira Cloud (Server/DC only).

jira_create_versionB

Create a new fix version in a Jira project.

Args: ctx: The FastMCP context. project_key: The project key. name: Name of the version. start_date: Start date (optional). release_date: Release date (optional). description: Description (optional).

Returns: JSON string of the created version object.

jira_batch_create_versionsA

Batch create multiple versions in a Jira project.

Args: ctx: The FastMCP context. project_key: The project key. versions: JSON array string of version objects.

Returns: JSON array of results, each with success flag, version or error.

jira_get_issue_proforma_formsA

Get all ProForma forms associated with a Jira issue.

Uses the new Jira Forms REST API. Form IDs are returned as UUIDs.

Args: ctx: The FastMCP context. issue_key: The issue key to get forms for.

Returns: JSON string representing the list of ProForma forms, or an error object if failed.

jira_get_proforma_form_detailsA

Get detailed information about a specific ProForma form.

Uses the new Jira Forms REST API. Returns form details including ADF design structure.

Args: ctx: The FastMCP context. issue_key: The issue key containing the form. form_id: The form UUID identifier.

Returns: JSON string representing the ProForma form details, or an error object if failed.

jira_update_proforma_form_answersA

Update form field answers using the Jira Forms REST API.

This is the primary method for updating form data. Each answer object must specify the question ID, answer type, and value.

⚠️ KNOWN LIMITATION - DATETIME fields: The Jira Forms API does NOT properly preserve time components in DATETIME fields. Only the date portion is stored; times are reset to midnight (00:00:00).

Workaround for DATETIME fields: Use jira_update_issue to directly update the underlying custom fields instead:

  1. Get the custom field ID from the form details (question's "jiraField" property)

  2. Use jira_update_issue with fields like: {"customfield_XXXXX": "2026-01-09T11:50:00-08:00"}

Example:

# Instead of updating via form (loses time):
# jira_update_proforma_form_answers(issue_key, form_id, [{"questionId": "91", "type": "DATETIME", "value": "..."}])

# Use direct field update (preserves time):
jira_update_issue(issue_key, {"customfield_10542": "2026-01-09T11:50:00-08:00"})

Automatic DateTime Conversion: For DATE and DATETIME fields, you can provide values as:

  • ISO 8601 strings (e.g., "2024-12-17T19:00:00Z", "2024-12-17")

  • Unix timestamps in milliseconds (e.g., 1734465600000)

The tool automatically converts ISO 8601 strings to Unix timestamps.

Example answers: [ {"questionId": "q1", "type": "TEXT", "value": "Updated description"}, {"questionId": "q2", "type": "SELECT", "value": "Product A"}, {"questionId": "q3", "type": "NUMBER", "value": 42}, {"questionId": "q4", "type": "DATE", "value": "2024-12-17"} ]

Common answer types:

  • TEXT: String values

  • NUMBER: Numeric values

  • DATE: Date values (ISO 8601 string or Unix timestamp in ms)

  • DATETIME: DateTime values - ⚠️ USE WORKAROUND ABOVE

  • SELECT: Single selection from options

  • MULTI_SELECT: Multiple selections (value as list)

  • CHECKBOX: Boolean values

Args: ctx: The FastMCP context. issue_key: The issue key containing the form. form_id: The form UUID (get from get_issue_proforma_forms). answers: List of answer objects with questionId, type, and value.

Returns: JSON string with operation result.

jira_get_issue_datesA

Get date information and status transition history for a Jira issue.

Returns dates (created, updated, due date, resolution date) and optionally status change history with time tracking for workflow analysis.

Args: ctx: The FastMCP context. issue_key: The Jira issue key. include_status_changes: Whether to include status change history. include_status_summary: Whether to include aggregated time per status.

Returns: JSON string with issue dates and optional status tracking data.

jira_get_issue_slaA

Calculate SLA metrics for a Jira issue.

Computes various time-based metrics including cycle time, lead time, time spent in each status, due date compliance, and more.

Working hours can be configured via environment variables:

  • JIRA_SLA_WORKING_HOURS_ONLY: Enable working hours filtering (true/false)

  • JIRA_SLA_WORKING_HOURS_START: Start time (e.g., "09:00")

  • JIRA_SLA_WORKING_HOURS_END: End time (e.g., "17:00")

  • JIRA_SLA_WORKING_DAYS: Working days (e.g., "1,2,3,4,5" for Mon-Fri)

  • JIRA_SLA_TIMEZONE: Timezone for calculations (e.g., "America/New_York")

Args: ctx: The FastMCP context. issue_key: The Jira issue key. metrics: Comma-separated list of metrics to calculate. working_hours_only: Use working hours only for calculations. include_raw_dates: Include raw date values in response.

Returns: JSON string with calculated SLA metrics.

jira_get_issue_development_infoA

Get development information (PRs, commits, branches) linked to a Jira issue.

This retrieves the development panel information that shows linked pull requests, branches, and commits from connected source control systems like Bitbucket, GitHub, or GitLab.

Args: ctx: The FastMCP context. issue_key: The Jira issue key. application_type: Optional filter by source control type. data_type: Optional filter by data type (pullrequest, branch, etc.).

Returns: JSON string with development information including: - pullRequests: List of linked pull requests with status, author, reviewers - branches: List of linked branches - commits: List of linked commits - repositories: List of repositories involved

jira_get_issues_development_infoA

Get development information for multiple Jira issues.

Batch retrieves development panel information (PRs, commits, branches) for multiple issues at once.

Args: ctx: The FastMCP context. issue_keys: List of Jira issue keys. application_type: Optional filter by source control type. data_type: Optional filter by data type.

Returns: JSON string with list of development information for each issue.

confluence_searchA

Search Confluence content using simple terms or CQL.

Args: ctx: The FastMCP context. query: Search query - can be simple text or a CQL query string. limit: Maximum number of results (1-50). spaces_filter: Comma-separated list of space keys to filter by.

Returns: JSON string representing a list of simplified Confluence page objects.

confluence_get_pageA

Get content of a specific Confluence page by its ID, or by its title and space key.

Args: ctx: The FastMCP context. page_id: Confluence page ID. If provided, 'title' and 'space_key' are ignored. title: The exact title of the page. Must be used with 'space_key'. space_key: The key of the space. Must be used with 'title'. include_metadata: Whether to include page metadata. convert_to_markdown: Convert content to markdown (true) or keep raw HTML (false).

Returns: JSON string representing the page content and/or metadata, or an error if not found or parameters are invalid.

confluence_get_page_childrenA

Get child pages and folders of a specific Confluence page.

Args: ctx: The FastMCP context. parent_id: The ID of the parent page. expand: Fields to expand. limit: Maximum number of child items. include_content: Whether to include page content. convert_to_markdown: Convert content to markdown if include_content is true. start: Starting index for pagination. include_folders: Whether to include child folders (default: True).

Returns: JSON string representing a list of child page and folder objects.

confluence_get_space_page_treeA

Get page hierarchy for a Confluence space as a flat list.

Returns pages with parent_id and depth attributes for token-efficient processing. Filter by depth to focus on relevant sections, or find pages by title. Much more efficient than rendering full ASCII trees.

Use this to understand space organization before creating/moving pages.

Args: ctx: The FastMCP context. space_key: Space key identifier. limit: Maximum pages to fetch (start with 100 for faster results).

Returns: JSON with space_key, total_pages, and pages array containing {id, title, parent_id, position, depth} for each page. Root pages have parent_id: null and depth: 0.

confluence_get_commentsB

Get comments for a specific Confluence page.

Args: ctx: The FastMCP context. page_id: Confluence page ID.

Returns: JSON string representing a list of comment objects.

confluence_get_labelsA

Get labels for Confluence content (pages, blog posts, or attachments).

Args: ctx: The FastMCP context. page_id: Confluence content ID (page or attachment).

Returns: JSON string representing a list of label objects.

confluence_add_labelA

Add label to Confluence content (pages, blog posts, or attachments).

Useful for:

  • Categorizing attachments (e.g., 'screenshot', 'diagram', 'legal-doc')

  • Tracking status (e.g., 'approved', 'needs-review', 'archived')

  • Filtering content by topic or version

Args: ctx: The FastMCP context. page_id: Content ID (page or attachment). name: Label name to add.

Returns: JSON string representing the updated list of label objects.

Raises: ValueError: If in read-only mode or Confluence client is unavailable.

confluence_create_pageA

Create a new Confluence page.

Args: ctx: The FastMCP context. space_key: The key of the space. title: The title of the page. content: The content of the page (format depends on content_format). parent_id: Optional parent page ID. content_format: The format of the content ('markdown', 'wiki', or 'storage'). enable_heading_anchors: Whether to enable heading anchors (markdown only). include_content: Whether to include page content in the response. emoji: Optional page title emoji (icon shown in navigation).

Returns: JSON string representing the created page object.

Raises: ValueError: If in read-only mode, Confluence client is unavailable, or invalid content_format.

confluence_update_pageA

Update an existing Confluence page.

Args: ctx: The FastMCP context. page_id: The ID of the page to update. title: The new title of the page. content: The new content of the page (format depends on content_format). is_minor_edit: Whether this is a minor edit. version_comment: Optional comment for this version. parent_id: Optional new parent page ID. content_format: The format of the content ('markdown', 'wiki', or 'storage'). enable_heading_anchors: Whether to enable heading anchors (markdown only). include_content: Whether to include page content in the response. emoji: Optional page title emoji (icon shown in navigation).

Returns: JSON string representing the updated page object.

Raises: ValueError: If Confluence client is not configured, available, or invalid content_format.

confluence_delete_pageA

Delete an existing Confluence page.

Args: ctx: The FastMCP context. page_id: The ID of the page to delete.

Returns: JSON string indicating success or failure.

Raises: ValueError: If Confluence client is not configured or available.

confluence_move_pageA

Move a Confluence page to a new parent or space.

Args: ctx: The FastMCP context. page_id: The ID of the page to move. target_parent_id: Target parent page ID. target_space_key: Target space key for cross-space moves. position: Position relative to target ('append', 'above', or 'below').

Returns: JSON string representing the moved page object.

Raises: ValueError: If neither target_parent_id nor target_space_key is provided, or if Confluence client is not configured.

confluence_add_commentA

Add a comment to a Confluence page.

Args: ctx: The FastMCP context. page_id: The ID of the page to add a comment to. body: The comment content in Markdown format.

Returns: JSON string representing the created comment.

Raises: ValueError: If in read-only mode or Confluence client is unavailable.

confluence_reply_to_commentA

Reply to an existing comment thread on a Confluence page.

Args: ctx: The FastMCP context. comment_id: The ID of the parent comment to reply to. body: The reply content in Markdown format.

Returns: JSON string representing the created reply comment.

Raises: ValueError: If in read-only mode or Confluence client is unavailable.

confluence_search_userA

Search Confluence users using CQL (Cloud) or group member API (Server/DC).

Args: ctx: The FastMCP context. query: Search query - a CQL query string for user search. limit: Maximum number of results (1-50). group_name: Group to search within on Server/DC.

Returns: JSON string representing a list of simplified Confluence user search result objects.

confluence_get_page_historyA

Get a historical version of a specific Confluence page.

Args: ctx: The FastMCP context. page_id: Confluence page ID. version: The version number to retrieve. convert_to_markdown: Convert content to markdown (true) or keep raw HTML (false).

Returns: JSON string representing the page content at the specified version.

confluence_get_page_diffA

Get a unified diff between two versions of a Confluence page.

Args: ctx: The FastMCP context. page_id: Confluence page ID. from_version: Source version number. to_version: Target version number.

Returns: JSON string with page info and unified diff.

confluence_get_page_viewsA

Get view statistics for a Confluence page.

Note: This tool is only available for Confluence Cloud. Server/Data Center instances do not support the Analytics API.

Args: ctx: The FastMCP context. page_id: The Confluence page ID. include_title: Whether to include the page title in the response.

Returns: JSON string with page view statistics including total views and last viewed date.

confluence_upload_attachmentA

Upload an attachment to Confluence content (page or blog post).

If the attachment already exists (same filename), a new version is created. This is useful for:

  • Attaching documents, images, or files to a page

  • Updating existing attachments with new versions

  • Adding supporting materials to documentation

Args: ctx: The FastMCP context. content_id: The ID of the content to attach to. file_path: Path to the file to upload. comment: Optional comment for the attachment. minor_edit: Whether this is a minor edit (no notifications).

Returns: JSON string with upload confirmation and attachment metadata.

confluence_upload_attachmentsA

Upload multiple attachments to Confluence content in a single operation.

More efficient than calling upload_attachment multiple times. If files with the same names exist, new versions are created automatically.

Useful for:

  • Bulk uploading documentation assets (diagrams, screenshots, etc.)

  • Adding multiple related files to a page at once

  • Batch updating existing attachments with new versions

Args: ctx: The FastMCP context. content_id: The ID of the content to attach to. file_paths: List of file paths to upload. comment: Optional comment for the attachments. minor_edit: Whether this is a minor edit.

Returns: JSON string with upload results for each file.

confluence_get_attachmentsA

List all attachments for a Confluence content item (page or blog post).

Returns metadata about attachments including:

  • Attachment ID, title, and file type

  • File size and download URL

  • Creation/modification dates

  • Version information

Important: Confluence API returns 'application/octet-stream' as the media type for most binary files (PNG, JPG, PDF) instead of specific types like 'image/png'. For filtering by file type, using the 'filename' parameter is more reliable (e.g., filename='*.png' pattern matching if supported, or exact filename).

Useful for:

  • Discovering what files are attached to a page

  • Getting attachment IDs for download operations

  • Checking if a specific file exists

  • Listing images/documents for processing

Args: ctx: The FastMCP context. content_id: The ID of the content. start: Starting index for pagination. limit: Maximum number of results (1-100). filename: Optional exact filename filter. media_type: Optional MIME type filter (note: most binaries return 'application/octet-stream').

Returns: JSON string with list of attachments and metadata.

confluence_download_attachmentA

Download an attachment from Confluence as an embedded resource.

Returns the attachment content as a base64-encoded embedded resource so that it is available over the MCP protocol without requiring filesystem access on the server. Files larger than 50 MB are not downloaded inline; a descriptive error message is returned instead.

Args: ctx: The FastMCP context. attachment_id: The ID of the attachment.

Returns: An EmbeddedResource with base64-encoded content, or a TextContent with an error or size-exceeded message.

confluence_download_content_attachmentsA

Download all attachments for a Confluence content item as embedded resources.

Returns attachment contents as base64-encoded embedded resources so that they are available over the MCP protocol without requiring filesystem access on the server. Files larger than 50 MB are skipped with an error entry in the summary.

Args: ctx: The FastMCP context. content_id: The ID of the content.

Returns: A list with a text summary followed by one EmbeddedResource per successfully downloaded attachment.

confluence_delete_attachmentA

Permanently delete an attachment from Confluence.

Warning: This action cannot be undone! The attachment and ALL its versions will be permanently deleted.

Use this tool to:

  • Remove outdated or incorrect attachments

  • Clean up duplicate files

  • Delete sensitive information that was accidentally uploaded

Best practices:

  • Verify the attachment ID before deletion using get_attachments

  • Consider downloading the attachment first as a backup

  • Check with content owners before deleting shared attachments

Args: ctx: The FastMCP context. attachment_id: The ID of the attachment to delete.

Returns: JSON string confirming deletion with attachment ID.

confluence_get_page_imagesA

Get all images attached to a Confluence page as inline image content.

Filters attachments to images only (PNG, JPEG, GIF, WebP, SVG, BMP) and returns them as base64-encoded ImageContent that clients can render directly. Non-image attachments are excluded.

Files with ambiguous MIME types (application/octet-stream) are detected by filename extension as a fallback. Images larger than 50 MB are skipped with an error entry in the summary.

Args: ctx: The FastMCP context. content_id: The ID of the content.

Returns: A list with a text summary followed by one ImageContent per successfully downloaded image.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/GeiserX/atlassian-browser-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server