Skip to main content
Glama

xtiles_create_tiles_from_markdown_by_view

Destructive

Append tiles generated from Markdown into an existing xTiles view (page) by viewId alone. Preferred over xtiles_create_tiles_from_markdown_in_view — no projectId needed. Returns the affected view_id, tiles (each created tile's id and resource_url — a deep link that opens the page focused on that tile), and parent_resource_url (a link that opens the page the tiles were created on). New tiles arrive at one default size, in import order — arrange them next (xtiles_get_page_layout, then xtiles_set_page_layout for the ids returned here); how, and whether the page already passes, is in xtiles://guide/markdown/design.

Input Schema

NameRequiredDescriptionDefault
viewIdYesView ID of an xTiles page. You can also extract it from a page URL — it is the last path segment, whatever the domain, e.g. `https://xtiles.app/6740858058af8a09bf6096e6` → viewId is `6740858058af8a09bf6096e6`. Discover IDs programmatically via `xtiles_list_projects` or `xtiles_get_project_content`.
markdownYesMarkdown content to convert into tiles. Each top-level heading (`### Title`) typically becomes a separate tile; paragraphs, lists, and code blocks under a heading become its body. Tiles are appended to existing content (not replaced). They all go into one existing page: no `##` page headings — a second `##` is refused. Full syntax: read resource `xtiles://guide/markdown/overview` or call `xtiles_get_docs`. The target already exists, so continue its palette: read its tile colours (`xtiles_get_tile_styles`) before writing, and write the same colours inline (`@color` / `@colorSize`). Rules: `xtiles://guide/markdown/design`.

Output Schema

NameRequiredDescriptionDefault
tilesNo
view_idNo
tile_idsNo
parent_resource_urlNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / markdown / description
      Previous value: -"Markdown content to convert into tiles. Each top-level heading (`### Title`) typically becomes a separate tile; paragraphs, lists, and code blocks under a heading become its body. Tiles are appended to existing content (not replaced). Full syntax: read resource `xtiles://guide/markdown/overview` or call `xtiles_get_docs`. The target already exists, so continue its palette: read its tile colours (`xtiles_get_tile_styles`) before writing, and write the same colours inline (`@color` / `@colorSize`). Rules: `xtiles://guide/markdown/design`."New value: +"Markdown content to convert into tiles. Each top-level heading (`### Title`) typically becomes a separate tile; paragraphs, lists, and code blocks under a heading become its body. Tiles are appended to existing content (not replaced). They all go into one existing page: no `##` page headings — a second `##` is refused. Full syntax: read resource `xtiles://guide/markdown/overview` or call `xtiles_get_docs`. The target already exists, so continue its palette: read its tile colours (`xtiles_get_tile_styles`) before writing, and write the same colours inline (`@color` / `@colorSize`). Rules: `xtiles://guide/markdown/design`."
  2. Changed1 schema field changed
    • changedInput schema / properties / markdown / description
      Previous value: -"Markdown content to convert into tiles. Each top-level heading (`### Title`) typically becomes a separate tile; paragraphs, lists, and code blocks under a heading become its body. Tiles are appended to existing content (not replaced). Full syntax: read resource `xtiles://guide/markdown/overview` or call `xtiles_get_docs`."New value: +"Markdown content to convert into tiles. Each top-level heading (`### Title`) typically becomes a separate tile; paragraphs, lists, and code blocks under a heading become its body. Tiles are appended to existing content (not replaced). Full syntax: read resource `xtiles://guide/markdown/overview` or call `xtiles_get_docs`. The target already exists, so continue its palette: read its tile colours (`xtiles_get_tile_styles`) before writing, and write the same colours inline (`@color` / `@colorSize`). Rules: `xtiles://guide/markdown/design`."
  3. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds real behavioral context beyond them: tiles are appended rather than replaced, they arrive at one default size in import order, and a second `##` heading is refused. It does not address auth/permission requirements or any rate limits, so it is strong but not exhaustive.

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-loaded with purpose and the preferred-over routing, then return shape, then next steps — a sensible priority order with no filler sentences. It is dense with stacked em-dash parentheticals, which costs some readability but each clause carries distinct information.

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 this complexity the description covers what an agent needs: target identification, append-vs-replace behavior, refusal condition, follow-up layout tools, and pointers to the design/palette resources. An output schema exists, yet the description still usefully names the return fields (view_id, tiles, parent_resource_url), leaving no substantive gap.

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

Parameters3/5

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

Schema description coverage is 100%, and both parameters are richly documented there (URL-to-viewId extraction, heading-to-tile mapping, append semantics, the `##` refusal). The description largely restates that material, so the baseline 3 for schema-documented parameters is appropriate.

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+resource (append tiles generated from Markdown into an existing view/page) and immediately scopes it to the `viewId`-only path. It explicitly names the sibling it supersedes (`xtiles_create_tiles_from_markdown_in_view`) and why, so an agent can distinguish it from the near-identical creation tools without opening any schema.

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

Usage Guidelines5/5

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

Gives an explicit preference rule ('Preferred over ... — no `projectId` needed') plus the follow-up sequence (`xtiles_get_page_layout`, then `xtiles_set_page_layout` for the returned ids) and where the design rules live. When-to-use and what-to-do-next are both spelled out.

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