Skip to main content
Glama

Agentic Dealer Network

Get dealership details

stores
Read-onlyIdempotent

One named rooftop's store record: name, dealer group, OEM programs, location/contact metadata, and fee schedule. Pass rooftop_slug. Whether a specific unit's listed price already includes a fee varies per unit — quote_preview returns the estimated total. Fee schedules may be incomplete — an unlisted fee is not a guarantee that no such fee applies; confirm final charges with the dealer.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
rooftop_slugYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNo
errorNoUnknown and foreign thread ids are deliberately indistinguishable: both return invalid_params with message "unknown thread_id" (anti-enumeration).
freshnessNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "store": {
      +          "allOf": [
      +            {
      +              "description": "The public projection of one rooftop's store metadata. NULL holders are omitted, never fabricated.",
      +              "properties": {
      +                "address": {
      +                  "maxLength": 200,
      +                  "type": "string"
      +                },
      +                "city": {
      +                  "maxLength": 100,
      +                  "type": "string"
      +                },
      +                "country": {
      +                  "enum": [
      +                    "US",
      +                    "CA"
      +                  ],
      +                  "type": "string"
      +                },
      +                "dealer_group": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "name": {
      +                      "maxLength": 200,
      +                      "type": "string"
      +                    },
      +                    "slug": {
      +                      "maxLength": 80,
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "name",
      +                    "slug"
      +                  ],
      +                  "type": "object"
      +                },
      +                "hours": {
      +                  "type": "object"
      +                },
      +                "latitude": {
      +                  "maximum": 90,
      +                  "minimum": -90,
      +                  "type": "number"
      +                },
      +                "limitations": {
      +                  "items": {
      +                    "maxLength": 500,
      +                    "type": "string"
      +                  },
      +                  "maxItems": 1,
      +                  "type": "array"
      +                },
      +                "longitude": {
      +                  "maximum": 180,
      +                  "minimum": -180,
      +                  "type": "number"
      +                },
      +                "manifest_url": {
      +                  "maxLength": 300,
      +                  "type": "string"
      +                },
      +                "name": {
      +                  "maxLength": 200,
      +                  "type": "string"
      +                },
      +                "oem_programs": {
      +                  "items": {
      +                    "maxLength": 80,
      +                    "type": "string"
      +                  },
      +                  "maxItems": 20,
      +                  "type": "array"
      +                },
      +                "phone": {
      +                  "maxLength": 30,
      +                  "type": "string"
      +                },
      +                "slug": {
      +                  "maxLength": 80,
      +                  "type": "string"
      +                },
      +                "state": {
      +                  "maxLength": 50,
      +                  "type": "string"
      +                },
      +                "website_url": {
      +                  "maxLength": 300,
      +                  "type": "string"
      +                },
      +                "zip": {
      +                  "maxLength": 20,
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "slug",
      +                "country",
      +                "dealer_group",
      +                "oem_programs"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "properties": {
      +                "fee_schedule": {
      +                  "items": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "amount": {
      +                        "minimum": 0,
      +                        "type": "number"
      +                      },
      +                      "applies_to": {
      +                        "enum": [
      +                          "new",
      +                          "used",
      +                          "all"
      +                        ]
      +                      },
      +                      "category": {
      +                        "enum": [
      +                          "fee",
      +                          "tax",
      +                          "title_reg"
      +                        ]
      +                      },
      +                      "code": {
      +                        "maxLength": 60,
      +                        "type": "string"
      +                      },
      +                      "effective_from": {
      +                        "format": "date",
      +                        "type": "string"
      +                      },
      +                      "fee_type": {
      +                        "enum": [
      +                          "flat",
      +                          "percent"
      +                        ]
      +                      },
      +                      "jurisdiction": {
      +                        "maxLength": 60,
      +                        "type": [
      +                          "string",
      +                          "null"
      +                        ]
      +                      },
      +                      "label": {
      +                        "maxLength": 200,
      +                        "type": "string"
      +                      },
      +                      "taxable": {
      +                        "type": "boolean"
      +                      }
      +                    },
      +                    "required": [
      +                      "code",
      +                      "label",
      +                      "category",
      +                      "fee_type",
      +                      "amount"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "maxItems": 100,
      +                  "type": "array"
      +                }
      +              },
      +              "type": "object"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "store"
      +      ],
      +      "type": "object"
      +    },
      +    "error": {
      +      "additionalProperties": false,
      +      "description": "Unknown and foreign thread ids are deliberately indistinguishable: both return invalid_params with message \"unknown thread_id\" (anti-enumeration).",
      +      "properties": {
      +        "auth_help_url": {
      +          "description": "Present only when no credential was supplied for a capability that requires one. Points to human documentation for obtaining a key. Absent for invalid, pending, or disabled credentials, which are deliberately indistinguishable.",
      +          "format": "uri",
      +          "maxLength": 500,
      +          "type": "string"
      +        },
      +        "code": {
      +          "enum": [
      +            "rooftop_not_found",
      +            "rooftop_inactive",
      +            "unit_not_found",
      +            "invalid_params",
      +            "rate_limited",
      +            "upstream_unavailable",
      +            "capability_unavailable",
      +            "identity_required",
      +            "quota_exceeded",
      +            "unit_held",
      +            "quote_expired",
      +            "rooftop_paused",
      +            "handoff_duplicate",
      +            "idempotency_conflict",
      +            "price_unavailable",
      +            "snapshot_expired",
      +            "artifact_too_large",
      +            "cursor_invalid",
      +            "cursor_expired",
      +            "ambiguous_identity",
      +            "unsupported_in_country"
      +          ]
      +        },
      +        "message": {
      +          "maxLength": 500,
      +          "type": "string"
      +        },
      +        "retry_after_seconds": {
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        "retryable": {
      +          "type": "boolean"
      +        }
      +      },
      +      "required": [
      +        "code",
      +        "message",
      +        "retryable"
      +      ],
      +      "type": "object"
      +    },
      +    "freshness": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "by_rooftop": {
      +          "additionalProperties": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "last_ingest_at": {
      +                "format": "date-time",
      +                "maxLength": 40,
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "status": {
      +                "enum": [
      +                  "fresh",
      +                  "stale",
      +                  "no_data"
      +                ]
      +              }
      +            },
      +            "required": [
      +              "status",
      +              "last_ingest_at"
      +            ],
      +            "type": "object"
      +          },
      +          "maxProperties": 500,
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "by_rooftop"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Added

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources