Skip to main content
Glama

Compose a page

compose_page
Read-only

Plan a page from blocks for an intent such as 'SaaS landing page with pricing and FAQ' or 'login screen'. Returns one block per section in page order, the install command, a page.tsx scaffold that renders them, and whole templates that already fit. Free blocks only unless includePro is true.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "intent": "<intent>"
    },
    "name": "compose_page"
  }
}

Input Schema

NameRequiredDescriptionDefault
intentYesWhat the page is for.
includeProNoAlso pick Pro blocks and templates (they need a licence key).
packageManagerNonpm

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and openWorldHint=false, so the safety profile is covered; the description adds the meaningful constraint that results are free blocks only unless includePro is true. It also spells out the shape of the response (ordered sections, scaffold, whole templates), which is beyond what annotations convey. It does not mention what happens when no block matches the intent or what a Pro licence failure looks like.

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?

One tight paragraph, front-loaded with the purpose and examples before the return inventory and the Pro constraint. Every sentence carries information, though the trailing includePro clause slightly repeats the schema's own parameter description and the return list is packed densely into one sentence.

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?

There is no output schema, so the description must carry the return contract, and it does: ordered blocks, install command, scaffold, and matching whole templates. For a three-parameter read-only planning tool this is nearly sufficient, with only edge-case behavior (no matches, Pro licensing failure) unspecified.

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?

With schema coverage at 67%, the schema documents intent and includePro but leaves packageManager bare; the description reinforces includePro's effect ('free blocks only unless includePro is true') and the sample intents implicitly show the expected granularity for the required intent string. The link between packageManager and the returned install command is left unstated, keeping it just below full marks.

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 ('Plan a page from blocks') and grounds it with two concrete intent examples ('SaaS landing page with pricing and FAQ', 'login screen'). It also enumerates what comes back (block per section, install command, page.tsx scaffold, templates), which separates it from siblings like search_items or get_install_command that return only a fragment of that payload.

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 intent examples make the triggering scenario clear: use this when you have a page-level goal rather than a specific item query. However, no alternatives are named and no exclusions are set, so an agent must infer on its own why this beats search_items plus get_install_command for the same task.

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.