Skip to main content
Glama

Create wiki page

create_wiki_page

Create a wiki page from Markdown in a space you can write to. Hangs off the space home page unless you name a parent (by 'parentId', or by 'parentTitle' within the same space). Returns the new page id and its URL. Mention someone as @Their Name — on a wiki page that is the form that notifies, not the [~username] used in issues; link another page as text or text. A ```anim block (a scene as JSON the reader's browser plays — product_help topic 'anim') is read at once: the answer's 'anims' says, per block, whether it plays or every problem with where it stands. Answers with 'notified' (who this actually reaches) and 'unresolvedMentions' (what looked like a mention and reached nobody, each with a reason) — a wrong handle is stored as written and never refused, so that list is the only sign it did not land.

Input Schema

NameRequiredDescriptionDefault
titleYesPage title. Must be unique within the space — the title is how pages are addressed here.
labelsNoLabels to set, space or comma separated. Stored in lower case, except a label starting with '$', which is kept exactly as written. The label 'template' offers the page as a template: people then make pages from it.
markdownNoPage body as Markdown, which also carries $…$ / $$…$$ LaTeX formulas and the wiki's macros on a line of their own — {toc}, {children}, {info} … {info}, {expand:title=…} … {expand}. A theorem, lemma, proposition, corollary, conjecture or question is a block of its own — ::: theorem {#thm:label status=computer number=5.8 title="…"} on its line, the statement, then ::: — read into the project's register of claims at the save (list_claims); 'claims' in the answer says which.
parentIdNoParent page id. Omit to hang the page off the space home page.
spaceKeyYesSpace key, e.g. 'PM'. Every project has exactly one space, keyed like the project.
templateIdNoMake the page from a template: the id of a page of the same space that carries the label 'template' (search_wiki finds them by that label). The new page starts as the template's text and its other labels; 'markdown', when you send it too, wins.
parentTitleNoParent page title, as an alternative to 'parentId'. Must be a page in the same space.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / markdown / description
      Previous value: -"Page body as Markdown, which also carries $…$ / $$…$$ LaTeX formulas and the wiki's macros on a line of their own — {toc}, {children}, {info} … {info}, {expand:title=…} … {expand}."New value: +"Page body as Markdown, which also carries $…$ / $$…$$ LaTeX formulas and the wiki's macros on a line of their own — {toc}, {children}, {info} … {info}, {expand:title=…} … {expand}. A theorem, lemma, proposition, corollary, conjecture or question is a block of its own — ::: theorem {#thm:label status=computer number=5.8 title=\"…\"} on its line, the statement, then ::: — read into the project's register of claims at the save (list_claims); 'claims' in the answer says which."
  2. Changed1 schema field changed
    • changedInput schema / properties / labels / description
      Previous value: -"Labels to set, space or comma separated. The label 'template' offers the page as a template: people then make pages from it."New value: +"Labels to set, space or comma separated. Stored in lower case, except a label starting with '$', which is kept exactly as written. The label 'template' offers the page as a template: people then make pages from it."
  3. Changed2 schema fields changed
    • changedInput schema / properties / labels / description
      Previous value: -"Labels to set, space or comma separated."New value: +"Labels to set, space or comma separated. The label 'template' offers the page as a template: people then make pages from it."
    • addedInput schema / properties / templateId
      Added value: +{
      +  "default": null,
      +  "description": "Make the page from a template: the id of a page of the same space that carries the label 'template' (search_wiki finds them by that label). The new page starts as the template's text and its other labels; 'markdown', when you send it too, wins.",
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
  4. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Goes far beyond the annotations (readOnlyHint=false, destructiveHint=false): it discloses the return payload (new page id and URL) and, crucially, that a wrong mention handle is stored as written and never refused, so 'unresolvedMentions' is the only signal of failure. It also flags that the anim block answer reports per-block playback problems — non-obvious side-effect behavior an agent would otherwise miss.

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?

Front-loads the action and the default parent in the first two sentences before the denser Markdown/mention/anim detail. The single-paragraph block is information-dense and every clause carries operational consequence, though it is longer than needed for a create tool.

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?

With no output schema, the description still tells the agent what comes back ('page id and URL', 'anims', 'notified', 'unresolvedMentions', 'claims'), which is exactly the completeness burden this tool carries. Combined with a 7-parameter schema already at full coverage, nothing essential to correct invocation is missing.

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 the baseline is 3, but the description adds meaning the schema doesn't carry: the [@Name](user:username) mention form specific to wiki pages (vs [~username] in issues), the [text](page:Title) cross-link syntax, and the ```anim block contract resolved against product_help topic 'anim'. It complements rather than duplicates the schema.

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?

States a specific verb and resource ('Create a wiki page from Markdown') plus a scope constraint ('in a space you can write to') and the default placement ('Hangs off the space home page unless you name a parent'). The verb 'create' clearly separates it from update_wiki_page/delete_wiki_page and the Markdown body separates it from create_wiki_embed.

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?

Gives concrete routing rules for the placement decision: omit parent to hang off the space home page, or name one via parentId or parentTitle within the same space. It also explains the template-vs-markdown precedence. It stops short of explicit 'use update_wiki_page instead when the page exists' guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources