Skip to main content
Glama

Create Page

confluence_create_page
Destructive

Create a Confluence page in a specified space with a given title and content. Supports Markdown, wiki, storage, and XHTML formats, with optional parent page and layout settings.

Instructions

Create a new Confluence page.

Args: ctx: The FastMCP context. space_key: The key of the space. title: The title of the page. content: The content of the page (format depends on content_format). Mutually exclusive with content_file; exactly one must be supplied. content_file: Filesystem path to read the page body from (UTF-8). Useful for bodies too large to pass as an inline tool argument. parent_id: Optional parent page ID. content_format: The format of the content ('markdown', 'wiki', 'storage', or 'xhtml'). enable_heading_anchors: Whether to enable heading anchors (markdown only). include_content: Whether to include page content in the response. emoji: Optional page title emoji (icon shown in navigation). page_width: Optional page layout width ('full-width' or 'default'). table_layout: Optional table width preset ('full-width', 'wide', 'default').

Returns: JSON string representing the created page object.

Raises: ValueError: If in read-only mode, Confluence client is unavailable, or invalid content_format.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
emojiNo(Optional) Page title emoji (icon shown in navigation). Can be any emoji character like '📝', '🚀', '📚'. Set to null/None to remove.
titleYesThe title of the page
contentNoThe content of the page. Format depends on content_format parameter. Can be Markdown (default), wiki markup, storage format, or XHTML storage format. Either 'content' or 'content_file' must be provided, but not both.
parent_idNo(Optional) parent page ID. If provided, this page will be created as a child of the specified page
space_keyYesThe key of the space to create the page in (usually a short uppercase code like 'DEV', 'TEAM', or 'DOC')
page_widthNo(Optional) Page layout width. Options: 'full-width', 'default'. Defaults to null (Confluence default).
content_fileNo(Optional) Absolute or relative filesystem path to read the page body from (UTF-8). Use this instead of 'content' when the body is too large to pass comfortably as a tool argument. Mutually exclusive with 'content'.
table_layoutNo(Optional) Table width preset applied to all markdown tables. Options: 'full-width' (1800 px), 'wide' (960 px), 'default' (760 px). Only applies when content_format is 'markdown'.
content_formatNo(Optional) The format of the content parameter. Options: 'markdown' (default), 'wiki', 'storage', or 'xhtml'. Use 'xhtml' when providing Confluence XHTML storage format (same as 'storage'). Wiki format uses Confluence wiki markup syntaxmarkdown
include_contentNo(Optional) Whether to include page content in the response. Defaults to false since callers already have the content at create time
enable_heading_anchorsNo(Optional) Whether to enable automatic heading anchor generation. Only applies when content_format is 'markdown'

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations mark the tool as destructive (destructiveHint: true), and the description adds context about failure modes (ValueError for read-only, client unavailable, invalid format). It also describes mutual exclusivity and parameter dependencies. However, it does not specify behavior if a page with the same title exists (overwrite or fail), which would be additional transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately structured with Args, Returns, and Raises sections. It is somewhat lengthy due to parameter details, but every sentence serves a purpose. Some redundancy with schema descriptions exists, but overall efficient given tool complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers all essential aspects: purpose, parameters (with mutual exclusivity and defaults), return type (JSON string of created page), and error conditions. An output schema exists, so return value documentation is sufficient. For a creation tool with 11 parameters, completeness is high.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are well-documented. The description adds value by explaining the rationale for content_file (large bodies), confirming mutual exclusivity of content and content_file, and clarifying that content_format includes 'xhtml' as alias. It also notes defaults and constraints like heading anchors only for markdown.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create a new Confluence page' as the purpose, with a specific verb and resource. It distinguishes itself from sibling tools like confluence_update_page, confluence_copy_page, and confluence_delete_page by its creation focus. Parameter details further clarify the scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides good context, including mutual exclusivity of content and content_file, optional parent_id, and error cases (read-only mode, invalid format). However, it lacks explicit guidance on when to use this tool versus alternatives (e.g., update vs create) and does not mention prerequisites like space existence.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/GeiserX/atlassian-browser-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server