← confluence-dc-advops-mcp

confluence-dc-advops-mcp 164212720450216e98675584e9e63c3a72322633

source_git · iljasorokin/confluence-dc-advops-mcp · current release

33
Tools
0
Resources
0
Templates
0
Prompts

Observation

Observed 2026-08-25T18:47:02.467Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2025-06-18.

Server capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools 33

ToolCategoryAnnotationsRisk
confluence_addCommentAdd a footer comment under a page (POST /rest/api/content type=comment). Not inline — quote the relevant page text in the body if needed. bodyFormat plain (default) wraps text in <p>; storage passes Confluence storage XML as-is.
Input schema
{
  "type": "object",
  "properties": {
    "contentId": {
      "type": "string",
      "description": "Page ID"
    },
    "body": {
      "type": "string",
      "description": "Comment text. Plain: use blank lines for paragraphs. Tip: start with a quote from the page so the subject is clear."
    },
    "bodyFormat": {
      "type": "string",
      "enum": [
        "plain",
        "storage"
      ],
      "description": "plain (default) or storage XML"
    }
  },
  "required": [
    "contentId",
    "body"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_addLabelsAdd labels to a page (POST /rest/api/content/{id}/label). Does not remove existing labels. Global prefix.
Input schema
{
  "type": "object",
  "properties": {
    "contentId": {
      "type": "string",
      "description": "Page ID"
    },
    "labels": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "description": "Label names to add, e.g. [\"draft\"]"
    }
  },
  "required": [
    "contentId",
    "labels"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_createSpaceTemplateFromFileCreate a new space page template from a local storage XML file via POST /rest/experimental/template. Fails if a template with the same name already exists.
Input schema
{
  "type": "object",
  "properties": {
    "spaceKey": {
      "type": "string",
      "description": "Space key, e.g. MYSPACE"
    },
    "name": {
      "type": "string",
      "description": "New template name, e.g. SRS-XXX-DB-01 Модель данных"
    },
    "filePath": {
      "type": "string",
      "description": "Absolute path to storage XML (usually dumped from source page)"
    },
    "description": {
      "type": "string",
      "description": "Template description shown in Create from template"
    },
    "labels": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Label names on the template (copied onto pages created from it)"
    },
    "copyLabelsFromContentId": {
      "type": "string",
      "description": "Copy global labels from this page onto the new template (ignored if labels is set)"
    }
  },
  "required": [
    "spaceKey",
    "name",
    "filePath"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_deleteSpaceTemplateDESTRUCTIVE. Delete one space Create template (DELETE /rest/experimental/template/{id}). ALWAYS stop and get explicit human approval in chat first — never invent confirm. Requires confirm="DELETE" and confirmName=exact template name. No trash restore; archive dump first.
Input schema
{
  "type": "object",
  "properties": {
    "spaceKey": {
      "type": "string",
      "description": "Space key, e.g. MYSPACE"
    },
    "templateId": {
      "type": "string",
      "description": "Space template ID to delete"
    },
    "name": {
      "type": "string",
      "description": "Template name or substring if id unknown"
    },
    "confirm": {
      "type": "string",
      "const": "DELETE",
      "description": "Pass only after human approved in this chat. Exact string DELETE (not true/yes)."
    },
    "confirmName": {
      "type": "string",
      "description": "Exact template name from listSpaceTemplates; must match the resolved template or delete is refused"
    }
  },
  "required": [
    "spaceKey",
    "confirm",
    "confirmName"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Delete space template (needs human confirm)",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": true,
  "openWorldHint": true
}
Writes · Destructive
confluence_deleteSpaceTemplatesDESTRUCTIVE. Delete several space Create templates by id. ALWAYS get explicit human approval in chat first. Requires confirm="DELETE" and confirmNames[] exact names (same order as templateIds). Continues on per-item errors. Archive dump first.
Input schema
{
  "type": "object",
  "properties": {
    "spaceKey": {
      "type": "string",
      "description": "Space key, e.g. MYSPACE"
    },
    "templateIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "description": "Template IDs to delete, e.g. [\"104005670\",\"110428188\"]"
    },
    "confirm": {
      "type": "string",
      "const": "DELETE",
      "description": "Pass only after human approved in this chat. Exact string DELETE (not true/yes)."
    },
    "confirmNames": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "description": "Exact template names, same length/order as templateIds"
    }
  },
  "required": [
    "spaceKey",
    "templateIds",
    "confirm",
    "confirmNames"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "title": "Delete space templates batch (needs human confirm)",
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": true,
  "openWorldHint": true
}
Writes · Destructive
confluence_downloadAttachmentToFileDownload a page attachment binary to a local file. Identify by attachmentId and/or filename on contentId. Prefer this over stuffing binaries into chat.
Input schema
{
  "type": "object",
  "properties": {
    "contentId": {
      "type": "string",
      "description": "Parent page ID"
    },
    "attachmentId": {
      "type": "string",
      "description": "Attachment content ID"
    },
    "filename": {
      "type": "string",
      "description": "Attachment title/filename, e.g. onbording.zip"
    },
    "filePath": {
      "type": "string",
      "description": "Absolute local path to write the file"
    }
  },
  "required": [
    "contentId",
    "filePath"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_getSpaceTemplateToFileDownload a space page template body.storage to a local XML file. Requires spaceKey (GET by id alone 404s on DC). Identify by templateId and/or exact/partial name.
Input schema
{
  "type": "object",
  "properties": {
    "spaceKey": {
      "type": "string",
      "description": "Space key, e.g. MYSPACE"
    },
    "templateId": {
      "type": "string",
      "description": "Space template ID"
    },
    "name": {
      "type": "string",
      "description": "Template name or substring, e.g. CR-XXX-BRD"
    },
    "filePath": {
      "type": "string",
      "description": "Absolute path to write storage XML"
    }
  },
  "required": [
    "spaceKey",
    "filePath"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_getStorageToFileDownload Confluence page body.storage XML to a local file for surgical edits (large templates). Returns version/title/path. Prefer this over stuffing huge storage into chat.
Input schema
{
  "type": "object",
  "properties": {
    "contentId": {
      "type": "string",
      "description": "Confluence page ID"
    },
    "filePath": {
      "type": "string",
      "description": "Absolute path to write storage XML (e.g. /path/to/page.xml)"
    }
  },
  "required": [
    "contentId",
    "filePath"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_listAttachmentsList attachments on a Confluence page (GET /rest/api/content/{id}/child/attachment). Optional exact filename filter.
Input schema
{
  "type": "object",
  "properties": {
    "contentId": {
      "type": "string",
      "description": "Parent page ID"
    },
    "filename": {
      "type": "string",
      "description": "Exact filename filter, e.g. onbording.zip"
    }
  },
  "required": [
    "contentId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_listChildPagesList direct child pages of a parent with tree position (GET /rest/api/content/{id}/child/page?expand=extensions.position). Use before/after reorder.
Input schema
{
  "type": "object",
  "properties": {
    "parentId": {
      "type": "string",
      "description": "Parent page ID"
    },
    "limit": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 500,
      "description": "Max children to return (default 200)"
    }
  },
  "required": [
    "parentId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_listCommentsList footer (page) comments on a Confluence page. GET /rest/api/content/{id}/child/comment?location=footer. Inline comments are not included — put document quotes in the comment body instead.
Input schema
{
  "type": "object",
  "properties": {
    "contentId": {
      "type": "string",
      "description": "Page ID"
    },
    "depth": {
      "type": "string",
      "enum": [
        "root",
        "all"
      ],
      "description": "root = top-level only; all = include replies (default all)"
    },
    "limit": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 200,
      "description": "Page size per request (default 50)"
    }
  },
  "required": [
    "contentId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_listInlineCommentsList inline comments on a page (read-only listing). Distinguishes open (visible on page, location=inline) vs resolved (location=resolved). Does not create new inline anchors.
Input schema
{
  "type": "object",
  "properties": {
    "contentId": {
      "type": "string",
      "description": "Page ID"
    },
    "status": {
      "type": "string",
      "enum": [
        "open",
        "resolved",
        "all"
      ],
      "description": "open = visible on page; resolved = in Resolved; all = both (default all)"
    },
    "depth": {
      "type": "string",
      "enum": [
        "root",
        "all"
      ],
      "description": "root = top-level only; all = include replies (default all)"
    },
    "limit": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 200,
      "description": "Page size per request (default 50)"
    }
  },
  "required": [
    "contentId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_listLabelsList labels on a Confluence page (GET /rest/api/content/{id}/label). Optional prefix filter (global|my).
Input schema
{
  "type": "object",
  "properties": {
    "contentId": {
      "type": "string",
      "description": "Page ID"
    },
    "prefix": {
      "type": "string",
      "enum": [
        "global",
        "my"
      ],
      "description": "Filter by label prefix (default: all)"
    }
  },
  "required": [
    "contentId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_listSpaceTemplatesList space page templates via /rest/experimental/template/page (DC). spaceKey required. Optional nameContains filter. Does not expand body by default (fast).
Input schema
{
  "type": "object",
  "properties": {
    "spaceKey": {
      "type": "string",
      "description": "Space key, e.g. MYSPACE"
    },
    "nameContains": {
      "type": "string",
      "description": "Case-insensitive substring filter on template name"
    },
    "expandBody": {
      "type": "boolean",
      "description": "If true, expand body (slow). Default false."
    }
  },
  "required": [
    "spaceKey"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_movePageMove (reparent) a Confluence Data Center page under a new parent. Uses PUT /rest/api/content/{id} with ancestors. Does not change page body.
Input schema
{
  "type": "object",
  "properties": {
    "contentId": {
      "type": "string",
      "description": "ID of the page to move"
    },
    "parentId": {
      "type": "string",
      "description": "ID of the new parent page"
    },
    "versionComment": {
      "type": "string",
      "description": "Optional Confluence version comment for the move"
    }
  },
  "required": [
    "contentId",
    "parentId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_movePagesMove several Confluence pages under new parents, sequentially. Each item reports success/error.
Input schema
{
  "type": "object",
  "properties": {
    "moves": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "contentId": {
            "type": "string",
            "description": "ID of the page to move"
          },
          "parentId": {
            "type": "string",
            "description": "ID of the new parent page"
          }
        },
        "required": [
          "contentId",
          "parentId"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "description": "List of move operations"
    },
    "versionComment": {
      "type": "string",
      "description": "Optional version comment applied to each successful move"
    }
  },
  "required": [
    "moves"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_removeLabelsRemove labels from a page (DELETE /rest/api/content/{id}/label?name=). Continues on per-label errors.
Input schema
{
  "type": "object",
  "properties": {
    "contentId": {
      "type": "string",
      "description": "Page ID"
    },
    "labels": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "description": "Label names to remove"
    }
  },
  "required": [
    "contentId",
    "labels"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_reorderPageChange page order among siblings (or append under target). DC 9.x: POST /pages/movepage.action with position above|below|append. Prefer listChildPages first. above/below = same parent as target; append = become child of target.
Input schema
{
  "type": "object",
  "properties": {
    "contentId": {
      "type": "string",
      "description": "Page ID to move in the tree"
    },
    "targetId": {
      "type": "string",
      "description": "Reference page ID"
    },
    "position": {
      "type": "string",
      "enum": [
        "above",
        "below",
        "append"
      ],
      "description": "above/below = sibling of target; append = child of target (reparent+last)"
    }
  },
  "required": [
    "contentId",
    "targetId",
    "position"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_replyToCommentReply in a footer comment thread (POST comment with ancestors = parent). Same bodyFormat as addComment.
Input schema
{
  "type": "object",
  "properties": {
    "contentId": {
      "type": "string",
      "description": "Page ID (container of the thread)"
    },
    "parentCommentId": {
      "type": "string",
      "description": "Parent footer comment ID"
    },
    "body": {
      "type": "string",
      "description": "Reply text (plain or storage per bodyFormat)"
    },
    "bodyFormat": {
      "type": "string",
      "enum": [
        "plain",
        "storage"
      ],
      "description": "plain (default) or storage XML"
    }
  },
  "required": [
    "contentId",
    "parentCommentId",
    "body"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_replyToInlineCommentReply in an existing inline comment thread (open or resolved). Does not create a new text selection / anchor. bodyFormat plain|storage like footer comments.
Input schema
{
  "type": "object",
  "properties": {
    "contentId": {
      "type": "string",
      "description": "Page ID (optional if resolvable from parent comment container)"
    },
    "parentCommentId": {
      "type": "string",
      "description": "Parent inline comment ID"
    },
    "body": {
      "type": "string",
      "description": "Reply text"
    },
    "bodyFormat": {
      "type": "string",
      "enum": [
        "plain",
        "storage"
      ],
      "description": "plain (default) or storage XML"
    }
  },
  "required": [
    "parentCommentId",
    "body"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_resolveTinyUrlResolve a Confluence tiny link (/x/{code} or bare code) to page id, title, space, version. Decodes locally then GET /content/{id} — does not follow tinyurl.action. Use before getContent / getStorageToFile when the user pasted a short URL.
Input schema
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "minLength": 1,
      "description": "Full tiny URL (https://…/x/nf16Dw), path (/x/nf16Dw), bare code (nf16Dw), or tinyurl.action?urlIdentifier=…"
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_setChildPageOrderSet exact order of all direct children under a parent. childIds must be a full permutation of current children. Uses sequential movepage above/below (DC has no bulk REST). Prefer listChildPages first; ask human before large reorder.
Input schema
{
  "type": "object",
  "properties": {
    "parentId": {
      "type": "string",
      "description": "Parent page whose children to reorder"
    },
    "childIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "description": "Desired child page IDs from first to last (full set)"
    }
  },
  "required": [
    "parentId",
    "childIds"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_setLabelsReplace global labels on a page (add missing, remove extras). Leaves personal (my) labels untouched.
Input schema
{
  "type": "object",
  "properties": {
    "contentId": {
      "type": "string",
      "description": "Page ID"
    },
    "labels": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Desired global label names (empty array clears global labels)"
    }
  },
  "required": [
    "contentId",
    "labels"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_setSpaceTemplateLabelsSet labels on a space template (PUT, body unchanged). Create from template copies these onto the new page. Pass [] to clear.
Input schema
{
  "type": "object",
  "properties": {
    "spaceKey": {
      "type": "string",
      "description": "Space key, e.g. MYSPACE"
    },
    "templateId": {
      "type": "string",
      "description": "Space template ID"
    },
    "name": {
      "type": "string",
      "description": "Template name or substring if id unknown"
    },
    "labels": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Desired label names (empty array clears template labels)"
    }
  },
  "required": [
    "spaceKey",
    "labels"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_storage_getSectionRead one section from a local storage XML file (heading until next same-or-higher heading). Default format=text. Does not return the whole page. Ambiguous heading → error + candidates. format=text/markdown inlines expand macro bodies (e.g. KTalk transcripts).
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Absolute path to dumped storage XML"
    },
    "heading": {
      "type": "string",
      "description": "Exact heading text from listHeadings (whitespace-normalized)"
    },
    "headingIndex": {
      "type": "integer",
      "minimum": 0,
      "description": "Index from listHeadings when heading text is ambiguous"
    },
    "includeHeading": {
      "type": "boolean",
      "description": "Include the heading node (default true)"
    },
    "format": {
      "type": "string",
      "enum": [
        "text",
        "markdown",
        "storage"
      ],
      "description": "text (default), markdown (lossy), or storage fragment"
    },
    "maxChars": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Optional cap on returned body. Omit to return the full section."
    }
  },
  "required": [
    "filePath"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_storage_listHeadingsList h1–h6 headings in a local Confluence storage XML file (order, level, visible text). Does not return section bodies or full XML. Run after getStorageToFile.
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Absolute path to dumped storage XML"
    }
  },
  "required": [
    "filePath"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_storage_listMacrosInventory ac:structured-macro / ac:macro in a local storage XML file. Returns names, ids, params, parentHeading, bodyKind — not macro bodies.
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Absolute path to dumped storage XML"
    },
    "name": {
      "type": "string",
      "description": "Filter by macro name, e.g. mermaid-macro"
    }
  },
  "required": [
    "filePath"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_storage_replaceMacroBodyReplace the body of one macro in a local storage XML file. Wrapper and parameters unchanged. Selector: exactly one of macroId, name+parentHeading, or name+index. plain body goes in CDATA (no HTML-escape of -->). Does not publish.
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Absolute path to dumped storage XML"
    },
    "macroId": {
      "type": "string",
      "description": "ac:macro-id"
    },
    "name": {
      "type": "string",
      "description": "Macro name, e.g. mermaid-macro"
    },
    "parentHeading": {
      "type": [
        "string",
        "null"
      ],
      "description": "Nearest preceding heading text (with name)"
    },
    "index": {
      "type": "integer",
      "minimum": 0,
      "description": "Index from listMacros (with name)"
    },
    "body": {
      "type": "string",
      "description": "New macro body"
    },
    "bodyKind": {
      "type": "string",
      "enum": [
        "plain",
        "rich"
      ],
      "description": "plain (default, CDATA) or rich (inner storage)"
    },
    "dryRun": {
      "type": "boolean",
      "description": "Compute without writing the file"
    }
  },
  "required": [
    "filePath",
    "body"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_storage_replaceSectionReplace the body of one section in a local storage XML file (heading kept). Does not publish. Markdown default; storage fragment allowed. Does not convert mermaid/layout/Jira. Ambiguous heading → error, file unchanged.
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Absolute path to dumped storage XML"
    },
    "heading": {
      "type": "string",
      "description": "Exact heading text from listHeadings"
    },
    "headingIndex": {
      "type": "integer",
      "minimum": 0,
      "description": "Index from listHeadings when heading is ambiguous"
    },
    "body": {
      "type": "string",
      "description": "New section body only (not the whole page)"
    },
    "bodyFormat": {
      "type": "string",
      "enum": [
        "markdown",
        "storage"
      ],
      "description": "markdown (default) or storage XML fragment"
    },
    "dryRun": {
      "type": "boolean",
      "description": "Compute diff without writing the file"
    },
    "replaceHeading": {
      "type": "boolean",
      "description": "Also replace the heading text (default false)"
    },
    "newHeading": {
      "type": "string",
      "description": "New heading text when replaceHeading is true"
    }
  },
  "required": [
    "filePath",
    "body"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_syncPageToSpaceTemplateFast path: copy page body.storage (and by default global labels) into a space template. Create from template then stamps those labels on the new page.
Input schema
{
  "type": "object",
  "properties": {
    "contentId": {
      "type": "string",
      "description": "Source page ID"
    },
    "spaceKey": {
      "type": "string",
      "description": "Target space key"
    },
    "templateId": {
      "type": "string",
      "description": "Target space template ID"
    },
    "name": {
      "type": "string",
      "description": "Target template name if id unknown"
    },
    "description": {
      "type": "string",
      "description": "Replace template description entirely"
    },
    "descriptionSuffix": {
      "type": "string",
      "description": "Append/replace trailing sync note in template description"
    },
    "copyPageLabels": {
      "type": "boolean",
      "description": "Copy global labels from the source page onto the template (default true). If the page has none, keep current template labels."
    },
    "labels": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Explicit template labels (wins over copyPageLabels)"
    }
  },
  "required": [
    "contentId",
    "spaceKey"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_updateSpaceTemplateFromFileUpdate a space page template body from a local storage XML file via PUT /rest/experimental/template. Preserves labels by default. Source page remains SoT — this publishes a snapshot for Create from template. To rename: pass templateId + new `name` (id alone is used for lookup).
Input schema
{
  "type": "object",
  "properties": {
    "spaceKey": {
      "type": "string",
      "description": "Space key, e.g. MYSPACE"
    },
    "templateId": {
      "type": "string",
      "description": "Space template ID"
    },
    "name": {
      "type": "string",
      "description": "Template name (used to find and/or rename)"
    },
    "filePath": {
      "type": "string",
      "description": "Absolute path to storage XML"
    },
    "description": {
      "type": "string",
      "description": "New description; default keep current"
    },
    "keepLabels": {
      "type": "boolean",
      "description": "Keep existing labels (default true)"
    },
    "labels": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Replace template labels with these names (wins over keepLabels / copy)"
    },
    "copyLabelsFromContentId": {
      "type": "string",
      "description": "Copy global labels from this page onto the template"
    }
  },
  "required": [
    "spaceKey",
    "filePath"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_updateStorageFromFilePublish page body from a local storage XML file via the Confluence proxy (same auth as confluence-dc). Auto-increments version unless you pass version (= current+1). Pass content as-is — do not re-escape entities. Optional parentId to reparent in the same PUT.
Input schema
{
  "type": "object",
  "properties": {
    "contentId": {
      "type": "string",
      "description": "Confluence page ID"
    },
    "filePath": {
      "type": "string",
      "description": "Absolute path to storage XML file"
    },
    "version": {
      "type": "number",
      "description": "New version number; must be current+1. Omit to auto-bump."
    },
    "title": {
      "type": "string",
      "description": "New title (default: keep current)"
    },
    "versionComment": {
      "type": "string",
      "description": "Confluence version comment"
    },
    "parentId": {
      "type": "string",
      "description": "Optional new parent page ID (reparent + body update)"
    }
  },
  "required": [
    "contentId",
    "filePath"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
confluence_uploadAttachmentFromFileUpload (or add a new version of) a local file as a page attachment via multipart POST /rest/api/content/{id}/child/attachment. Sets X-Atlassian-Token: no-check.
Input schema
{
  "type": "object",
  "properties": {
    "contentId": {
      "type": "string",
      "description": "Parent page ID"
    },
    "filePath": {
      "type": "string",
      "description": "Absolute path to the local file to upload"
    },
    "filename": {
      "type": "string",
      "description": "Override attachment title (default: basename of filePath)"
    },
    "comment": {
      "type": "string",
      "description": "Attachment comment"
    },
    "minorEdit": {
      "type": "boolean",
      "description": "minorEdit flag (default true)"
    }
  },
  "required": [
    "contentId",
    "filePath"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —

Resources 0

Resource templates 0

Prompts 0

Let’s talk about MCP security.

Share your details and our security team will contact you.