confluence_create
Creates a new Confluence page from explicit fields or a JFM document with frontmatter. Supports dry-run validation and file paths for efficient round-trips.
Instructions
Create a NEW Confluence page (use confluence_write to overwrite an existing page identified by its ID). Builds from explicit fields or from a full JFM document (frontmatter + body, e.g. the output of confluence_read). With a document, space_key/title/parent_id come from the frontmatter and the body becomes the page body — enabling the read → edit → create round-trip. Explicit space_key/title/parent_id override frontmatter and a warning is returned when they do. JFM is GitHub-style markdown, NOT Confluence wiki markup — see resource omni-dev://specs/jfm. The document/content bodies each also accept a filesystem-path form (document_path/content_path) the server reads from disk — prefer it when the body is already on disk, to avoid emitting a large body inline. Set dry_run: true first when uncertain about required fields or formatting — validates the input and returns the request that would be sent (method, path, body) without creating the page. Returns the new page's ID. Mirrors omni-dev atlassian confluence create (and its --dry-run).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Page title. Required unless `document` carries one. Overrides frontmatter. | |
| format | No | Format of `content`: `"jfm"` (default markdown) or `"adf"` (raw ADF JSON). Ignored for the `document` path (a document is always JFM). | |
| content | No | Page body. Parsed according to `format`. Required unless `document` is provided (and rejected when it is — the document body is the page body). For `format = "jfm"` (the default), this is GitHub-style markdown, NOT Confluence wiki markup. Use `##` not `h2.`, triple-backtick fences not `{code}`, backtick inline code not `{{...}}`. Full reference: MCP resource `omni-dev://specs/jfm`. | |
| dry_run | No | When true, validate and return the would-be request (method, path, body) without creating the page. Defaults to `false`. | |
| document | No | Full JFM document (YAML frontmatter + markdown body), e.g. the output of `confluence_read` with the frontmatter edited. When provided, `space_key`, `title` and `parent_id` are taken from the frontmatter and the body becomes the page body — so the read → edit → create round-trip works. The `space_key`/`title`/`parent_id` parameters below still override their frontmatter counterparts (a warning is returned when they do); passing `content` together with `document` is an error. See resource `omni-dev://specs/jfm`. | |
| parent_id | No | Optional parent page ID for nesting under an existing page. Overrides frontmatter `parent_id:`. | |
| space_key | No | Target Confluence space key (e.g., `"ENG"`). Required unless `document` carries a `space_key:`. Overrides frontmatter. | |
| content_path | No | Filesystem path the server reads the page body from, instead of `content`. Prefer this when the body is already on disk — it avoids re-emitting the whole body inline. Mutually exclusive with `content` (and, like `content`, rejected when `document`/`document_path` is given). | |
| document_path | No | Filesystem path the server reads the JFM `document` from, instead of `document`. Prefer this when the document is already on disk — it avoids re-emitting the whole document inline. Mutually exclusive with `document`. |