Skip to main content
Glama

WebZum - The Hosting Layer for AI-Generated Web Content

generate_geo_page

Destructive

Generate a local SEO-optimized landing page for lead generation. Creates a complete website optimized for a specific city/service combination.

Requires authentication via API key (Bearer token). Generate an API key at webzum.com/dashboard/account-settings.

This is an ADVANCED tool for creating geo-targeted landing pages with:

  • Local SEO optimization for city + niche

  • Lead capture forms with webhook integration

  • Call tracking support (CallRail, WhatConverts, etc.)

  • Analytics integration (GA4, GTM)

Use this when you have pre-researched business data and want to create location-specific landing pages for lead generation campaigns.

The site generation happens in the background. Use get_site_status to check progress.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityYesTarget city (e.g., "Austin")
lineNoLINE Official Account friend-add / chat URL (lin.ee/…, line.me/…) or @id. Primary messaging CTA in Japan, Taiwan, and Thailand.
emailNoBusiness email for contact form (at least one of phone, WhatsApp, or email is required)
nicheYesBusiness niche (e.g., "plumber", "roofer", "personal injury lawyer")
phoneNoBusiness phone number (at least one of phone, WhatsApp, or email is required)
stateYesState name or abbreviation (e.g., "TX" or "Texas")
servicesNoList of services offered
whatsappNoWhatsApp-reachable number (may equal phone). Counts as a contact method; rendered as a wa.me CTA. Keep the country code when given.
brandNameYesBusiness brand name (e.g., "Austin Pro Plumbing")
skipImagesNoSkip image generation for faster builds
webhookUrlNoWebhook URL to POST leads to (for CRM integration)
callTrackingNoCall tracking configuration
hiddenFieldsNoHidden form fields for tracking (e.g., utm_source, campaign_id)
primaryColorNoBrand primary color (hex)
serviceAreasNoList of service areas/neighborhoods
testimonialsNoPre-written testimonials
aiPromptPrefixYesAI guidance for content generation style and tone
primaryContactNoOwner's preferred primary contact channel for the main CTA. Omit to let the system infer from region (LINE in Japan/Taiwan/Thailand, WhatsApp in WhatsApp-first markets).
targetAudienceNoTarget audience description
webhookHeadersNoCustom headers for webhook requests (e.g., auth tokens)
googleAnalyticsIdNoGA4 measurement ID (e.g., "G-XXXXXXXXXX")
sampleWebsiteUrlsNoURLs of websites to emulate style/structure
googleTagManagerIdNoGTM container ID (e.g., "GTM-XXXXXXX")
uniqueSellingPointsNoKey differentiators

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed3 schema fields changed
    • addedInput schema / properties / line
      Added value: +{
      +  "description": "LINE Official Account friend-add / chat URL (lin.ee/…, line.me/…) or @id. Primary messaging CTA in Japan, Taiwan, and Thailand.",
      +  "type": "string"
      +}
    • changedInput schema / properties / primaryContact / description
      Previous value: -"Owner's preferred primary contact channel for the main CTA. Omit to let the system infer from region."New value: +"Owner's preferred primary contact channel for the main CTA. Omit to let the system infer from region (LINE in Japan/Taiwan/Thailand, WhatsApp in WhatsApp-first markets)."
    • changedInput schema / properties / primaryContact / enum
      Previous value: -[
      -  "whatsapp",
      -  "phone",
      -  "email"
      -]New value: +[
      +  "whatsapp",
      +  "line",
      +  "phone",
      +  "email"
      +]
  2. Changed4 schema fields changed
    • changedInput schema / properties / email / description
      Previous value: -"Business email for contact form (at least one of phone or email is required)"New value: +"Business email for contact form (at least one of phone, WhatsApp, or email is required)"
    • changedInput schema / properties / phone / description
      Previous value: -"Business phone number (at least one of phone or email is required)"New value: +"Business phone number (at least one of phone, WhatsApp, or email is required)"
    • addedInput schema / properties / primaryContact
      Added value: +{
      +  "description": "Owner's preferred primary contact channel for the main CTA. Omit to let the system infer from region.",
      +  "enum": [
      +    "whatsapp",
      +    "phone",
      +    "email"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / whatsapp
      Added value: +{
      +  "description": "WhatsApp-reachable number (may equal phone). Counts as a contact method; rendered as a wa.me CTA. Keep the country code when given.",
      +  "type": "string"
      +}
  3. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already indicate destructiveHint=true and readOnlyHint=false, so the agent knows it is a mutating operation. The description adds valuable context: requires API key authentication, generation happens in the background, and get_site_status should be used to check progress. It does not elaborate on the destructive nature (e.g., overwriting existing sites), but the annotations cover the safety warning.

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 well-structured with a clear opening sentence, a list of key features, usage context, and a background-processing note. Some minor fluff ('This is an ADVANCED tool') but overall efficient for a tool with 24 parameters and complex behavior.

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 the complexity (24 params, nested objects, no output schema), the description covers the main workflow, authentication, background generation, and how to check status. It does not explicitly state what the immediate API response contains (e.g., a job ID), but the reference to get_site_status implies it. This is a minor gap in an otherwise complete contextual picture.

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 coverage is 100%, so the baseline is 3. The description does not add syntax or format details beyond the schema, but it does reference feature areas like call tracking and analytics, which map to related parameters. This provides minimal added meaning beyond the schema descriptions.

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 tool generates a local SEO-optimized landing page for lead generation, specifying it creates a complete website for a city/service combination. This distinguishes it from generic site creation tools (e.g., create_site) by emphasizing geo-targeting and advanced features.

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?

Provides explicit guidance: 'Use this when you have pre-researched business data and want to create location-specific landing pages for lead generation campaigns.' Also directs the agent to use get_site_status for progress. Does not mention alternatives or when-not-to-use, but the context is clear enough.

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.

TDQS

A4/5.0
Disambiguation4/5

Most tools have clear, distinct purposes: cloning, creating, hosting, editing, and regenerating different site parts. The main ambiguity is between create_lead_gen_site and generate_geo_page, which both create lead-gen pages but differ in targeting and workflow; however, their descriptions clarify the use cases sufficiently.

Naming Consistency4/5

Tool names follow a consistent lowercase verb_noun pattern (e.g., clone_site, host_file, update_site_html). Minor inconsistencies exist: create vs. generate for similar actions (create_site vs. generate_geo_page) and get vs. list for retrieval (get_hosted_files vs. list_user_sites), but these are predictable and readable.

Tool Count3/5

With 17 tools, the count is slightly heavy for a hosting service, but the variety of operations (creation, cloning, file hosting, editing, regeneration, status, search) justifies most of them. A few tools (e.g., four regenerate_* tools) could potentially be consolidated, but the scope still feels reasonable.

Completeness4/5

The toolset covers the full lifecycle: create, clone, host, list, edit, update, and regenerate site components. Notable gaps include no delete operation for sites or files and no explicit version rollback, but agents can work around these by using host_file to overwrite and relying on site status for progress.

Resources