Connectors · Work & projects
Jira MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Jira and the rest of your systems. It gives your agent 604 Jira actions (303 reads, 198 writes and 103 that wait for a confirmation) and holds the Jira credential itself, so the agent never does. It paces Jira's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "jira.server_info.get", intent: "check which Jira account is connected"}# Get Jira server information · read · 1 upstream call- 604actionsin one signed file
- 303readlook, never change
- 198writecreate and update
- 103wait for a yesdestructive, confirmed first
Set up
Connect Jira in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Jira.
Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
emailAtlassian account emailapi_tokenAtlassian API tokensite_hostWhere your Jira lives: your site host
account { op: "connections.requirements", service: "jira" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "jira.server_info.get" }# get jira server information · read · 1 upstream callcheck { action: "jira.issues.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Jira at a glance
- Sign-in
- Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
- You provide
emailapi_token- Setup fields
site_host- Limits we pace to
- 100 calls a second, per connection
- API covered
- Jira API 3, at your Jira instance's API base URL, which you enter when connecting (path /rest/api/3)
- Built from
- Jira's documentation, read 15 September 2026developer.atlassian.com
- Service file
- Version 2.0.0, signed (Ed25519)
- Cached reads
- 303 of 303 reads, for up to an hour; a write clears what it affects
- Ready-made plans
- 10 in the store
- Shared entities
- 6, so ask can line Jira up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Jira.
604 actions in 39 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 303readlook, never change
- 198writecreate and update
- 103destructivewait for a confirmation
Fields
7530 read · 30 write · 15 destructive
Set an app field's value on issues · Set several app field values · List Jira fields · List fields available to projects
Workflows
5527 read · 18 write · 10 destructive
List projects using a workflow scheme · List projects using a workflow · List workflow scheme project associations · List issue types using a workflow in a project
Projects
4122 read · 13 write · 6 destructive
List all Jira projects · List recently viewed projects · Create a Jira project · Search Jira projects
Screens
3211 read · 15 write · 6 destructive
List fields available to a screen · List fields on a screen tab · List Jira screens · Get the default issue navigator columns
Users
3022 read · 4 write · 4 destructive
List all Jira users · Fetch many Jira users by account id · Fetch user migration identifiers · Get several users' email addresses
Issues
2918 read · 10 write · 1 destructive
Create a Jira issue · Report issues approaching ADF limits · Report issues approaching field limits · Search Jira issues with JQL
Apps
2310 read · 9 write · 4 destructive
List service registry services · Submit a Connect to Forge migration task · Get a Connect to Forge migration task · List dynamic app modules
Security
2311 read · 8 write · 4 destructive
List projects using issue security schemes · List issue security level members · List one scheme's security level members · List issue security levels
31 more areas · 296 actions
- Issue types 21
- Filters 18
- Permissions 17
- Dashboards 17
- Priorities 16
- Plans 16
- Roles 15
- Versions 15
- Links 14
- Worklogs 14
- Statuses 13
- Comments 10
- Instance 9
- Groups 9
- Bulk 9
- JQL 9
- Notifications 8
- Resolutions 8
- Properties 8
- Components 8
- Attachments 7
- Avatars 6
- Webhooks 5
- Time tracking 5
- Licensing 5
- Watchers 4
- Votes 3
- Expressions 2
- Redaction 2
- Tasks 2
- Audit 1
Atlassian's own MCP server
Atlassian's MCP server, or actionlake?
Atlassian runs the Rovo MCP server for Jira, Jira Service Management and Confluence at mcp.atlassian.com, signed in with OAuth 2.1 or an API token. Its calls use Rovo credits from the organisation's pool.
Use Atlassian's server when one person wants to work in Jira from their own AI client. Use actionlake when you also want Jira behind the same endpoint as your other systems: a key per agent with allowed actions and a spending cap, a named person's approval before destructive actions, a sealed record of every call, and one ask across Jira and another system.
Source: Atlassian's documentation, checked 22 October 2026.
Top actions
The Jira API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 230 of Jira's 235 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
jira.users.listList all Jira users | Return every user on the site, paged. Personal data depends on each user's privacy settings. | read | identity.user.list474 connectors |
jira.groups.bulk_getList Jira groups | Return groups on the site, filterable by id or name, paged. | read | identity.group.list262 connectors |
jira.issue_worklogs.listList worklogs on a Jira issue | Return the time logged against one issue, optionally within a date window. | read | work.time_entry.list59 connectors |
jira.issues.createCreate a Jira issue | Raise an issue in a project by project key and issue type. | write | work.task.create127 connectors |
jira.issues.limit_reportReport issues approaching field limits | List issues whose fields are near Jira's per-field size limits. | read | work.task.list122 connectors |
jira.users.bulk_getFetch many Jira users by account id | Return a page of users named by account id. | read | identity.user.list474 connectors |
jira.projects.listList all Jira projects | Return every project visible to the caller, unpaged. | read | work.project.list109 connectors |
jira.projects.recentList recently viewed projects | Return up to twenty projects the caller viewed most recently. | read | work.project.list109 connectors |
jira.projects.createCreate a Jira project | Create a project from a key, name, project type and template. | write | work.project.create102 connectors |
jira.issue_comments.listList comments on a Jira issue | Return the comments on one issue, oldest or newest first. | read | work.task_comment.list27 connectors |
jira.issues.deleteDelete a Jira issue | Permanently delete an issue, optionally its subtasks too. | destructive | work.task.delete107 connectors |
jira.issue_comments.createComment on a Jira issue | Add a comment to an issue. On v3 the body is Atlassian Document Format. | write | work.task_comment.create28 connectors |
Try it
Prompts to paste into Claude.
Each one names the Jira actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Which Jira tasks are overdue, and who owns each one?
calls
jira.issues.search - Planwrite
Copy a dashboard for a team and point its gadgets at their filter in Jira.
calls
jira.dashboards.searchjira.filters.createjira.dashboards.copyjira.dashboards.gadgets_listjira.dashboards.gadget_update+1 more - Planwrite
Raise an incident ticket and link it to the offending work in Jira.
calls
jira.issues.createjira.issue_remote_links.updatejira.issues.searchjira.issue_links.createjira.issues.get - Writewrite
Create a Jira issue in Jira. Show me exactly what you will send before you save it.
calls
jira.issues.create - Across systemsread
For each customer, how many projects are in Jira and how many invoices in ConnectWise PSA?
calls
jira.projects.searchconnectwise_manage.invoices.list
Across your systems
Jira, joined to the rest of your business.
One ask fetches from Jira and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.
For each customer, how many projects are in Jira and how many invoices in ConnectWise PSA?
jira.projects.search+connectwise_manage.invoices.list, oncrm.company· ConnectWise PSAFor each customer, how many projects are in Jira and how many invoices in NetSuite?
jira.projects.search+netsuite.views.invoices, oncrm.company· NetSuite
identity.user 517identity.group 239work.project 116work.task 105work.time_entry 40work.task_comment 9ask { intent: "for each customer, how many projects are in Jira and how many invoices in ConnectWise PSA", steps: [ { action: "jira.projects.search", as: "proj", input: {}, limit: 100, max_pages: 5 }, { action: "connectwise_manage.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 }, { join: { left: "proj", right: "inv", on: "crm.company", group_by: "proj.company_name", select: ["proj.company_name", "count(proj.id) as projects", "count(inv.id) as invoices"] } } ]}The plan store
Ready-made plans for Jira.
10 plans in the store. Install one and your agent runs it by name; the reply says which connections are still missing. A schedule can run a plan on a timetable. There are no triggers or webhooks, by design.
Report time logged against a sprint's issues
Use it when Someone wants to see how time was logged across a project for a given period before invoicing or a retro.
Snapshot a project's open work, components and versions
Use it when Someone wants a quick factual read on where a project stands before a planning meeting.
Raise an incident ticket and link it to the offending work
Use it when An alert has fired and an incident issue needs raising and wiring to the recent changes that could have caused it.
Move a filtered set of issues through one workflow transition
Use it when A filter's worth of issues all need pushing through the same workflow transition in one go.
A person decides
Transition number of issues issues from filter name and set resolution resolution name.
Cut a new release version and move open work onto it
Use it when A release is being cut and unresolved issues need to roll forward onto the next fix version.
A person decides
Move issuesUnresolvedCount unresolved issues from the outgoing version onto new version name.
Sweep stale bugs and flag them for the lead
Use it when A project's bug backlog has gone stale and someone wants the old ones labelled and put in front of an owner.
A person decides
Label count stale bugs in project key as needs-triage and add the backlog owner as a watcher.
Archive long-closed issues and wait for the job
Use it when A project has years of closed issues cluttering search and they should be archived out of the way.
A person decides
Archive count issues in project key that have been closed for over closed before days days.
Copy a dashboard for a team and point its gadgets at their filter
Use it when A team wants their own copy of someone else's Jira dashboard scoped to their project.
Delete a batch of issues after a human signs off
Use it when A batch of junk or migrated-away issues must be permanently deleted and someone must sign off on the count first.
A person decides
Permanently delete count issues matching the supplied JQL. This cannot be undone.
Create a user and give them a role on a project
Use it when A new person is joining a team and needs a Jira account plus access to one project.
A person decides
Grant display name the role name role on project project key.
account { op: "plans.install", slug: "jira-sprint-worklog-report" }
# then ask for it by name; a schedule can run it on a timetableGovernance for Jira
Destructive actions wait for a yes.
103 Jira actions are destructive. The first 10:
- Delete a Jira issue
jira.issues.delete - Delete a Jira project
jira.projects.delete - Delete a Jira project asynchronously
jira.projects.delete_async - Delete a Jira user
jira.users.delete - Delete a Jira group
jira.groups.delete - Delete a Jira worklog
jira.issue_worklogs.delete - Delete many worklogs on an issue
jira.issue_worklogs.delete_bulk - Delete a Jira issue comment
jira.issue_comments.delete - Bulk delete Jira issues
jira.issue_bulk_operations.delete - Delete a plan-only team
jira.plan_teams.planonly_delete
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete a Jira issue?
intent: the user asked me to delete a Jira issue
account { op: "keys.create", name: "jira-agent", allowed_actions: ["jira.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "jira.issues.delete", approver: "[email protected]" }, { match: "jira.projects.delete", approver: "[email protected]" }, { match: "jira.projects.delete_async", approver: "[email protected]" } ]}Cost
What Jira costs on actionlake.
Every Jira action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Jira refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 604 Jira actions
- 93actions pageeach page of a long list is one call
- 303reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Jira action.
604 actions by area: the id your agent calls, what it does, and its effect.
Fields75
jira.app_field_options.value_updateSet an app field's value on issueswritejira.app_field_options.values_update_manySet several app field valueswritejira.issue_fields.listList Jira fieldsreadjira.issue_fields.project_fieldsList fields available to projectsreadjira.app_field_options.config_getGet an app field's context configurationreadjira.app_field_options.config_updateUpdate an app field's context configurationwrite- and 69 more in this area
Workflows55
jira.workflow_scheme_projects.listList workflow scheme project associationsreadjira.workflow_schemes.project_usagesList projects using a workflow schemereadjira.workflows.issue_type_usagesList issue types using a workflow in a projectreadjira.workflows.project_usagesList projects using a workflowreadjira.workflow_scheme_drafts.createCreate a workflow scheme draftwritejira.workflow_scheme_drafts.default_deleteReset a draft's default workflowdestructive- and 49 more in this area
Projects41
jira.projects.createCreate a Jira projectwritejira.projects.listList all Jira projectsreadjira.projects.recentList recently viewed projectsreadjira.projects.searchSearch Jira projectsreadjira.project_avatars.deleteDelete a project avatardestructivejira.project_avatars.listList a project's avatarsread- and 35 more in this area
Screens32
jira.issue_navigator_settings.columns_getGet the default issue navigator columnsreadjira.screen_tab_fields.listList fields on a screen tabreadjira.screens.available_fieldsList fields available to a screenreadjira.screens.listList Jira screensreadjira.issue_type_screen_schemes.append_mappingsAdd mappings to an issue type screen schemewritejira.issue_type_screen_schemes.assign_projectAssign an issue type screen scheme to a projectwrite- and 26 more in this area
Users30
jira.users.bulk_getFetch many Jira users by account idreadjira.users.bulk_migrationFetch user migration identifiersreadjira.users.email_bulkGet several users' email addressesreadjira.users.listList all Jira usersreadjira.myself.getGet the current Jira userreadjira.myself.locale_getGet my localeread- and 24 more in this area
Issues29
jira.issues.adf_limit_reportReport issues approaching ADF limitsreadjira.issues.createCreate a Jira issuewritejira.issues.limit_reportReport issues approaching field limitsreadjira.issues.searchSearch Jira issues with JQLreadjira.issues.archiveArchive issues by id or keywritejira.issues.archive_exportExport archived issueswrite- and 23 more in this area
Apps23
jira.app_migration.forge_task_getGet a Connect to Forge migration taskreadjira.app_migration.forge_task_submitSubmit a Connect to Forge migration taskwritejira.app_migration.service_registryList service registry servicesreadjira.dynamic_modules.listList dynamic app modulesreadjira.app_migration.update_fieldsUpdate app field values during migrationwritejira.app_migration.update_propertiesUpdate entity properties during migrationwrite- and 17 more in this area
Security23
jira.issue_security_schemes.level_members_listList issue security level membersreadjira.issue_security_schemes.levels_listList issue security levelsreadjira.issue_security_schemes.projects_searchList projects using issue security schemesreadjira.issue_security_schemes.scheme_members_listList one scheme's security level membersreadjira.issue_security_schemes.associate_projectsAssign an issue security scheme to projectswritejira.issue_security_schemes.createCreate an issue security schemewrite- and 17 more in this area
Issue types21
jira.issue_types.alternativesList alternative issue typesreadjira.issue_types.createCreate a Jira issue typewritejira.issue_types.for_projectList issue types for a projectreadjira.issue_types.listList Jira issue typesreadjira.issue_type_properties.deleteDelete an issue type propertydestructivejira.issue_type_properties.getGet an issue type propertyread- and 15 more in this area
Filters18
jira.filters.change_ownerChange a Jira filter's ownerwritejira.filters.createCreate a Jira filterwritejira.filters.my_filtersList my Jira filtersreadjira.filters.searchSearch Jira filtersreadjira.filter_sharing.addShare a Jira filterwritejira.filter_sharing.default_scope_getGet the default filter share scoperead- and 12 more in this area
Permissions17
jira.permissions.bulk_checkCheck permissions in bulkreadjira.permissions.list_allList every Jira permissionreadjira.permissions.my_permissionsCheck my Jira permissionsreadjira.permissions.permitted_projectsList projects where I hold a permissionreadjira.permission_schemes.createCreate a permission schemewritejira.permission_schemes.deleteDelete a permission schemedestructive- and 11 more in this area
Dashboards17
jira.dashboards.createCreate a Jira dashboardwritejira.dashboards.gadgets_availableList available dashboard gadgetsreadjira.dashboards.getGet one Jira dashboardreadjira.dashboards.listList Jira dashboardsreadjira.dashboards.bulk_editBulk edit Jira dashboardswritejira.dashboards.copyCopy a Jira dashboardwrite- and 11 more in this area
Priorities16
jira.priorities.createCreate a Jira issue prioritywritejira.priorities.listList Jira issue prioritiesreadjira.priorities.searchSearch Jira issue prioritiesreadjira.priority_schemes.projects_listList projects using a priority schemereadjira.priorities.deleteDelete a Jira issue prioritydestructivejira.priorities.getGet one Jira issue priorityread- and 10 more in this area
Plans16
jira.plan_teams.atlassian_getGet an Atlassian team in a planreadjira.plan_teams.listList a plan's teamsreadjira.plan_teams.planonly_createCreate a plan-only teamwritejira.plan_teams.planonly_getGet a plan-only teamreadjira.plan_teams.atlassian_addAdd an Atlassian team to a planwritejira.plan_teams.atlassian_removeRemove an Atlassian team from a plandestructive- and 10 more in this area
Roles15
jira.project_roles.createCreate a Jira project rolewritejira.project_roles.details_for_projectList a project's role detailsreadjira.project_roles.for_projectList a project's rolesreadjira.project_roles.list_globalList Jira project rolesreadjira.project_role_actors.add_defaultAdd default actors to a roledestructivejira.project_role_actors.add_to_projectAdd actors to a project roledestructive- and 9 more in this area
Versions15
jira.project_versions.createCreate a Jira versionwritejira.project_versions.listList a project's versionsreadjira.project_versions.related_issue_countsCount issues on a versionreadjira.project_versions.unresolved_countCount unresolved issues on a versionreadjira.project_versions.deleteDelete a Jira versiondestructivejira.project_versions.delete_and_replaceDelete a version and swap referencesdestructive- and 9 more in this area
Links14
jira.issue_links.createLink two Jira issueswritejira.issue_links.deleteDelete a Jira issue linkdestructivejira.issue_links.getGet one Jira issue linkreadjira.issue_remote_links.listList an issue's remote linksreadjira.issue_link_types.createCreate a Jira issue link typewritejira.issue_link_types.deleteDelete a Jira issue link typedestructive- and 8 more in this area
Worklogs14
jira.issue_worklogs.createLog work on a Jira issuewritejira.issue_worklogs.deleted_sinceList worklogs deleted since a timereadjira.issue_worklogs.listList worklogs on a Jira issuereadjira.issue_worklogs.updated_sinceList worklogs changed since a timereadjira.issue_worklog_properties.deleteDelete a worklog propertydestructivejira.issue_worklog_properties.getGet a worklog propertyread- and 8 more in this area
Statuses13
jira.statuses.by_namesFetch statuses by namereadjira.statuses.categories_listList Jira status categoriesreadjira.statuses.get_by_idsFetch statuses by idreadjira.statuses.project_usagesList projects using a statusreadjira.statuses.category_getGet one Jira status categoryreadjira.statuses.createCreate Jira statuseswrite- and 7 more in this area
Comments10
jira.issue_comments.createComment on a Jira issuewritejira.issue_comments.get_by_idsFetch comments by idreadjira.issue_comments.listList comments on a Jira issuereadjira.issue_comments.updateUpdate a Jira issue commentwritejira.issue_comment_properties.deleteDelete a comment propertydestructivejira.issue_comment_properties.getGet a comment propertyread- and 4 more in this area
Instance9
jira.jira_settings.advanced_settingsList advanced Jira settingsreadjira.jira_settings.application_propertiesList Jira application propertiesreadjira.jira_settings.configuration_getGet the Jira global configurationreadjira.server_info.getGet Jira server informationreadjira.data_policies.projects_listList projects' data policiesreadjira.data_policies.workspace_getGet the site's data policyread- and 3 more in this area
Groups9
jira.groups.bulk_getList Jira groupsreadjira.groups.createCreate a Jira groupwritejira.groups.deleteDelete a Jira groupdestructivejira.groups.getGet a Jira groupreadjira.groups.findSearch Jira groupsreadjira.groups.member_addAdd a user to a Jira groupwrite- and 3 more in this area
Bulk9
jira.issue_bulk_operations.deleteBulk delete Jira issuesdestructivejira.issue_bulk_operations.editBulk edit Jira issueswritejira.issue_bulk_operations.moveBulk move Jira issueswritejira.issue_bulk_operations.transitionBulk transition Jira issueswritejira.issue_bulk_operations.available_transitionsList transitions available across issuesreadjira.issue_bulk_operations.editable_fieldsList bulk-editable fieldsread- and 3 more in this area
JQL9
jira.jql.autocompleteGet JQL autocomplete datareadjira.jql.autocomplete_postGet JQL autocomplete data for a contextreadjira.jql.precomputations_by_idFetch JQL precomputations by idreadjira.jql.precomputations_listList JQL function precomputationsreadjira.jql.migrateMigrate JQL user identifiersreadjira.jql.parseParse JQL queriesread- and 3 more in this area
Notifications8
jira.notification_schemes.createCreate a notification schemewritejira.notification_schemes.getGet one notification schemereadjira.notification_schemes.listList notification schemesreadjira.notification_schemes.project_mappingsList notification schemes by projectreadjira.notification_schemes.deleteDelete a notification schemedestructivejira.notification_schemes.notification_removeRemove a notification from a schemedestructive- and 2 more in this area
Resolutions8
jira.resolutions.createCreate a Jira issue resolutionwritejira.resolutions.getGet one Jira issue resolutionreadjira.resolutions.listList Jira issue resolutionsreadjira.resolutions.searchSearch Jira issue resolutionsreadjira.resolutions.deleteDelete a Jira issue resolutiondestructivejira.resolutions.reorderReorder Jira issue resolutionswrite- and 2 more in this area
Properties8
jira.issue_properties.keys_listList an issue's property keysreadjira.issue_properties.setSet an issue propertywritejira.issue_properties.set_bulk_by_keySet one property on many issueswritejira.issue_properties.set_bulk_listSet properties on a list of issueswritejira.issue_properties.deleteDelete an issue propertydestructivejira.issue_properties.delete_bulk_by_keyDelete one property from many issuesdestructive- and 2 more in this area
Components8
jira.project_components.find_for_projectsFind components across projectsreadjira.project_components.listList a project's componentsreadjira.project_components.list_allList all components of a projectreadjira.project_components.related_issue_countsCount issues on a componentreadjira.project_components.createCreate a Jira componentwritejira.project_components.deleteDelete a Jira componentdestructive- and 2 more in this area
Attachments7
jira.issue_attachments.deleteDelete a Jira attachmentdestructivejira.issue_attachments.expand_humanList an archive attachment's contentsreadjira.issue_attachments.expand_rawList an archive attachment's raw entriesreadjira.issue_attachments.getGet Jira attachment metadatareadjira.issue_attachments.contentDownload a Jira attachmentreadjira.issue_attachments.metaGet attachment settingsread- and 1 more in this area
Avatars6
jira.avatars.deleteDelete an avatardestructivejira.avatars.image_by_idGet an avatar image by idreadjira.avatars.owner_listList an entity's avatarsreadjira.avatars.system_listList system avatarsreadjira.avatars.image_by_ownerGet an entity's avatar imagereadjira.avatars.image_by_typeGet a default avatar imageread
Webhooks5
jira.webhooks.failed_listList failed webhook deliveriesreadjira.webhooks.listList registered webhooksreadjira.webhooks.refreshRefresh webhook expirywritejira.webhooks.registerRegister webhookswritejira.webhooks.deleteDelete registered webhooksdestructive
Time tracking5
jira.time_tracking.options_getGet time tracking settingsreadjira.time_tracking.options_setSet time tracking settingswritejira.time_tracking.provider_getGet the time tracking providerreadjira.time_tracking.providers_listList time tracking providersreadjira.time_tracking.provider_setSet the time tracking providerwrite
Licensing5
jira.application_roles.getGet one Jira application rolereadjira.application_roles.listList Jira application rolesreadjira.license_metrics.approximate_countGet approximate licensed user countreadjira.license_metrics.approximate_count_productGet approximate licences for a productreadjira.license_metrics.instance_licenseGet the site licenceread
Watchers4
jira.issue_watchers.addAdd a watcher to a Jira issuewritejira.issue_watchers.is_watching_bulkCheck watching status for many issuesreadjira.issue_watchers.listList an issue's watchersreadjira.issue_watchers.removeRemove a watcher from a Jira issuedestructive
Votes3
jira.issue_votes.addVote for a Jira issuewritejira.issue_votes.getGet an issue's votesreadjira.issue_votes.removeRemove a vote from a Jira issuedestructive
Expressions2
jira.jira_expressions.analyseAnalyse a Jira expressionreadjira.jira_expressions.evaluateEvaluate a Jira expressionread
Redaction2
jira.issue_redaction.redactRedact issue contentwritejira.issue_redaction.statusGet a redaction job's statusread
Tasks2
jira.tasks.cancelCancel a long-running taskdestructivejira.tasks.getGet a long-running task's statusread
Audit1
jira.audit_records.listList Jira audit recordsread
This index shows a sample of each area. All 604 actions, with their inputs and prices, are in the catalogue, which a free sandbox key can search.
Questions
The Jira MCP server, answered.
Is there a Jira MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 604 Jira actions across fields, workflows, projects and screens, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Atlassian.
Does Atlassian have its own MCP server?
Atlassian runs the Rovo MCP server for Jira, Jira Service Management and Confluence at mcp.atlassian.com, signed in with OAuth 2.1 or an API token. Its calls use Rovo credits from the organisation's pool. (Atlassian's documentation, checked 22 October 2026.) Use Atlassian's server when one person wants to work in Jira from their own AI client. Use actionlake when you also want Jira behind the same endpoint as your other systems: a key per agent with allowed actions and a spending cap, a named person's approval before destructive actions, a sealed record of every call, and one ask across Jira and another system.
What do I need to connect Jira?
Atlassian account email and Atlassian API token. Plus your site host. The free call account { op: "connections.requirements", service: "jira" } lists exactly what to paste.
Can an AI agent delete or change things in Jira?
Only if its key allows it, and only with an explicit confirmation. 103 Jira actions are destructive, including delete a Jira issue, delete a Jira project and delete a Jira project asynchronously. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Jira API limit?
actionlake paces every call to the limits in the Jira service file: 100 calls a second per connection. Repeated reads are answered from cache (303 Jira actions can be), which never reaches Jira.
What does a Jira action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (93 Jira actions page). Cache hits, searches, dry runs and calls Jira refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Jira API does it cover?
The Jira API 3 at your Jira instance's API base URL, which you enter when connecting (path /rest/api/3). It is built from Jira's documentation as read on 15 September 2026. 604 actions in 39 areas, each one in the signed service file (version 2.0.0).
Can I combine Jira with my other systems?
Yes. ask joins Jira to ConnectWise PSA or NetSuite on the same customer and returns the answer rather than every row. Jira maps work.project, which 116 other connectors also map.
Does actionlake keep my Jira data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to an hour, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Jira credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Jira today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.