Atlassian intelligence →
Association is based on retained identity fields; it does not by itself prove first-party publication.
A Confluence MCP server optimized for AI agents, enabling surgical section edits, fast page tree downloads, smart image handling, and more
Detailed security scan evidence is not public for this MCP yet. Public identity, registry metadata, and independently observed protocol inventory remain available.
Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.
No verified installation or connection method is available in the retained evidence yet.
| Canonical slug | confluence-mcp-3e09dcf9 | Deployment | Local Only |
|---|---|---|---|
| Canonical package | — | Repository | 1vecera/confluence-mcp |
| First published | — | Latest release | — |
| Last security verification | — | Classification confidence | 90% |
| Publication | Draft | Official distribution | Not verified |
| Channel | Identifier | Current version | Versions | Source |
|---|---|---|---|---|
| source_git | 1vecera/confluence-mcp | 549342c85a42692e8582d2a7a4f01e60e1a06b88 | 1 | Repository |
| Package | Version | Published / observed | Inventory | Security scan |
|---|---|---|---|---|
| source_git1vecera/confluence-mcp | 549342c85a42692e8582d2a7a4f01e60e1a06b88Current | Aug 31, 2026 | 17 toolsSucceeded · 0 resources · 0 prompts | Evidence restricted |
Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.
No public current-version evidence is available yet.
| Tool | Category | Annotations | Risk |
|---|---|---|---|
add_labelAdd a label to a page.
Args:
page_id: The page ID.
label: The label text.
Input schema{
"properties": {
"page_id": {
"title": "Page Id",
"type": "string"
},
"label": {
"title": "Label",
"type": "string"
}
},
"required": [
"page_id",
"label"
],
"title": "add_labelArguments",
"type": "object"
}Output schema{
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "add_labelOutput",
"type": "object"
} | — | — | |
append_to_sectionAppend content to the end of a specific section.
Args:
page_id: The page ID.
heading: The heading text identifying the section.
content: Content to append (ignored if input_file is provided).
content_format: "markdown" or "storage".
version_message: Optional commit message.
input_file: Path to a file whose content will be appended.
Input schema{
"properties": {
"page_id": {
"title": "Page Id",
"type": "string"
},
"heading": {
"title": "Heading",
"type": "string"
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Content"
},
"content_format": {
"default": "markdown",
"title": "Content Format",
"type": "string"
},
"version_message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Version Message"
},
"input_file": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Input File"
}
},
"required": [
"page_id",
"heading"
],
"title": "append_to_sectionArguments",
"type": "object"
}Output schema{
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "append_to_sectionOutput",
"type": "object"
} | — | — | |
create_pageCreate a new Confluence page.
Args:
space_id: The space ID (numeric).
title: Page title.
body: Page content (ignored if input_file is provided).
parent_id: Optional parent page ID.
body_format: "markdown" or "storage" (default: markdown).
input_file: Path to a file whose content becomes the page body.
Input schema{
"properties": {
"space_id": {
"title": "Space Id",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
},
"body": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Body"
},
"parent_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Parent Id"
},
"body_format": {
"default": "markdown",
"title": "Body Format",
"type": "string"
},
"input_file": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Input File"
}
},
"required": [
"space_id",
"title"
],
"title": "create_pageArguments",
"type": "object"
}Output schema{
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "create_pageOutput",
"type": "object"
} | — | — | |
download_attachmentDownload an attachment from a page by filename.
Args:
page_id: The page ID.
filename: The attachment filename.
output_file: If provided, save the attachment to this file path
instead of returning base64 in the response.
Input schema{
"properties": {
"page_id": {
"title": "Page Id",
"type": "string"
},
"filename": {
"title": "Filename",
"type": "string"
},
"output_file": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Output File"
}
},
"required": [
"page_id",
"filename"
],
"title": "download_attachmentArguments",
"type": "object"
}Output schema{
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "download_attachmentOutput",
"type": "object"
} | — | — | |
find_replace_in_pageFind and replace text within a page, preserving all HTML structure.
Args:
page_id: The page ID.
find_text: Text to search for.
replace_text: Text to replace it with.
version_message: Optional commit message.
Input schema{
"properties": {
"page_id": {
"title": "Page Id",
"type": "string"
},
"find_text": {
"title": "Find Text",
"type": "string"
},
"replace_text": {
"title": "Replace Text",
"type": "string"
},
"version_message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Version Message"
}
},
"required": [
"page_id",
"find_text",
"replace_text"
],
"title": "find_replace_in_pageArguments",
"type": "object"
}Output schema{
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "find_replace_in_pageOutput",
"type": "object"
} | — | — | |
get_labelsGet labels on a page.
Args:
page_id: The page ID.
Input schema{
"properties": {
"page_id": {
"title": "Page Id",
"type": "string"
}
},
"required": [
"page_id"
],
"title": "get_labelsArguments",
"type": "object"
}Output schema{
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_labelsOutput",
"type": "object"
} | — | — | |
get_pageGet a Confluence page by ID.
Args:
page_id: The numeric page ID.
include_body: Whether to include page content (default: True).
body_format: Return body as "markdown", "storage", or "view" (default: markdown).
output_file: If provided, write the page body to this file path instead
of returning it in the response. Keeps the LLM context clean.
include_images: If True and output_file is set, download images and
rewrite URLs to local paths.
images_dir: Directory to save images to. Defaults to pictures/ next to
the output file. Set this to control where images land.
Input schema{
"properties": {
"page_id": {
"title": "Page Id",
"type": "string"
},
"include_body": {
"default": true,
"title": "Include Body",
"type": "boolean"
},
"body_format": {
"default": "markdown",
"title": "Body Format",
"type": "string"
},
"output_file": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Output File"
},
"include_images": {
"default": true,
"title": "Include Images",
"type": "boolean"
},
"images_dir": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Images Dir"
}
},
"required": [
"page_id"
],
"title": "get_pageArguments",
"type": "object"
}Output schema{
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_pageOutput",
"type": "object"
} | — | — | |
get_page_sectionsList all sections (headings) of a page with their content.
Args:
page_id: The page ID.
Input schema{
"properties": {
"page_id": {
"title": "Page Id",
"type": "string"
}
},
"required": [
"page_id"
],
"title": "get_page_sectionsArguments",
"type": "object"
}Output schema{
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_page_sectionsOutput",
"type": "object"
} | — | — | |
get_page_treeGet a page and all its descendants as a flat list.
When output_dir is set, saves each page as a .md file and downloads all
images — same as the fetch-confluence skill.
Args:
page_id: The root page ID.
include_body: If True, fetch each page's body in markdown (slower).
output_dir: If provided, write each page as a separate .md file to this
directory. Files are named by depth and title.
include_images: If True and output_dir is set, download all image
attachments and rewrite URLs in markdown.
images_dir: Directory to save images to. Defaults to pictures/ inside
output_dir. Set this to control where images land.
Input schema{
"properties": {
"page_id": {
"title": "Page Id",
"type": "string"
},
"include_body": {
"default": false,
"title": "Include Body",
"type": "boolean"
},
"output_dir": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Output Dir"
},
"include_images": {
"default": true,
"title": "Include Images",
"type": "boolean"
},
"images_dir": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Images Dir"
}
},
"required": [
"page_id"
],
"title": "get_page_treeArguments",
"type": "object"
}Output schema{
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_page_treeOutput",
"type": "object"
} | — | — | |
get_sectionGet content of a specific section by heading name.
Args:
page_id: The page ID.
heading: The exact heading text to find.
body_format: "markdown" or "storage" (default: markdown).
output_file: If provided, write section content to this file.
Input schema{
"properties": {
"page_id": {
"title": "Page Id",
"type": "string"
},
"heading": {
"title": "Heading",
"type": "string"
},
"body_format": {
"default": "markdown",
"title": "Body Format",
"type": "string"
},
"output_file": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Output File"
}
},
"required": [
"page_id",
"heading"
],
"title": "get_sectionArguments",
"type": "object"
}Output schema{
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_sectionOutput",
"type": "object"
} | — | — | |
list_attachmentsList all attachments on a page.
Args:
page_id: The page ID.
Input schema{
"properties": {
"page_id": {
"title": "Page Id",
"type": "string"
}
},
"required": [
"page_id"
],
"title": "list_attachmentsArguments",
"type": "object"
}Output schema{
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "list_attachmentsOutput",
"type": "object"
} | — | — | |
list_page_imagesList all image references in a page.
Args:
page_id: The page ID.
Input schema{
"properties": {
"page_id": {
"title": "Page Id",
"type": "string"
}
},
"required": [
"page_id"
],
"title": "list_page_imagesArguments",
"type": "object"
}Output schema{
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "list_page_imagesOutput",
"type": "object"
} | — | — | |
search_pagesSearch Confluence pages using CQL or simple text.
Args:
query: CQL query or simple text.
limit: Max results (1-50, default 10).
Input schema{
"properties": {
"query": {
"title": "Query",
"type": "string"
},
"limit": {
"default": 10,
"title": "Limit",
"type": "integer"
}
},
"required": [
"query"
],
"title": "search_pagesArguments",
"type": "object"
}Output schema{
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "search_pagesOutput",
"type": "object"
} | — | — | |
update_pageUpdate an entire page's content.
Content can come from the body parameter OR from a file via input_file.
Using input_file avoids sending large content through the LLM.
Args:
page_id: The page ID.
body: The new page body (ignored if input_file is provided).
title: New title (optional, keeps current if not provided).
body_format: "markdown" or "storage" (default: markdown).
version_message: Optional commit message for this version.
input_file: Path to a file whose content will be used as the page body.
The file format is determined by body_format.
Input schema{
"properties": {
"page_id": {
"title": "Page Id",
"type": "string"
},
"body": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Body"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Title"
},
"body_format": {
"default": "markdown",
"title": "Body Format",
"type": "string"
},
"version_message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Version Message"
},
"input_file": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Input File"
}
},
"required": [
"page_id"
],
"title": "update_pageArguments",
"type": "object"
}Output schema{
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "update_pageOutput",
"type": "object"
} | — | — | |
update_sectionSurgically replace the content of a specific section by heading.
Only the section under the specified heading is changed; the rest of
the page is untouched.
Args:
page_id: The page ID.
heading: The heading text identifying the section.
new_content: The replacement content (ignored if input_file is provided).
content_format: "markdown" or "storage" (default: markdown).
version_message: Optional commit message.
input_file: Path to a file whose content replaces the section.
Input schema{
"properties": {
"page_id": {
"title": "Page Id",
"type": "string"
},
"heading": {
"title": "Heading",
"type": "string"
},
"new_content": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "New Content"
},
"content_format": {
"default": "markdown",
"title": "Content Format",
"type": "string"
},
"version_message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Version Message"
},
"input_file": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Input File"
}
},
"required": [
"page_id",
"heading"
],
"title": "update_sectionArguments",
"type": "object"
}Output schema{
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "update_sectionOutput",
"type": "object"
} | — | — | |
upload_attachmentUpload a file as an attachment to a page.
Can upload from a local file (input_file) or from base64 content.
Args:
page_id: The page ID.
filename: Name for the attachment (auto-detected from input_file if not given).
content_base64: File content as base64 (ignored if input_file is provided).
content_type: MIME type (auto-detected from filename if not given).
comment: Optional comment for the attachment.
input_file: Path to a local file to upload directly.
Input schema{
"properties": {
"page_id": {
"title": "Page Id",
"type": "string"
},
"filename": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Filename"
},
"content_base64": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Content Base64"
},
"content_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Content Type"
},
"comment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Comment"
},
"input_file": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Input File"
}
},
"required": [
"page_id"
],
"title": "upload_attachmentArguments",
"type": "object"
}Output schema{
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "upload_attachmentOutput",
"type": "object"
} | — | — | |
upload_image_and_embedUpload an image and optionally embed it in the page.
Can upload from a local file (input_file) or from base64 content.
Args:
page_id: The page ID.
filename: Name for the image file (auto-detected from input_file).
image_base64: Image content as base64 (ignored if input_file is provided).
content_type: MIME type (auto-detected from filename if not given).
replace_url: If provided, replaces this external image URL in the page
body with the new attachment reference.
input_file: Path to a local image file to upload directly.
Input schema{
"properties": {
"page_id": {
"title": "Page Id",
"type": "string"
},
"filename": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Filename"
},
"image_base64": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Image Base64"
},
"content_type": {
"default": "image/png",
"title": "Content Type",
"type": "string"
},
"replace_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Replace Url"
},
"input_file": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Input File"
}
},
"required": [
"page_id"
],
"title": "upload_image_and_embedArguments",
"type": "object"
}Output schema{
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "upload_image_and_embedOutput",
"type": "object"
} | — | — |
| Endpoint | Transport | Authentication | Health | Observed |
|---|---|---|---|---|
| No verified remote endpoint is linked. | ||||
No verified package installation command is available in the retained catalog evidence.
confluence-mcp Server exposed 17 tools during independent protocol observation, including add_label, append_to_section, create_page, download_attachment, find_replace_in_page, get_labels, get_page, get_page_sections, and others.
The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.
These internal links are derived from strong identity fields such as the implementation name, package, repository, vendor, and listing name—not generic description prose.
Association is based on retained identity fields; it does not by itself prove first-party publication.
Curated product and capability guides containing this catalog record.