MCP Confluence Descendants Tool Should Exclude Draft Pages and Expose Status Metadata

XMLWordPrintable

      Summary

      The Confluence MCP server's descendants/children tool returns draft pages in the response without any status indicator. MCP consumers cannot filter drafts before retrieval, and subsequent content read calls fail (404/403) on draft page IDs. This breaks automated workflows with no client-side workaround.

      Customer Context

      • Customer accesses Confluence exclusively via the official Atlassian MCP integration — no direct REST API interaction
      • They have no control over which API endpoints MCP calls internally
      • CQL-based workarounds (contentStatuses) are not applicable at the MCP layer

      Current Behaviour

      1. MCP getConfluencePageDescendants returns all descendant pages including drafts
      1. Draft pages have no status field in the response — indistinguishable from published pages
      1. MCP content retrieval tool fails (404/403) when called on draft page IDs
      1. No status filter parameter is exposed in the MCP tool — consumers cannot pre-filter

      Expected Behaviour

      1. MCP descendants tool should return only status=current pages by default — excluding drafts, archived, and trashed pages
      1. Each page object in the response should include a status field (e.g., current, draft, archived)
      1. MCP tool should expose an optional status filter parameter so consumers can opt in/out of non-current content
      1. Content retrieval on a draft page should return a clear, descriptive error (e.g., "status": "draft", "message": "Draft content is not accessible") instead of a generic 404/403

              Assignee:
              Unassigned
              Reporter:
              Vinod Reddy - [Atlassian Support]
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: