Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
JIRA_URLNoThe URL of your Jira instance. For Cloud: https://your-company.atlassian.net
JIRA_PASSWORDNoYour Jira password (Server/Data Center).
JIRA_USERNAMENoYour Jira username (email for Cloud).
CONFLUENCE_URLNoThe URL of your Confluence instance. For Cloud: https://your-company.atlassian.net/wiki
JIRA_API_TOKENNoAtlassian API token for Jira (Cloud).
CONFLUENCE_PASSWORDNoYour Confluence password (Server/Data Center).
CONFLUENCE_USERNAMENoYour Confluence username (email for Cloud).
JIRA_PERSONAL_TOKENNoPersonal Access Token for Jira (Server/Data Center).
CONFLUENCE_API_TOKENNoAtlassian API token for Confluence (Cloud).
CONFLUENCE_PERSONAL_TOKENNoPersonal Access Token for Confluence (Server/Data Center).

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
jira_get_user_profileA

Retrieve profile information for a specific Jira user.

jira_search_assignable_usersA

Search Jira users assignable in a given project or issue.

Use this when you have a display name / partial name / email fragment and need a concrete identifier (name / key for Server/DC, accountId for Cloud) to feed into assignee, reporter, watcher, etc.

Returns the full result set so the caller can disambiguate when several users match — get_user_profile only resolves one identifier and is not designed for human-name search.

Exactly one of project_key or issue_key must be provided — the underlying API (/user/assignable/search) requires a project or issue context and works without the global "Browse Users" permission that bot accounts in locked-down DC instances often lack.

jira_get_issue_watchersA

Get the list of watchers for a Jira issue.

jira_add_watcherA

Add a user as a watcher to a Jira issue.

jira_remove_watcherA

Remove a user from watching a Jira issue.

jira_get_issueA

Get details of a specific Jira issue.

Includes Epic links and relationship information. Use the include parameter to inline enrichments (remote_links, transitions, watchers, changelog, comments, worklogs) so that separate tool calls are not needed.

jira_searchA

Search Jira issues using JQL (Jira Query Language).

jira_search_fieldsB

Search Jira fields by keyword with fuzzy match.

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.

jira_get_project_issuesB

Get all issues for a specific Jira project.

jira_get_transitionsA

Get available status transitions for a Jira issue.

jira_get_worklogA

Get worklog entries for a Jira issue.

jira_download_attachmentsA

Download attachments from a Jira issue.

