Skip to main content
Glama

Create page

create_page

Adds a markdown page to a tela space with an optional parent and draft/published status, enabling teams to write and organize wiki content.

Instructions

Create a page in a space (editor+). Body is markdown; tela://page/{id} links and [[Page Title]] wikilinks (resolved by title within the space) are indexed as backlinks. tela renders a rich block palette beyond plain markdown — to-do list, pull quote, callout, collapsible, tabs, kanban board, stat grid, timeline, calendar, poll, chart, embed, mermaid diagram, image, file attachment, code block, equation, inline math, table, highlight, wikilink, footnote. Prefer these over walls of text; read the tela://authoring-guide resource (or this server's instructions) for exact syntax. After writing, call lint_page — the reader silently drops raw HTML and unwraps unrecognized blocks, which you cannot see from the markdown. When asked for a presentation, slides, a slide deck, or a talk (any phrasing) — not a prose doc — set the page property deck=true (and optionally variant=) and write the body as slides separated by --- using the tahta layouts; call the deck_authoring_guide tool (or read the tela://deck-authoring-guide resource) for the layouts, fields, components, and variants. When asked for a spreadsheet, a table of data with formulas/totals, a budget, a tracker, or any grid that computes — not a prose doc — set the page property sheet=true and write the body as Defter markdown (compact GFM tables + an optional ```defter-style block); call the sheet_authoring_guide tool (or read the tela://sheet-authoring-guide resource) for the format, formulas, and styling.

Input Schema

NameRequiredDescriptionDefault
bodyYesmarkdown body
propsNooptional page properties (frontmatter); free-form keys, reserved keys like id/title/slug/created are ignored
titleYespage title
statusNooptional: 'draft' (work in progress: labelled in the app and kept off public spaces and share links) or 'published' (the default)
space_idYesid of the space to create the page in
parent_idNooptional parent page id
idempotency_keyNooptional client-generated key; a retry with the same key returns the original result instead of creating a duplicate page (safe retries after a dropped connection)

Output Schema

NameRequiredDescriptionDefault
lintNo
pageYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv0.11.0
    • addedInput schema / properties / status
      Added value: +{
      +  "description": "optional: 'draft' (work in progress: labelled in the app and kept off public spaces and share links) or 'published' (the default)",
      +  "type": "string"
      +}
    • addedOutput schema / properties / lint
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / page / properties / status
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / page / properties / version
      Added value: +{
      +  "type": "integer"
      +}
    • changedOutput schema / properties / page / required
      Previous value: -[
      -  "id",
      -  "space_id",
      -  "parent_id",
      -  "title",
      -  "position",
      -  "created_at",
      -  "updated_at",
      -  "url"
      -]New value: +[
      +  "id",
      +  "space_id",
      +  "parent_id",
      +  "title",
      +  "position",
      +  "created_at",
      +  "updated_at",
      +  "version",
      +  "status",
      +  "url"
      +]
  2. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations: 'editor+' permission requirement, backlink indexing from tela://page links and [[wikilinks]], and the critical caveat that the reader silently drops raw HTML and unwraps unrecognized blocks in ways invisible from the markdown. That silent-mutation disclosure is exactly the kind of context annotations (readOnly=false, destructive=false) cannot convey.

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?

Core purpose is front-loaded and every sentence carries information for a genuinely complex authoring tool, but the single dense paragraph mixes capability catalog, syntax pointers, validation caveats, and two long mode-specific instructions without any structural breaks, making it heavier to scan than necessary.

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?

For a 7-param tool with an output schema, the description covers what an agent needs: what a body may contain, which format modes exist, which guide resources/tools to consult for exact syntax, and the post-write lint step. Return-value explanation is rightly left to the output schema.

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 baseline is 3, but the description adds real meaning: the body is markdown with wikilink/backlink semantics and a large valid block palette, and the free-form `props` object gains concrete documented keys (deck, variant, sheet) that the schema does not enumerate.

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?

Opens with a specific verb+resource+scope: 'Create a page in a space (editor+)'. It further distinguishes the tool from siblings by naming the follow-up/related tools (lint_page, deck_authoring_guide, sheet_authoring_guide) and the two property-driven modes (deck=true, sheet=true) that change what the body must contain.

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 explicit conditional routing: decks when asked for presentations/slides/talks, sheets when asked for spreadsheets/budgets/trackers, and mandate to call lint_page after writing. It does not state when to prefer this over siblings like update_page/patch_page, but the creation context is implied by the name and required params.

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