549342c85a42692e8582d2a7a4f01e60e1a06b88source_git · 1vecera/confluence-mcp · current release
Observed 2026-08-31T12:26:55.476Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2025-06-18.
{
"experimental": {},
"prompts": {
"listChanged": false
},
"resources": {
"subscribe": false,
"listChanged": false
},
"tools": {
"listChanged": false
}
}| 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"
} | — | — · — | — |