Skip to main content
Glama
tool-schemas.ts2.43 kB
import { z } from "zod"; const LocationInputSchema = z.object({ value: z.string().describe("Address, place name or coordinates (format: lat,lng)"), isCoordinates: z.boolean().optional().default(false).describe("Whether the value is coordinates") }); const TravelModeSchema = z.enum(["driving", "walking", "bicycling", "transit"]).default("driving"); export const SearchNearbySchema = { center: LocationInputSchema, keyword: z.string().optional().describe("Search keyword (e.g., restaurant, coffee)"), radius: z.number().optional().default(1000).describe("Search radius in meters"), openNow: z.boolean().optional().default(false).describe("Only show places that are currently open"), minRating: z.number().min(0).max(5).optional().describe("Minimum rating requirement (0-5)") }; export const PlaceDetailsSchema = { placeId: z.string().describe("Google Maps Place ID") }; export const GeocodeSchema = { address: z.string().describe("Address or place name to convert") }; export const ReverseGeocodeSchema = { latitude: z.number().describe("Latitude coordinate"), longitude: z.number().describe("Longitude coordinate") }; export const DistanceMatrixSchema = { origins: z.array(z.string()).describe("List of origin addresses or coordinates"), destinations: z.array(z.string()).describe("List of destination addresses or coordinates"), mode: TravelModeSchema.optional().describe("Travel mode") }; export const DirectionsSchema = { origin: z.string().describe("Starting point address or coordinates"), destination: z.string().describe("Destination address or coordinates"), mode: TravelModeSchema.optional().describe("Travel mode") }; export const ElevationSchema = { locations: z.array(z.object({ latitude: z.number(), longitude: z.number() })).describe("List of locations to get elevation data for") }; export const MapWithDirectionsSchema = { origin: z.object({ address: z.string(), lat: z.number(), lng: z.number() }), destination: z.object({ address: z.string(), lat: z.number(), lng: z.number() }), waypoints: z.array(z.object({ address: z.string(), lat: z.number(), lng: z.number() })).optional(), mode: TravelModeSchema.optional(), size: z.object({ width: z.number(), height: z.number() }).optional(), scale: z.number().optional(), mapType: z.enum(["roadmap", "satellite", "hybrid", "terrain"]).optional() };

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/BACH-AI-Tools/MCP-Google-Maps'

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