Skip to main content
Glama

Generate LocalBusiness schema

generate_local_business_schema
Read-onlyIdempotent

Turn a local business's facts into schema.org JSON-LD. Chooses the most specific LocalBusiness subtype from business_type (for example "roofing company" becomes RoofingContractor) or takes schema_type as given, writes only properties schema.org defines for that type, formats hours, phone and 24 hour or closed days the way Google documents, then validates the output against the schema.org vocabulary. Returns the JSON-LD, a ready-to-paste script tag, the type chosen with alternatives, and cited notes on anything left out. No network access; nothing is published.

Input Schema

NameRequiredDescriptionDefault
urlNoThe business website or location page.
logoNoLogo image URL.
nameYesBusiness name as shown on the storefront, website and Google profile.
emailNo
hoursNoRegular opening hours. Days not listed read as closed.
imagesNo
same_asNoOfficial profile URLs that identify the business: Google Business Profile, Facebook, LinkedIn, Yelp, Wikidata.
foundersNo
latitudeNo
menu_urlNoFood businesses only.
servicesNoServices offered, written as Offer items.
longitudeNo
open_24_7NoTrue when the business is open 24 hours every day. Overrides hours.
telephoneNoPrimary customer phone number. North American numbers are written as +1-AAA-BBB-CCCC.
area_servedNoPlaces served: plain names, or objects with a type (City, State, AdministrativeArea, Country, Place) and an optional Wikidata or Wikipedia URL in same_as.
descriptionNo
postal_codeNo
price_rangeNoSuch as "$$" or "$100-$300". Under 100 characters.
schema_typeNoAn exact schema.org LocalBusiness subtype, or up to three, such as "Plumber". Overrides business_type.
business_typeNoPlain words for what the business is, such as "plumber", "dental office" or "coffee shop".
founding_dateNoYYYY-MM-DD.
address_regionNoState, province or region, such as "MT".
serves_cuisineNoFood businesses only.
street_addressNo
address_countryNoTwo-letter ISO country code, such as "US".
address_localityNoCity or town.
payment_acceptedNo
seasonal_closuresNoClosed periods, dates as YYYY-MM-DD.
currencies_acceptedNoISO 4217 codes such as USD.
hide_street_addressNoTrue for a service-area business that does not serve customers at its address.
accepts_reservationsNoFood businesses only.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, openWorld=false, idempotent and non-destructive, so the safety profile is covered. The description adds real value beyond that: it names the full return payload (JSON-LD, script tag, chosen type with alternatives, cited notes) and explicitly says 'No network access; nothing is published,' which reinforces the openWorld=false hint with concrete context.

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?

Four dense sentences, front-loaded with the core verb+resource and ending with the non-side-effect guarantee. Every clause earns its place, though the single run-on flow could be broken into shorter segments for faster scanning.

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?

No output schema exists, and the description correctly fills that gap by enumerating what is returned. For a 31-parameter, no-annotation-gaps generation tool it covers purpose, processing and side effects well; only the undocumented parameter subset and error/edge-case behavior remain unaddressed.

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 31 params at 71% schema coverage, the description adds meaning beyond the schema by explaining precedence (business_type is resolved to a specific subtype unless schema_type is given) and how hours, phone and 24-hour/closed days are normalized the way Google documents. It does not cover the remaining ~29% of undocumented parameters (e.g. hide_street_address, accepts_reservations), so it falls short of full compensation.

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 transformation (local business facts -> schema.org JSON-LD) with the exact subtype-selection and formatting behaviors it performs. An agent can tell this apart from the read-only audit/validate siblings because the description makes clear this generates and self-validates JSON-LD rather than checking existing markup.

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

Usage Guidelines3/5

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

The description implies usage through the business_type vs schema_type branch and the self-validation step, so the context is inferable. However, it never states when to reach for this tool versus validate_structured_data or check_entity_consistency, and offers no prerequisites or exclusions.

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