-
Type:
Suggestion
-
Resolution: Unresolved
-
Component/s: API - Model Context Protocol
-
None
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
- MCP getConfluencePageDescendants returns all descendant pages including drafts
- Draft pages have no status field in the response — indistinguishable from published pages
- MCP content retrieval tool fails (404/403) when called on draft page IDs
- No status filter parameter is exposed in the MCP tool — consumers cannot pre-filter
Expected Behaviour
- MCP descendants tool should return only status=current pages by default — excluding drafts, archived, and trashed pages
- Each page object in the response should include a status field (e.g., current, draft, archived)
- MCP tool should expose an optional status filter parameter so consumers can opt in/out of non-current content
- 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