Skip to main content
Glama

layouts_pull

Idempotent

Pulls all layouts and components from Voog CMS, including CSS/JS assets, into local folders with a manifest. Skips binary files; refuses to overwrite existing .tpl layouts.

Instructions

Fetch every layout + component from /layouts, plus the editable layout_assets (CSS/JS), and write them under target_dir: .tpl files to layouts/ and components/, assets to stylesheets/ javascripts/ assets/. Binary assets are skipped (no text to round-trip — use layout_asset_upload for those). Builds manifest.json mapping each local path to {id, type, updated_at}. REFUSES to overwrite an existing tree that already contains .tpl files — pick a fresh location or clear it first. Empty/non-tpl content in target_dir is fine (e.g. README.md, .gitignore are preserved).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
siteYesSite name from voog_list_sites
target_dirYesAbsolute path where layouts/, components/, manifest.json are written
Behavior1/5

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

The description directly contradicts the idempotentHint annotation. It states 'REFUSES to overwrite an existing tree that already contains .tpl files', meaning repeated calls on the same target directory will fail, which is not idempotent behavior. Per the rubric, any contradiction of annotations warrants a score of 1. The description does disclose useful behaviors (skip binaries, manifest, preservation of non-tpl files) but the contradiction is a severe issue.

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 a single dense paragraph, but each sentence carries meaningful information: what is fetched, where it is written, what is skipped, manifest generation, and refusal behavior. It is front-loaded with the core action. Slightly long but appropriate for the tool's complexity.

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

Completeness4/5

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

Given no output schema, the description explains the tool's side effects (writing files, manifest) and edge cases (binary skip, refusal, preservation). It does not explicitly mention what the function returns, but the extensive behavioral details cover the essential context for selection and invocation. Sibling differentiation is adequate via the explicit reference to layout_asset_upload.

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%, so baseline is 3. The description echoes the schema's parameter meanings (site from voog_list_sites, target_dir absolute path) and adds a bit of context about what gets written there, but does not provide any additional parameter-level constraints or examples beyond the schema. No compelling need for more given full coverage.

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 the verb ('Fetch every layout + component') and the resource (/layouts, layout_assets), and explicitly notes the output destination (target_dir). It also distinguishes from siblings by mentioning layout_asset_upload for binary assets, which differentiates its 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 tells when to use this tool (to pull text-based layouts/components/assets to local disk) and explicitly excludes a specific alternative ('Binary assets are skipped... use layout_asset_upload for those'). It also provides a clear caveat about existing .tpl files, guiding use in fresh or clear directories. It does not enumerate other alternatives but the context is sufficient.

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/runnel/voog-mcp'

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