Returns attachment contents as base64-encoded content so that they are available over the MCP protocol without requiring filesystem access on the server. Image attachments are returned as EmbeddedResource blobs; all other attachments (documents, archives, etc.) are returned as TextContent carrying a base64 payload, since many MCP clients only forward EmbeddedResource blobs for recognized image MIME types and otherwise drop the attachment (#1419).

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.

jira_get_agile_boardsA

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

jira_get_board_issuesA

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

jira_get_sprints_from_boardB

Get jira sprints from board by state.

jira_get_sprint_issuesB

Get jira issues from sprint.

jira_get_link_typesA

Get all available issue link types.

jira_create_issueA

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

jira_batch_create_issuesB

Create multiple Jira issues in a batch.

jira_batch_get_changelogsA

Get changelogs for multiple Jira issues (Cloud only).

jira_update_issueA

Update an issue and optionally transition, comment, and log work.

jira_assign_issueA

Assign a Jira issue to a user using the dedicated assignment endpoint.

This is more reliable than setting assignee via update_issue, which is silently ignored by some Jira configurations. Uses PUT /issue/{key}/assignee.

On Jira Server/DC the following identifier forms are all accepted: login name, email address, display name, or JIRAUSER key. The resolution order is: key lookup → email search (with email-as-username fallback) → text search → assignable-user search scoped to the issue.

jira_delete_issueB

Delete an existing Jira issue.

jira_move_issueA

Move a Jira issue to a different project (Jira Cloud only).

Uses Jira Cloud's bulk move API to perform a cross-project move. The issue keeps its current issue type and may be assigned a new key in the target project (e.g., OLDPROJ-123 becomes NEWPROJ-456).

The move is processed asynchronously on Jira's side; this tool polls until confirmed or times out after 30 seconds.

jira_add_commentB

Add a comment to a Jira issue.

jira_edit_commentB

Edit an existing comment on a Jira issue.

jira_add_worklogA

Add a worklog entry to a Jira issue.

jira_link_to_epicB

Link an existing issue to an epic.

jira_create_issue_linkB

Create a link between two Jira issues.

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.

jira_remove_issue_linkB

Remove a link between two Jira issues.

jira_transition_issueC

Transition a Jira issue to a new status.

jira_create_sprintB

Create Jira sprint for a board.

jira_update_sprintB

Update jira sprint.

jira_add_issues_to_sprintC

Add issues to a Jira sprint.

jira_move_issues_to_backlogA

Move issues to the backlog, removing them from any sprint.

jira_get_project_issue_typesA

Get available issue types for a Jira project.

Returns the list of issue types (Bug, Task, Story, Epic, etc.) that can be created in the specified project. Use the returned issue type IDs with get_create_fields to discover what fields each type requires.

jira_get_create_fieldsA

Get fields available for creating an issue of a specific type.

Returns all fields (required and optional) for the given project and issue type, including field names, IDs, whether they're required, and their schema. Use jira_get_field_options when a returned field needs its allowed values.

jira_get_project_versionsA

Get all fix versions for a specific Jira project.

jira_get_project_componentsA

Get all components for a specific Jira project.

jira_get_all_projectsA

Get all Jira projects accessible to the current user.

jira_search_projectsA

Search for Jira projects by name or key prefix.

Uses the projects picker endpoint to return a ranked list of matching projects without fetching every visible project on the instance.

jira_get_project_fieldsA

Get the fields available on issues of a project (the create schema), deduplicated across the project's issue types — i.e. which fields tickets in this project have, regardless of whether they are filled.

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.

jira_get_service_desk_queuesA

Get queues for a Jira Service Desk.

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

jira_get_queue_issuesA

Get issues from a Jira Service Desk queue.

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

jira_get_request_typesA

Get request types for a Jira Service Management service desk.

jira_get_request_type_fieldsA

Get field definitions for a Jira Service Management request type.

jira_create_customer_requestB

Create a Jira Service Management customer request.

jira_create_versionB

Create a new fix version in a Jira project.

jira_batch_create_versionsA

Batch create multiple versions in a Jira project.

jira_update_versionA

Update an existing fix version in a Jira project.

Only fields explicitly provided are modified; other attributes of the version are left untouched. Useful for archiving/unarchiving versions, renaming, or shifting release dates without recreating them.

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.

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.

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

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.

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")

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.

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.

jira_get_project_epic_hierarchyA

Group a project's epics under their cross-project parent issues.

Fetches all epics in the project, detects their parent issue via the parent field or inward issue links, then groups them by parent. Epics with no detected parent appear under "Unlinked". Useful for understanding how a project's epics roll up to initiatives in another project.

jira_get_cross_project_dependenciesA

Find all cross-project issue links for a project.

Scans issues in the project, extracts every issue link whose target belongs to a different project, and groups them by target project and link type. Useful for dependency analysis across multi-project Jira setups.

confluence_searchA

Search Confluence content using simple terms or CQL.

confluence_get_pageA

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

confluence_get_page_childrenA

Get child pages and folders of a specific Confluence page.

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.

confluence_get_commentsA

Get comments for a specific Confluence page.

confluence_get_labelsA

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

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

confluence_create_pageC

Create a new Confluence page.

confluence_update_pageC

Update an existing Confluence page.

confluence_update_page_sectionA

Update a single section of a Confluence page without affecting the rest.

Replaces only the content beneath a named heading, leaving all other sections, macros, layouts, and Confluence-specific elements completely intact. This avoids the data loss that occurs when a full page is downloaded as Markdown, edited, and re-uploaded.

confluence_delete_pageA

Delete an existing Confluence page.

confluence_move_pageB

Move a Confluence page to a new parent or space.

confluence_add_commentB

Add a comment to a Confluence page.

confluence_reply_to_commentA

Reply to an existing comment thread on a Confluence page.

confluence_get_inline_commentsA

Get all inline comments for a Confluence page.

confluence_add_inline_commentA

Add an inline comment anchored to a text selection on a page.

confluence_search_userA

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

confluence_get_page_historyA

Get a historical version of a specific Confluence page.

confluence_get_page_diffA

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

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.

confluence_upload_attachmentA

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

Provide the file either as a server-readable path ('file_path') or as base64-encoded content ('content_base64' together with 'filename'). The base64 form is intended for remote or containerized servers that cannot read host file paths. Exactly one of the two must be supplied.

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

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

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

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.

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.

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

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.

confluence_list_page_templatesA

List Confluence page content templates.

This operation is only available for Confluence Cloud. Returns template metadata (ID, name, description, type) without the full body. Use confluence_get_page_template to fetch a template's body.

confluence_get_page_templateA

Get a Cloud page template by ID, including its storage-format body.

confluence_create_page_from_templateA

Create a new Cloud page pre-populated with a template's body.

This operation is only available for Confluence Cloud. Fetches the named template and creates a page with its storage-format content. The page can be edited afterwards via confluence_update_page.

confluence_get_page_restrictionsA

Get view and edit restrictions for a Confluence page.

Returns the current restriction lists for the read (view) and update (edit) operations. An empty list means the page is unrestricted for that operation.

confluence_set_page_restrictionsA

Set view and edit restrictions on a Confluence page.

Replaces all existing restrictions with the provided lists. Omitting all parameters (or passing empty lists) removes all restrictions.

confluence_copy_pageA

Copy a Confluence page to a new location.

On Confluence Cloud the native copy endpoint is used. On Server/Data Center the page body is fetched and a new page is created manually (attachments are not copied in the Server/DC path).

confluence_check_content_permissionsA

Check whether a user or group can perform an operation on specific content.

Wraps POST /wiki/rest/api/content/{id}/permission/check.

Note: This tool is only available for Confluence Cloud. Server/Data Center instances use different permission APIs.

Returns a JSON object with a 'hasPermission' boolean indicating whether the subject has the requested permission on the content.

confluence_get_space_permissionsA

List all permission assignments for a Confluence space.

Wraps GET /wiki/api/v2/spaces/{id}/permissions.

Note: This tool is only available for Confluence Cloud. Server/Data Center instances use different permission APIs.

Returns a JSON object with a 'results' list of permission assignment objects. Each entry contains the principal (user or group), the operation permitted, and the target. Use this to audit who has access to a space.

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/hieptran87/atlassian-mcp-server'

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