Connectors · Files & documents
Confluence MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Confluence and the rest of your systems. It gives your agent 334 Confluence actions (198 reads, 88 writes and 48 that wait for a confirmation) and holds the Confluence credential itself, so the agent never does. It paces Confluence'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: "confluence.spaces.list", intent: "check which Confluence account is connected"}# Get spaces · read · 1 upstream call- 334actionsin one signed file
- 198readlook, never change
- 88writecreate and update
- 48wait for a yesdestructive, confirmed first
Set up
Connect Confluence 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 Confluence.
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 Confluence lives: your site host
account { op: "connections.requirements", service: "confluence" } # 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: "confluence.spaces.list" }# get spaces · read · 1 upstream callcheck { action: "confluence.group_v1.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Confluence 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
- Atlassian Confluence Cloud API v2+v1, at your Confluence instance's API base URL, which you enter when connecting
- Built from
- Confluence's documentation, read 18 September 2026dac-static.atlassian.comdac-static.atlassian.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 198 of 198 reads, for up to an hour; a write clears what it affects
- Ready-made plans
- 9 in the store
- Shared entities
- 6, so ask can line Confluence up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Confluence.
334 actions in 37 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 198readlook, never change
- 88writecreate and update
- 48destructivewait for a confirmation
Content V1
3716 read · 13 write · 8 destructive
Get content descendants by type · Get content descendants · Delete page tree · Get restrictions by operation
Pages
2919 read · 8 write · 2 destructive
Get pages · Get all ancestors of page · Get child pages · Get descendants of page
Blogposts
2415 read · 7 write · 2 destructive
Get blog posts · Get footer comments for blog post · Get inline comments for blog post · Create blog post
User V1
2112 read · 5 write · 4 destructive
Get user · Get multiple users using ids · Get user email addresses in batch · Get anonymous user
Spaces
2013 read · 4 write · 3 destructive
Get spaces · Create space · Get blog posts in space · Get pages in space
Space V1
197 read · 8 write · 4 destructive
Create space · Create private space · Get content in space with given content state · Update space
Custom content
1711 read · 4 write · 2 destructive
Get custom content comments · Get attachments for custom content · Get custom content versions · Get permitted operations for custom content
Databases
158 read · 5 write · 2 destructive
Get all ancestors of database · Get descendants of a database · Get direct children of a database · Create database
29 more areas · 152 actions
- Whiteboards 15
- Attachments 13
- Embeds 12
- Folders 12
- Footer comments 11
- Inline comments 11
- Group V1 8
- Settings V1 8
- Space permissions 6
- Template V1 6
- Audit V1 5
- Comments 5
- Relation V1 5
- Space roles 5
- Contentbody V1 4
- Labels 4
- Admin key 3
- Tasks 3
- Analytics V1 2
- CQL 2
- Data policies 2
- Longtask V1 2
- User 2
- Classification levels 1
- Content 1
- Content states V1 1
- Label V1 1
- Space role mode 1
- Users bulk 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 Confluence from their own AI client. Use actionlake when you also want Confluence 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 Confluence and another system.
Source: Atlassian's documentation, checked 22 October 2026.
Top actions
The Confluence API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 119 of Confluence's 121 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
confluence.user_v1.listGet user | Get user. | read | identity.user.get399 connectors |
confluence.group_v1.by_id_listGet group | Get group. | read | identity.group.get212 connectors |
confluence.users_bulk.queryCreate bulk user lookup using ids | Create bulk user lookup using ids. | read | identity.user.list474 connectors |
confluence.spaces.listGet spaces | Get spaces. | read | content.site.list16 connectors |
confluence.pages.listGet pages | Get pages. | read | content.site_page.list11 connectors |
confluence.group_v1.listGet groups | Get groups. | read | identity.group.list262 connectors |
confluence.footer_comments.listGet footer comments | Get footer comments. | read | content.document_comment.list10 connectors |
confluence.group_v1.createCreate new user group | Create new user group. | write | identity.group.create205 connectors |
confluence.tasks.listGet tasks | Get tasks. | read | work.task.list122 connectors |
confluence.spaces.createCreate space | Create space. | write | content.site.create12 connectors |
confluence.space_v1.createCreate space | Create space. | write | content.site.create12 connectors |
confluence.group_v1.by_id_deleteDelete user group | Delete user group. | destructive | identity.group.delete181 connectors |
Try it
Prompts to paste into Claude.
Each one names the Confluence actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Which Confluence tasks are overdue, and who owns each one?
calls
confluence.tasks.list - Planwrite
Create a space and seed its permissions in Confluence. Ask me before anything is sent or changed.
calls
confluence.space_permissions.listconfluence.space_v1.createconfluence.space_v1.permission_createconfluence.space_v1.label_createconfluence.user_v1.watch_space_create - Planread
Audit a space's pages, blog posts and labels in Confluence.
calls
confluence.spaces.getconfluence.spaces.blogposts_listconfluence.spaces.content_labels_listconfluence.space_v1.label_list - Writewrite
Create new user group in Confluence. Show me exactly what you will send before you save it.
calls
confluence.group_v1.create
The plan store
Ready-made plans for Confluence.
9 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 open tasks in a space
Use it when A team lead wants the list of outstanding Confluence action items for their space.
Digest every comment on a page
Use it when Someone wants a summary of all discussion and open threads on a Confluence page.
Audit a space's pages, blog posts and labels
Use it when Someone asks what is in a Confluence space and how its content is labelled.
Rename a page after snapshotting its history
Use it when A page needs renaming and someone wants the previous version recorded before the change.
A person decides
Rename Confluence page page id; it has number of results recorded versions.
Copy a page hierarchy and wait for the job
Use it when Someone needs an existing page tree cloned, for example to template a new project area.
A person decides
Copy page page id and its number of results descendants to a new parent.
Create a space and seed its permissions
Use it when A team asks for a brand new Confluence space to be provisioned with permissions and a watcher.
A person decides
Create a new Confluence space with key space key and grant the supplied permission.
Purge oversized attachments from a page
Use it when A page is over its storage budget and specific attachments must be permanently removed.
A person decides
Permanently purge number of results media type attachments from page page id.
Archive stale pages found by a CQL search
Use it when A space owner wants old or abandoned pages cleaned up after review.
A person decides
Delete number of results Confluence pages matched by the stale-content search.
Report and revoke a departing user's Confluence footprint
Use it when An employee is leaving and their Confluence group membership must be reviewed and revoked.
A person decides
Remove account account id from Confluence group group id; they are currently in number of results groups.
account { op: "plans.install", slug: "confluence-open-task-report" }
# then ask for it by name; a schedule can run it on a timetableGovernance for Confluence
Destructive actions wait for a yes.
48 Confluence actions are destructive. The first 10:
- Delete user group
confluence.group_v1.by_id_delete - Delete space
confluence.space_v1.delete - Delete page
confluence.pages.delete - Delete blog post
confluence.blogposts.delete - Delete page tree
confluence.content_v1.page_tree_delete - Enable Admin Key
confluence.admin_key.create - Delete attachment
confluence.attachments.delete - Delete folder
confluence.folders.delete - Delete footer comment
confluence.footer_comments.delete - Delete inline comment
confluence.inline_comments.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 space?
intent: the user asked me to delete space
account { op: "keys.create", name: "confluence-agent", allowed_actions: ["confluence.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "confluence.group_v1.by_id_delete", approver: "[email protected]" }, { match: "confluence.space_v1.delete", approver: "[email protected]" }, { match: "confluence.pages.delete", approver: "[email protected]" } ]}Cost
What Confluence costs on actionlake.
Every Confluence action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Confluence 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 334 Confluence actions
- 97actions pageeach page of a long list is one call
- 198reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Confluence action.
334 actions by area: the id your agent calls, what it does, and its effect.
Content V137
confluence.content_v1.descendant_getGet content descendants by typereadconfluence.content_v1.descendant_listGet content descendantsreadconfluence.content_v1.page_tree_deleteDelete page treedestructiveconfluence.content_v1.restriction_by_operation_listGet restrictions by operationreadconfluence.content_v1.archive_createArchive pageswriteconfluence.content_v1.blueprint_instance_createPublish legacy draftwrite- and 31 more in this area
Pages29
confluence.pages.ancestors_listGet all ancestors of pagereadconfluence.pages.children_listGet child pagesreadconfluence.pages.descendants_listGet descendants of pagereadconfluence.pages.listGet pagesreadconfluence.pages.attachments_listGet attachments for pagereadconfluence.pages.classification_level_listGet page classification levelread- and 23 more in this area
Blogposts24
confluence.blogposts.createCreate blog postwriteconfluence.blogposts.footer_comments_listGet footer comments for blog postreadconfluence.blogposts.inline_comments_listGet inline comments for blog postreadconfluence.blogposts.listGet blog postsreadconfluence.blogposts.attachments_listGet attachments for blog postreadconfluence.blogposts.classification_level_listGet blog post classification levelread- and 18 more in this area
User V121
confluence.user_v1.anonymous_listGet anonymous userreadconfluence.user_v1.bulk_listGet multiple users using idsreadconfluence.user_v1.email_bulk_listGet user email addresses in batchreadconfluence.user_v1.listGet userreadconfluence.user_v1.current_listGet current userreadconfluence.user_v1.email_listGet user email addressread- and 15 more in this area
Spaces20
confluence.spaces.blogposts_listGet blog posts in spacereadconfluence.spaces.createCreate spacewriteconfluence.spaces.listGet spacesreadconfluence.spaces.pages_listGet pages in spacereadconfluence.spaces.classification_level_default_deleteDelete space default classification leveldestructiveconfluence.spaces.classification_level_default_listGet space default classification levelread- and 14 more in this area
Space V119
confluence.space_v1.createCreate spacewriteconfluence.space_v1.private_createCreate private spacewriteconfluence.space_v1.state_content_listGet content in space with given content statereadconfluence.space_v1.updateUpdate spacewriteconfluence.space_v1.deleteDelete spacedestructiveconfluence.space_v1.label_createAdd labels to a spacewrite- and 13 more in this area
Custom content17
confluence.custom_content.attachments_listGet attachments for custom contentreadconfluence.custom_content.footer_comments_listGet custom content commentsreadconfluence.custom_content.operations_listGet permitted operations for custom contentreadconfluence.custom_content.versions_listGet custom content versionsreadconfluence.custom_content.children_listGet child custom contentreadconfluence.custom_content.createCreate custom contentwrite- and 11 more in this area
Databases15
confluence.databases.ancestors_listGet all ancestors of databasereadconfluence.databases.createCreate databasewriteconfluence.databases.descendants_listGet descendants of a databasereadconfluence.databases.direct_children_listGet direct children of a databasereadconfluence.databases.classification_level_listGet database classification levelreadconfluence.databases.classification_level_reset_createReset database classification levelwrite- and 9 more in this area
Whiteboards15
confluence.whiteboards.ancestors_listGet all ancestors of whiteboardreadconfluence.whiteboards.createCreate whiteboardwriteconfluence.whiteboards.descendants_listGet descendants of a whiteboardreadconfluence.whiteboards.direct_children_listGet direct children of a whiteboardreadconfluence.whiteboards.classification_level_listGet whiteboard classification levelreadconfluence.whiteboards.classification_level_reset_createReset whiteboard classification levelwrite- and 9 more in this area
Attachments13
confluence.attachments.deleteDelete attachmentdestructiveconfluence.attachments.footer_comments_listGet attachment commentsreadconfluence.attachments.getGet attachment by idreadconfluence.attachments.listGet attachmentsreadconfluence.attachments.labels_listGet labels for attachmentreadconfluence.attachments.operations_listGet permitted operations for attachmentread- and 7 more in this area
Embeds12
confluence.embeds.ancestors_listGet all ancestors of Smart Link in content treereadconfluence.embeds.descendants_listGet descendants of a smart linkreadconfluence.embeds.direct_children_listGet direct children of a Smart Linkreadconfluence.embeds.operations_listGet permitted operations for a Smart Link in the content treereadconfluence.embeds.createCreate Smart Link in the content treewriteconfluence.embeds.deleteDelete Smart Link in the content treedestructive- and 6 more in this area
Folders12
confluence.folders.ancestors_listGet all ancestors of folderreadconfluence.folders.createCreate folderwriteconfluence.folders.descendants_listGet descendants of folderreadconfluence.folders.direct_children_listGet direct children of a folderreadconfluence.folders.deleteDelete folderdestructiveconfluence.folders.getGet folder by idread- and 6 more in this area
Footer comments11
confluence.footer_comments.children_listGet children footer commentsreadconfluence.footer_comments.createCreate footer commentwriteconfluence.footer_comments.getGet footer comment by idreadconfluence.footer_comments.listGet footer commentsreadconfluence.footer_comments.deleteDelete footer commentdestructiveconfluence.footer_comments.likes_count_listGet like count for footer commentread- and 5 more in this area
Inline comments11
confluence.inline_comments.children_listGet children inline commentsreadconfluence.inline_comments.createCreate inline commentwriteconfluence.inline_comments.getGet inline comment by idreadconfluence.inline_comments.listGet inline commentsreadconfluence.inline_comments.deleteDelete inline commentdestructiveconfluence.inline_comments.likes_count_listGet like count for inline commentread- and 5 more in this area
Group V18
confluence.group_v1.by_id_deleteDelete user groupdestructiveconfluence.group_v1.by_id_listGet groupreadconfluence.group_v1.createCreate new user groupwriteconfluence.group_v1.listGet groupsreadconfluence.group_v1.members_by_group_id_listGet group membersreadconfluence.group_v1.picker_listSearch groups by partial queryread- and 2 more in this area
Settings V18
confluence.settings_v1.lookandfeel_listGet look and feel settingsreadconfluence.settings_v1.system_info_listGet system inforeadconfluence.settings_v1.theme_getGet themereadconfluence.settings_v1.theme_listGet themesreadconfluence.settings_v1.lookandfeel_custom_createUpdate look and feel settingswriteconfluence.settings_v1.lookandfeel_custom_deleteReset look and feel settingsdestructive- and 2 more in this area
Space permissions6
confluence.space_permissions.listGet available space permissionsreadconfluence.space_permissions.transition_access_removals_createBulk remove space permission accessdestructiveconfluence.space_permissions.transition_combinations_listList unassigned space permission combinationsreadconfluence.space_permissions.transition_combinations_queryGenerate space permission combinationsreadconfluence.space_permissions.transition_role_assignments_createBulk assign space permission rolesdestructiveconfluence.space_permissions.transition_tasks_getGet space permission transition task statusread
Template V16
confluence.template_v1.blueprint_listGet blueprint templatesreadconfluence.template_v1.createCreate content templatewriteconfluence.template_v1.getGet content templatereadconfluence.template_v1.page_listGet content templatesreadconfluence.template_v1.deleteRemove templatedestructiveconfluence.template_v1.updateUpdate content templatewrite
Audit V15
confluence.audit_v1.listGet audit recordsreadconfluence.audit_v1.retention_listGet retention periodreadconfluence.audit_v1.retention_updateSet retention periodwriteconfluence.audit_v1.since_listGet audit records for time periodreadconfluence.audit_v1.createCreate audit recordwrite
Comments5
confluence.comments.properties_createCreate content property for commentwriteconfluence.comments.properties_getGet content property for comment by idreadconfluence.comments.properties_listGet content properties for commentreadconfluence.comments.properties_updateUpdate content property for comment by idwriteconfluence.comments.properties_deleteDelete content property for comment by iddestructive
Relation V15
confluence.relation_v1.from_to_deleteDelete relationshipdestructiveconfluence.relation_v1.from_to_get_by_relation_name_source_type_source_key_target_typeFind target entities related to a source entityreadconfluence.relation_v1.from_to_updateCreate relationshipwriteconfluence.relation_v1.to_from_getFind source entities related to a target entityreadconfluence.relation_v1.from_to_get_by_relation_name_source_type_source_key_target_type_target_keyFind relationship from source to targetread
Space roles5
confluence.space_roles.createCreate a space rolewriteconfluence.space_roles.getGet space role by IDreadconfluence.space_roles.listGet available space rolesreadconfluence.space_roles.updateUpdate a space rolewriteconfluence.space_roles.deleteDelete a space roledestructive
Contentbody V14
confluence.contentbody_v1.convert_async_bulk_tasks_createCreate asynchronous content body conversion tasks in bulkwriteconfluence.contentbody_v1.convert_async_bulk_tasks_listGet asynchronous content body conversion task result in bulkreadconfluence.contentbody_v1.convert_async_createAsynchronously convert content bodywriteconfluence.contentbody_v1.convert_async_getGet asynchronously converted content body from the id or the current status of the task.read
Labels4
confluence.labels.attachments_listGet attachments for labelreadconfluence.labels.blogposts_listGet blog posts for labelreadconfluence.labels.listGet labelsreadconfluence.labels.pages_listGet pages for labelread
Admin key3
confluence.admin_key.createEnable Admin Keydestructiveconfluence.admin_key.deleteDisable Admin Keydestructiveconfluence.admin_key.listGet Admin Keyread
Tasks3
confluence.tasks.getGet task by idreadconfluence.tasks.listGet tasksreadconfluence.tasks.updateUpdate taskwrite
Analytics V12
confluence.analytics_v1.content_viewers_listGet viewersreadconfluence.analytics_v1.content_views_listGet viewsread
CQL2
confluence.cql.searchSearch contentreadconfluence.cql.user_searchSearch usersread
Data policies2
confluence.data_policies.metadata_listGet data policy metadata for the workspacereadconfluence.data_policies.spaces_listGet spaces with data policiesread
Longtask V12
confluence.longtask_v1.getGet long-running taskreadconfluence.longtask_v1.listGet long-running tasksread
User2
confluence.user.access_check_access_by_email_queryCheck site access for a list of emailsreadconfluence.user.access_invite_by_email_createInvite a list of emails to the sitewrite
Classification levels1
confluence.classification_levels.listGet list of classification levelsread
Content1
confluence.content.convert_ids_to_types_queryConvert content ids to content typesread
Content states V11
confluence.content_states_v1.listGet Custom Content Statesread
Label V11
confluence.label_v1.listGet label informationread
Space role mode1
confluence.space_role_mode.listGet space role moderead
Users bulk1
confluence.users_bulk.queryCreate bulk user lookup using idsread
This index shows a sample of each area. All 334 actions, with their inputs and prices, are in the catalogue, which a free sandbox key can search.
Questions
The Confluence MCP server, answered.
Is there a Confluence MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 334 Confluence actions across content V1, pages, blogposts and user V1, 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 Confluence from their own AI client. Use actionlake when you also want Confluence 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 Confluence and another system.
What do I need to connect Confluence?
Atlassian account email and Atlassian API token. Plus your site host. The free call account { op: "connections.requirements", service: "confluence" } lists exactly what to paste.
Can an AI agent delete or change things in Confluence?
Only if its key allows it, and only with an explicit confirmation. 48 Confluence actions are destructive, including delete user group, delete space and delete page. 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 Confluence API limit?
actionlake paces every call to the limits in the Confluence service file: 100 calls a second per connection. Repeated reads are answered from cache (198 Confluence actions can be), which never reaches Confluence.
What does a Confluence action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (97 Confluence actions page). Cache hits, searches, dry runs and calls Confluence 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 Confluence API does it cover?
The Atlassian Confluence Cloud API v2+v1 at your Confluence instance's API base URL, which you enter when connecting. It is built from Confluence's documentation as read on 18 September 2026. 334 actions in 37 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Confluence 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 Confluence 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 Confluence today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.