[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-composio-google-maps-automation":3,"mdc--836q8-key":52,"related-org-composio-google-maps-automation":1138,"related-repo-composio-google-maps-automation":1284},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":27,"repoUrl":28,"updatedAt":29,"license":30,"forks":31,"topics":32,"repo":47,"sourceUrl":50,"mdContent":51},"google-maps-automation","automate Google Maps tasks via Composio","Automate Google Maps tasks via Rube MCP (Composio): geocode addresses, search places, get directions, compute route matrices, reverse geocode, autocomplete, get place details. Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"composio","Composio","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fcomposio.png","ComposioHQ",[13,15,18,21,24],{"name":9,"slug":8,"type":14},"tag",{"name":16,"slug":17,"type":14},"Automation","automation",{"name":19,"slug":20,"type":14},"Routing","routing",{"name":22,"slug":23,"type":14},"MCP","mcp",{"name":25,"slug":26,"type":14},"Maps","maps",67499,"https:\u002F\u002Fgithub.com\u002FComposioHQ\u002Fawesome-claude-skills","2026-07-15T05:55:22.081002",null,7603,[33,34,35,17,36,37,38,8,39,40,41,23,42,43,44,45,46],"agent-skills","ai-agents","antigravity","claude","claude-code","codex","cursor","developer-tools","gemini-cli","openai-codex","rube","saas","skill","workflow-automation",{"repoUrl":28,"stars":27,"forks":31,"topics":48,"description":49},[33,34,35,17,36,37,38,8,39,40,41,23,42,43,44,45,46],"A curated list of awesome Claude Skills, resources, and tools for customizing Claude AI workflows","https:\u002F\u002Fgithub.com\u002FComposioHQ\u002Fawesome-claude-skills\u002Ftree\u002FHEAD\u002Fcomposio-skills\u002Fgoogle-maps-automation","---\nname: google-maps-automation\ndescription: \"Automate Google Maps tasks via Rube MCP (Composio): geocode addresses, search places, get directions, compute route matrices, reverse geocode, autocomplete, get place details. Always search tools first for current schemas.\"\nrequires:\n  mcp: [rube]\n---\n\n# Google Maps Automation via Rube MCP\n\nGeocode addresses, search places, get directions, compute distance matrices, and retrieve place details using Google Maps via Rube MCP (Composio).\n\n**Toolkit docs**: [composio.dev\u002Ftoolkits\u002Fgoogle_maps](https:\u002F\u002Fcomposio.dev\u002Ftoolkits\u002Fgoogle_maps)\n\n## Prerequisites\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `google_maps`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n**Get Rube MCP**: Add `https:\u002F\u002Frube.app\u002Fmcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `google_maps`\n3. If connection is not ACTIVE, follow the returned auth link to complete setup\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Geocode an Address\nUse `GOOGLE_MAPS_GEOCODING_API` to convert a street address into geographic coordinates (latitude\u002Flongitude).\n```\nTool: GOOGLE_MAPS_GEOCODING_API\nParameters:\n  - address: Street address or plus code to geocode\n  - latlng: Lat\u002Flng for reverse geocoding (e.g., \"40.714224,-73.961452\")\n  - place_id: Place ID for place geocoding\n  - language: Language for results\n  - region: Region bias (ccTLD code)\n  - bounds: Bounding box for viewport bias\n  - components: Component filter (e.g., \"postal_code:94043|country:US\")\n```\n\n### 2. Search for Places\nUse `GOOGLE_MAPS_TEXT_SEARCH` to find places using a free-text query.\n```\nTool: GOOGLE_MAPS_TEXT_SEARCH\nParameters:\n  - textQuery (required): Search text (e.g., \"restaurants in London\")\n  - fieldMask: Fields to return (e.g., \"displayName,formattedAddress,rating\")\n  - maxResultCount: Max results (1-20, default 10)\n```\n\n### 3. Get Directions Between Two Locations\nUse `GOOGLE_MAPS_GET_ROUTE` to calculate routes with distance and duration.\n```\nTool: GOOGLE_MAPS_GET_ROUTE\nParameters:\n  - origin_address (required): Starting point (address or \"lat,lng\")\n  - destination_address (required): End point (address or \"lat,lng\")\n  - travelMode: DRIVE, BICYCLE, WALK, TWO_WHEELER, or TRANSIT\n  - routingPreference: TRAFFIC_UNAWARE, TRAFFIC_AWARE, TRAFFIC_AWARE_OPTIMAL\n  - computeAlternativeRoutes: Return alternative routes (boolean)\n  - units: METRIC or IMPERIAL\n  - languageCode: BCP-47 language code\n  - routeModifiers_avoidTolls \u002F avoidHighways \u002F avoidFerries: Route preferences\n```\n\n### 4. Compute Distance Matrix\nUse `GOOGLE_MAPS_COMPUTE_ROUTE_MATRIX` to calculate distances and durations between multiple origins and destinations.\n```\nTool: GOOGLE_MAPS_COMPUTE_ROUTE_MATRIX\nParameters:\n  - origins (required): Array of origin locations (address strings or lat\u002Flng objects)\n  - destinations (required): Array of destination locations\n  - travelMode: DRIVE, BICYCLE, WALK, TWO_WHEELER, or TRANSIT\n  - routingPreference: TRAFFIC_UNAWARE, TRAFFIC_AWARE, TRAFFIC_AWARE_OPTIMAL\n  - fieldMask: Response fields to include\n  - units: METRIC or IMPERIAL\n```\n\n### 5. Get Place Details\nUse `GOOGLE_MAPS_GET_PLACE_DETAILS` to retrieve comprehensive information about a specific place.\n```\nTool: GOOGLE_MAPS_GET_PLACE_DETAILS\nDescription: Retrieves comprehensive details for a place using its resource\n  name (places\u002F{place_id} format). Returns hours, contacts, reviews, etc.\nNote: Call RUBE_SEARCH_TOOLS to get the full schema for this tool.\n```\n\n### 6. Search Nearby Places\nUse `GOOGLE_MAPS_NEARBY_SEARCH` to find places within a circular area around a point.\n```\nTool: GOOGLE_MAPS_NEARBY_SEARCH\nParameters:\n  - latitude (required): Center latitude (-90 to 90)\n  - longitude (required): Center longitude (-180 to 180)\n  - radius (required): Search radius in meters (max 50000)\n  - includedTypes: Place types to include (e.g., [\"restaurant\", \"cafe\"])\n  - excludedTypes: Place types to exclude\n  - fieldMask: Fields to return\n  - maxResultCount: Max results (1-20)\n```\n\n## Common Patterns\n\n- **Geocode then route**: Use `GOOGLE_MAPS_GEOCODING_API` to convert addresses to coordinates, then `GOOGLE_MAPS_GET_ROUTE` for directions between them.\n- **Search then detail**: Use `GOOGLE_MAPS_TEXT_SEARCH` to find places, then `GOOGLE_MAPS_GET_PLACE_DETAILS` for richer metadata (hours, contacts, reviews).\n- **Autocomplete UX**: Use `GOOGLE_MAPS_AUTOCOMPLETE` for type-ahead search suggestions as users type addresses or place names.\n- **Reverse geocode**: Use `GOOGLE_MAPS_GEOCODE_LOCATION` to convert coordinates back to a human-readable address.\n- **Batch distance calculation**: Use `GOOGLE_MAPS_COMPUTE_ROUTE_MATRIX` for many-to-many distance calculations instead of calling `GOOGLE_MAPS_GET_ROUTE` repeatedly.\n- **Embed maps**: Use `GOOGLE_MAPS_MAPS_EMBED_API` to generate embeddable map URLs for places, directions, or search results.\n\n## Known Pitfalls\n\n- **Route matrix results structure**: `GOOGLE_MAPS_COMPUTE_ROUTE_MATRIX` returns results under `data.elements` with `originIndex` and `destinationIndex` plus `distanceMeters` and `duration` -- not a `routes[]` structure.\n- **Duration format**: `GOOGLE_MAPS_GET_ROUTE` returns durations as strings like `\"937s\"` inside `data.response_data.routes`. You must parse these before numeric comparisons.\n- **Place IDs for chaining**: Use place identifiers returned from `GOOGLE_MAPS_TEXT_SEARCH` when calling `GOOGLE_MAPS_GET_PLACE_DETAILS` for richer fields.\n- **Reverse geocoding input**: `GOOGLE_MAPS_GEOCODE_LOCATION` is coordinate-driven. Ensure you pass lat\u002Flng (not an address string) to avoid mismatched lookups.\n- **Routing preference restrictions**: `routingPreference` cannot be set when `travelMode` is WALK, BICYCLE, or TRANSIT -- it must be omitted for these modes.\n- **Nearby search type validity**: `\"food\"` is NOT a valid type for `GOOGLE_MAPS_NEARBY_SEARCH` (it is Table B). Use specific types like `restaurant`, `cafe`, `bakery`, `fast_food_restaurant` instead.\n- **Embed API uses API keys only**: `GOOGLE_MAPS_MAPS_EMBED_API` requires an API key and does not support OAuth2.\n\n## Quick Reference\n| Action | Tool | Key Parameters |\n|--------|------|----------------|\n| Geocode address | `GOOGLE_MAPS_GEOCODING_API` | `address` or `latlng` or `place_id` |\n| Reverse geocode | `GOOGLE_MAPS_GEOCODE_LOCATION` | (see full schema via RUBE_SEARCH_TOOLS) |\n| Text search | `GOOGLE_MAPS_TEXT_SEARCH` | `textQuery`, `fieldMask`, `maxResultCount` |\n| Nearby search | `GOOGLE_MAPS_NEARBY_SEARCH` | `latitude`, `longitude`, `radius`, `includedTypes` |\n| Get directions | `GOOGLE_MAPS_GET_ROUTE` | `origin_address`, `destination_address`, `travelMode` |\n| Distance matrix | `GOOGLE_MAPS_COMPUTE_ROUTE_MATRIX` | `origins`, `destinations`, `travelMode` |\n| Place details | `GOOGLE_MAPS_GET_PLACE_DETAILS` | (see full schema via RUBE_SEARCH_TOOLS) |\n| Autocomplete | `GOOGLE_MAPS_AUTOCOMPLETE` | `input`, `includedRegionCodes`, `locationBias` |\n| Place photo | `GOOGLE_MAPS_PLACE_PHOTO` | (see full schema via RUBE_SEARCH_TOOLS) |\n| Embed map | `GOOGLE_MAPS_MAPS_EMBED_API` | `mode`, plus mode-specific params |\n\n---\n*Powered by [Composio](https:\u002F\u002Fcomposio.dev)*\n",{"data":53,"body":56},{"name":4,"description":6,"requires":54},{"mcp":55},[43],{"type":57,"children":58},"root",[59,68,74,94,101,144,150,168,210,216,223,236,248,254,266,275,281,293,302,308,320,329,335,347,356,362,374,383,389,513,519,752,758,1119,1123],{"type":60,"tag":61,"props":62,"children":64},"element","h1",{"id":63},"google-maps-automation-via-rube-mcp",[65],{"type":66,"value":67},"text","Google Maps Automation via Rube MCP",{"type":60,"tag":69,"props":70,"children":71},"p",{},[72],{"type":66,"value":73},"Geocode addresses, search places, get directions, compute distance matrices, and retrieve place details using Google Maps via Rube MCP (Composio).",{"type":60,"tag":69,"props":75,"children":76},{},[77,83,85],{"type":60,"tag":78,"props":79,"children":80},"strong",{},[81],{"type":66,"value":82},"Toolkit docs",{"type":66,"value":84},": ",{"type":60,"tag":86,"props":87,"children":91},"a",{"href":88,"rel":89},"https:\u002F\u002Fcomposio.dev\u002Ftoolkits\u002Fgoogle_maps",[90],"nofollow",[92],{"type":66,"value":93},"composio.dev\u002Ftoolkits\u002Fgoogle_maps",{"type":60,"tag":95,"props":96,"children":98},"h2",{"id":97},"prerequisites",[99],{"type":66,"value":100},"Prerequisites",{"type":60,"tag":102,"props":103,"children":104},"ul",{},[105,111,131],{"type":60,"tag":106,"props":107,"children":108},"li",{},[109],{"type":66,"value":110},"Rube MCP must be connected (RUBE_SEARCH_TOOLS available)",{"type":60,"tag":106,"props":112,"children":113},{},[114,116,123,125],{"type":66,"value":115},"Active connection via ",{"type":60,"tag":117,"props":118,"children":120},"code",{"className":119},[],[121],{"type":66,"value":122},"RUBE_MANAGE_CONNECTIONS",{"type":66,"value":124}," with toolkit ",{"type":60,"tag":117,"props":126,"children":128},{"className":127},[],[129],{"type":66,"value":130},"google_maps",{"type":60,"tag":106,"props":132,"children":133},{},[134,136,142],{"type":66,"value":135},"Always call ",{"type":60,"tag":117,"props":137,"children":139},{"className":138},[],[140],{"type":66,"value":141},"RUBE_SEARCH_TOOLS",{"type":66,"value":143}," first to get current tool schemas",{"type":60,"tag":95,"props":145,"children":147},{"id":146},"setup",[148],{"type":66,"value":149},"Setup",{"type":60,"tag":69,"props":151,"children":152},{},[153,158,160,166],{"type":60,"tag":78,"props":154,"children":155},{},[156],{"type":66,"value":157},"Get Rube MCP",{"type":66,"value":159},": Add ",{"type":60,"tag":117,"props":161,"children":163},{"className":162},[],[164],{"type":66,"value":165},"https:\u002F\u002Frube.app\u002Fmcp",{"type":66,"value":167}," as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.",{"type":60,"tag":169,"props":170,"children":171},"ol",{},[172,184,200,205],{"type":60,"tag":106,"props":173,"children":174},{},[175,177,182],{"type":66,"value":176},"Verify Rube MCP is available by confirming ",{"type":60,"tag":117,"props":178,"children":180},{"className":179},[],[181],{"type":66,"value":141},{"type":66,"value":183}," responds",{"type":60,"tag":106,"props":185,"children":186},{},[187,189,194,195],{"type":66,"value":188},"Call ",{"type":60,"tag":117,"props":190,"children":192},{"className":191},[],[193],{"type":66,"value":122},{"type":66,"value":124},{"type":60,"tag":117,"props":196,"children":198},{"className":197},[],[199],{"type":66,"value":130},{"type":60,"tag":106,"props":201,"children":202},{},[203],{"type":66,"value":204},"If connection is not ACTIVE, follow the returned auth link to complete setup",{"type":60,"tag":106,"props":206,"children":207},{},[208],{"type":66,"value":209},"Confirm connection status shows ACTIVE before running any workflows",{"type":60,"tag":95,"props":211,"children":213},{"id":212},"core-workflows",[214],{"type":66,"value":215},"Core Workflows",{"type":60,"tag":217,"props":218,"children":220},"h3",{"id":219},"_1-geocode-an-address",[221],{"type":66,"value":222},"1. Geocode an Address",{"type":60,"tag":69,"props":224,"children":225},{},[226,228,234],{"type":66,"value":227},"Use ",{"type":60,"tag":117,"props":229,"children":231},{"className":230},[],[232],{"type":66,"value":233},"GOOGLE_MAPS_GEOCODING_API",{"type":66,"value":235}," to convert a street address into geographic coordinates (latitude\u002Flongitude).",{"type":60,"tag":237,"props":238,"children":242},"pre",{"className":239,"code":241,"language":66},[240],"language-text","Tool: GOOGLE_MAPS_GEOCODING_API\nParameters:\n  - address: Street address or plus code to geocode\n  - latlng: Lat\u002Flng for reverse geocoding (e.g., \"40.714224,-73.961452\")\n  - place_id: Place ID for place geocoding\n  - language: Language for results\n  - region: Region bias (ccTLD code)\n  - bounds: Bounding box for viewport bias\n  - components: Component filter (e.g., \"postal_code:94043|country:US\")\n",[243],{"type":60,"tag":117,"props":244,"children":246},{"__ignoreMap":245},"",[247],{"type":66,"value":241},{"type":60,"tag":217,"props":249,"children":251},{"id":250},"_2-search-for-places",[252],{"type":66,"value":253},"2. Search for Places",{"type":60,"tag":69,"props":255,"children":256},{},[257,258,264],{"type":66,"value":227},{"type":60,"tag":117,"props":259,"children":261},{"className":260},[],[262],{"type":66,"value":263},"GOOGLE_MAPS_TEXT_SEARCH",{"type":66,"value":265}," to find places using a free-text query.",{"type":60,"tag":237,"props":267,"children":270},{"className":268,"code":269,"language":66},[240],"Tool: GOOGLE_MAPS_TEXT_SEARCH\nParameters:\n  - textQuery (required): Search text (e.g., \"restaurants in London\")\n  - fieldMask: Fields to return (e.g., \"displayName,formattedAddress,rating\")\n  - maxResultCount: Max results (1-20, default 10)\n",[271],{"type":60,"tag":117,"props":272,"children":273},{"__ignoreMap":245},[274],{"type":66,"value":269},{"type":60,"tag":217,"props":276,"children":278},{"id":277},"_3-get-directions-between-two-locations",[279],{"type":66,"value":280},"3. Get Directions Between Two Locations",{"type":60,"tag":69,"props":282,"children":283},{},[284,285,291],{"type":66,"value":227},{"type":60,"tag":117,"props":286,"children":288},{"className":287},[],[289],{"type":66,"value":290},"GOOGLE_MAPS_GET_ROUTE",{"type":66,"value":292}," to calculate routes with distance and duration.",{"type":60,"tag":237,"props":294,"children":297},{"className":295,"code":296,"language":66},[240],"Tool: GOOGLE_MAPS_GET_ROUTE\nParameters:\n  - origin_address (required): Starting point (address or \"lat,lng\")\n  - destination_address (required): End point (address or \"lat,lng\")\n  - travelMode: DRIVE, BICYCLE, WALK, TWO_WHEELER, or TRANSIT\n  - routingPreference: TRAFFIC_UNAWARE, TRAFFIC_AWARE, TRAFFIC_AWARE_OPTIMAL\n  - computeAlternativeRoutes: Return alternative routes (boolean)\n  - units: METRIC or IMPERIAL\n  - languageCode: BCP-47 language code\n  - routeModifiers_avoidTolls \u002F avoidHighways \u002F avoidFerries: Route preferences\n",[298],{"type":60,"tag":117,"props":299,"children":300},{"__ignoreMap":245},[301],{"type":66,"value":296},{"type":60,"tag":217,"props":303,"children":305},{"id":304},"_4-compute-distance-matrix",[306],{"type":66,"value":307},"4. Compute Distance Matrix",{"type":60,"tag":69,"props":309,"children":310},{},[311,312,318],{"type":66,"value":227},{"type":60,"tag":117,"props":313,"children":315},{"className":314},[],[316],{"type":66,"value":317},"GOOGLE_MAPS_COMPUTE_ROUTE_MATRIX",{"type":66,"value":319}," to calculate distances and durations between multiple origins and destinations.",{"type":60,"tag":237,"props":321,"children":324},{"className":322,"code":323,"language":66},[240],"Tool: GOOGLE_MAPS_COMPUTE_ROUTE_MATRIX\nParameters:\n  - origins (required): Array of origin locations (address strings or lat\u002Flng objects)\n  - destinations (required): Array of destination locations\n  - travelMode: DRIVE, BICYCLE, WALK, TWO_WHEELER, or TRANSIT\n  - routingPreference: TRAFFIC_UNAWARE, TRAFFIC_AWARE, TRAFFIC_AWARE_OPTIMAL\n  - fieldMask: Response fields to include\n  - units: METRIC or IMPERIAL\n",[325],{"type":60,"tag":117,"props":326,"children":327},{"__ignoreMap":245},[328],{"type":66,"value":323},{"type":60,"tag":217,"props":330,"children":332},{"id":331},"_5-get-place-details",[333],{"type":66,"value":334},"5. Get Place Details",{"type":60,"tag":69,"props":336,"children":337},{},[338,339,345],{"type":66,"value":227},{"type":60,"tag":117,"props":340,"children":342},{"className":341},[],[343],{"type":66,"value":344},"GOOGLE_MAPS_GET_PLACE_DETAILS",{"type":66,"value":346}," to retrieve comprehensive information about a specific place.",{"type":60,"tag":237,"props":348,"children":351},{"className":349,"code":350,"language":66},[240],"Tool: GOOGLE_MAPS_GET_PLACE_DETAILS\nDescription: Retrieves comprehensive details for a place using its resource\n  name (places\u002F{place_id} format). Returns hours, contacts, reviews, etc.\nNote: Call RUBE_SEARCH_TOOLS to get the full schema for this tool.\n",[352],{"type":60,"tag":117,"props":353,"children":354},{"__ignoreMap":245},[355],{"type":66,"value":350},{"type":60,"tag":217,"props":357,"children":359},{"id":358},"_6-search-nearby-places",[360],{"type":66,"value":361},"6. Search Nearby Places",{"type":60,"tag":69,"props":363,"children":364},{},[365,366,372],{"type":66,"value":227},{"type":60,"tag":117,"props":367,"children":369},{"className":368},[],[370],{"type":66,"value":371},"GOOGLE_MAPS_NEARBY_SEARCH",{"type":66,"value":373}," to find places within a circular area around a point.",{"type":60,"tag":237,"props":375,"children":378},{"className":376,"code":377,"language":66},[240],"Tool: GOOGLE_MAPS_NEARBY_SEARCH\nParameters:\n  - latitude (required): Center latitude (-90 to 90)\n  - longitude (required): Center longitude (-180 to 180)\n  - radius (required): Search radius in meters (max 50000)\n  - includedTypes: Place types to include (e.g., [\"restaurant\", \"cafe\"])\n  - excludedTypes: Place types to exclude\n  - fieldMask: Fields to return\n  - maxResultCount: Max results (1-20)\n",[379],{"type":60,"tag":117,"props":380,"children":381},{"__ignoreMap":245},[382],{"type":66,"value":377},{"type":60,"tag":95,"props":384,"children":386},{"id":385},"common-patterns",[387],{"type":66,"value":388},"Common Patterns",{"type":60,"tag":102,"props":390,"children":391},{},[392,416,439,456,473,496],{"type":60,"tag":106,"props":393,"children":394},{},[395,400,402,407,409,414],{"type":60,"tag":78,"props":396,"children":397},{},[398],{"type":66,"value":399},"Geocode then route",{"type":66,"value":401},": Use ",{"type":60,"tag":117,"props":403,"children":405},{"className":404},[],[406],{"type":66,"value":233},{"type":66,"value":408}," to convert addresses to coordinates, then ",{"type":60,"tag":117,"props":410,"children":412},{"className":411},[],[413],{"type":66,"value":290},{"type":66,"value":415}," for directions between them.",{"type":60,"tag":106,"props":417,"children":418},{},[419,424,425,430,432,437],{"type":60,"tag":78,"props":420,"children":421},{},[422],{"type":66,"value":423},"Search then detail",{"type":66,"value":401},{"type":60,"tag":117,"props":426,"children":428},{"className":427},[],[429],{"type":66,"value":263},{"type":66,"value":431}," to find places, then ",{"type":60,"tag":117,"props":433,"children":435},{"className":434},[],[436],{"type":66,"value":344},{"type":66,"value":438}," for richer metadata (hours, contacts, reviews).",{"type":60,"tag":106,"props":440,"children":441},{},[442,447,448,454],{"type":60,"tag":78,"props":443,"children":444},{},[445],{"type":66,"value":446},"Autocomplete UX",{"type":66,"value":401},{"type":60,"tag":117,"props":449,"children":451},{"className":450},[],[452],{"type":66,"value":453},"GOOGLE_MAPS_AUTOCOMPLETE",{"type":66,"value":455}," for type-ahead search suggestions as users type addresses or place names.",{"type":60,"tag":106,"props":457,"children":458},{},[459,464,465,471],{"type":60,"tag":78,"props":460,"children":461},{},[462],{"type":66,"value":463},"Reverse geocode",{"type":66,"value":401},{"type":60,"tag":117,"props":466,"children":468},{"className":467},[],[469],{"type":66,"value":470},"GOOGLE_MAPS_GEOCODE_LOCATION",{"type":66,"value":472}," to convert coordinates back to a human-readable address.",{"type":60,"tag":106,"props":474,"children":475},{},[476,481,482,487,489,494],{"type":60,"tag":78,"props":477,"children":478},{},[479],{"type":66,"value":480},"Batch distance calculation",{"type":66,"value":401},{"type":60,"tag":117,"props":483,"children":485},{"className":484},[],[486],{"type":66,"value":317},{"type":66,"value":488}," for many-to-many distance calculations instead of calling ",{"type":60,"tag":117,"props":490,"children":492},{"className":491},[],[493],{"type":66,"value":290},{"type":66,"value":495}," repeatedly.",{"type":60,"tag":106,"props":497,"children":498},{},[499,504,505,511],{"type":60,"tag":78,"props":500,"children":501},{},[502],{"type":66,"value":503},"Embed maps",{"type":66,"value":401},{"type":60,"tag":117,"props":506,"children":508},{"className":507},[],[509],{"type":66,"value":510},"GOOGLE_MAPS_MAPS_EMBED_API",{"type":66,"value":512}," to generate embeddable map URLs for places, directions, or search results.",{"type":60,"tag":95,"props":514,"children":516},{"id":515},"known-pitfalls",[517],{"type":66,"value":518},"Known Pitfalls",{"type":60,"tag":102,"props":520,"children":521},{},[522,585,617,641,657,682,736],{"type":60,"tag":106,"props":523,"children":524},{},[525,530,531,536,538,544,546,552,554,560,562,568,569,575,577,583],{"type":60,"tag":78,"props":526,"children":527},{},[528],{"type":66,"value":529},"Route matrix results structure",{"type":66,"value":84},{"type":60,"tag":117,"props":532,"children":534},{"className":533},[],[535],{"type":66,"value":317},{"type":66,"value":537}," returns results under ",{"type":60,"tag":117,"props":539,"children":541},{"className":540},[],[542],{"type":66,"value":543},"data.elements",{"type":66,"value":545}," with ",{"type":60,"tag":117,"props":547,"children":549},{"className":548},[],[550],{"type":66,"value":551},"originIndex",{"type":66,"value":553}," and ",{"type":60,"tag":117,"props":555,"children":557},{"className":556},[],[558],{"type":66,"value":559},"destinationIndex",{"type":66,"value":561}," plus ",{"type":60,"tag":117,"props":563,"children":565},{"className":564},[],[566],{"type":66,"value":567},"distanceMeters",{"type":66,"value":553},{"type":60,"tag":117,"props":570,"children":572},{"className":571},[],[573],{"type":66,"value":574},"duration",{"type":66,"value":576}," -- not a ",{"type":60,"tag":117,"props":578,"children":580},{"className":579},[],[581],{"type":66,"value":582},"routes[]",{"type":66,"value":584}," structure.",{"type":60,"tag":106,"props":586,"children":587},{},[588,593,594,599,601,607,609,615],{"type":60,"tag":78,"props":589,"children":590},{},[591],{"type":66,"value":592},"Duration format",{"type":66,"value":84},{"type":60,"tag":117,"props":595,"children":597},{"className":596},[],[598],{"type":66,"value":290},{"type":66,"value":600}," returns durations as strings like ",{"type":60,"tag":117,"props":602,"children":604},{"className":603},[],[605],{"type":66,"value":606},"\"937s\"",{"type":66,"value":608}," inside ",{"type":60,"tag":117,"props":610,"children":612},{"className":611},[],[613],{"type":66,"value":614},"data.response_data.routes",{"type":66,"value":616},". You must parse these before numeric comparisons.",{"type":60,"tag":106,"props":618,"children":619},{},[620,625,627,632,634,639],{"type":60,"tag":78,"props":621,"children":622},{},[623],{"type":66,"value":624},"Place IDs for chaining",{"type":66,"value":626},": Use place identifiers returned from ",{"type":60,"tag":117,"props":628,"children":630},{"className":629},[],[631],{"type":66,"value":263},{"type":66,"value":633}," when calling ",{"type":60,"tag":117,"props":635,"children":637},{"className":636},[],[638],{"type":66,"value":344},{"type":66,"value":640}," for richer fields.",{"type":60,"tag":106,"props":642,"children":643},{},[644,649,650,655],{"type":60,"tag":78,"props":645,"children":646},{},[647],{"type":66,"value":648},"Reverse geocoding input",{"type":66,"value":84},{"type":60,"tag":117,"props":651,"children":653},{"className":652},[],[654],{"type":66,"value":470},{"type":66,"value":656}," is coordinate-driven. Ensure you pass lat\u002Flng (not an address string) to avoid mismatched lookups.",{"type":60,"tag":106,"props":658,"children":659},{},[660,665,666,672,674,680],{"type":60,"tag":78,"props":661,"children":662},{},[663],{"type":66,"value":664},"Routing preference restrictions",{"type":66,"value":84},{"type":60,"tag":117,"props":667,"children":669},{"className":668},[],[670],{"type":66,"value":671},"routingPreference",{"type":66,"value":673}," cannot be set when ",{"type":60,"tag":117,"props":675,"children":677},{"className":676},[],[678],{"type":66,"value":679},"travelMode",{"type":66,"value":681}," is WALK, BICYCLE, or TRANSIT -- it must be omitted for these modes.",{"type":60,"tag":106,"props":683,"children":684},{},[685,690,691,697,699,704,706,712,714,720,721,727,728,734],{"type":60,"tag":78,"props":686,"children":687},{},[688],{"type":66,"value":689},"Nearby search type validity",{"type":66,"value":84},{"type":60,"tag":117,"props":692,"children":694},{"className":693},[],[695],{"type":66,"value":696},"\"food\"",{"type":66,"value":698}," is NOT a valid type for ",{"type":60,"tag":117,"props":700,"children":702},{"className":701},[],[703],{"type":66,"value":371},{"type":66,"value":705}," (it is Table B). Use specific types like ",{"type":60,"tag":117,"props":707,"children":709},{"className":708},[],[710],{"type":66,"value":711},"restaurant",{"type":66,"value":713},", ",{"type":60,"tag":117,"props":715,"children":717},{"className":716},[],[718],{"type":66,"value":719},"cafe",{"type":66,"value":713},{"type":60,"tag":117,"props":722,"children":724},{"className":723},[],[725],{"type":66,"value":726},"bakery",{"type":66,"value":713},{"type":60,"tag":117,"props":729,"children":731},{"className":730},[],[732],{"type":66,"value":733},"fast_food_restaurant",{"type":66,"value":735}," instead.",{"type":60,"tag":106,"props":737,"children":738},{},[739,744,745,750],{"type":60,"tag":78,"props":740,"children":741},{},[742],{"type":66,"value":743},"Embed API uses API keys only",{"type":66,"value":84},{"type":60,"tag":117,"props":746,"children":748},{"className":747},[],[749],{"type":66,"value":510},{"type":66,"value":751}," requires an API key and does not support OAuth2.",{"type":60,"tag":95,"props":753,"children":755},{"id":754},"quick-reference",[756],{"type":66,"value":757},"Quick Reference",{"type":60,"tag":759,"props":760,"children":761},"table",{},[762,786],{"type":60,"tag":763,"props":764,"children":765},"thead",{},[766],{"type":60,"tag":767,"props":768,"children":769},"tr",{},[770,776,781],{"type":60,"tag":771,"props":772,"children":773},"th",{},[774],{"type":66,"value":775},"Action",{"type":60,"tag":771,"props":777,"children":778},{},[779],{"type":66,"value":780},"Tool",{"type":60,"tag":771,"props":782,"children":783},{},[784],{"type":66,"value":785},"Key Parameters",{"type":60,"tag":787,"props":788,"children":789},"tbody",{},[790,831,851,890,936,974,1012,1032,1071,1092],{"type":60,"tag":767,"props":791,"children":792},{},[793,799,807],{"type":60,"tag":794,"props":795,"children":796},"td",{},[797],{"type":66,"value":798},"Geocode address",{"type":60,"tag":794,"props":800,"children":801},{},[802],{"type":60,"tag":117,"props":803,"children":805},{"className":804},[],[806],{"type":66,"value":233},{"type":60,"tag":794,"props":808,"children":809},{},[810,816,818,824,825],{"type":60,"tag":117,"props":811,"children":813},{"className":812},[],[814],{"type":66,"value":815},"address",{"type":66,"value":817}," or ",{"type":60,"tag":117,"props":819,"children":821},{"className":820},[],[822],{"type":66,"value":823},"latlng",{"type":66,"value":817},{"type":60,"tag":117,"props":826,"children":828},{"className":827},[],[829],{"type":66,"value":830},"place_id",{"type":60,"tag":767,"props":832,"children":833},{},[834,838,846],{"type":60,"tag":794,"props":835,"children":836},{},[837],{"type":66,"value":463},{"type":60,"tag":794,"props":839,"children":840},{},[841],{"type":60,"tag":117,"props":842,"children":844},{"className":843},[],[845],{"type":66,"value":470},{"type":60,"tag":794,"props":847,"children":848},{},[849],{"type":66,"value":850},"(see full schema via RUBE_SEARCH_TOOLS)",{"type":60,"tag":767,"props":852,"children":853},{},[854,859,867],{"type":60,"tag":794,"props":855,"children":856},{},[857],{"type":66,"value":858},"Text search",{"type":60,"tag":794,"props":860,"children":861},{},[862],{"type":60,"tag":117,"props":863,"children":865},{"className":864},[],[866],{"type":66,"value":263},{"type":60,"tag":794,"props":868,"children":869},{},[870,876,877,883,884],{"type":60,"tag":117,"props":871,"children":873},{"className":872},[],[874],{"type":66,"value":875},"textQuery",{"type":66,"value":713},{"type":60,"tag":117,"props":878,"children":880},{"className":879},[],[881],{"type":66,"value":882},"fieldMask",{"type":66,"value":713},{"type":60,"tag":117,"props":885,"children":887},{"className":886},[],[888],{"type":66,"value":889},"maxResultCount",{"type":60,"tag":767,"props":891,"children":892},{},[893,898,906],{"type":60,"tag":794,"props":894,"children":895},{},[896],{"type":66,"value":897},"Nearby search",{"type":60,"tag":794,"props":899,"children":900},{},[901],{"type":60,"tag":117,"props":902,"children":904},{"className":903},[],[905],{"type":66,"value":371},{"type":60,"tag":794,"props":907,"children":908},{},[909,915,916,922,923,929,930],{"type":60,"tag":117,"props":910,"children":912},{"className":911},[],[913],{"type":66,"value":914},"latitude",{"type":66,"value":713},{"type":60,"tag":117,"props":917,"children":919},{"className":918},[],[920],{"type":66,"value":921},"longitude",{"type":66,"value":713},{"type":60,"tag":117,"props":924,"children":926},{"className":925},[],[927],{"type":66,"value":928},"radius",{"type":66,"value":713},{"type":60,"tag":117,"props":931,"children":933},{"className":932},[],[934],{"type":66,"value":935},"includedTypes",{"type":60,"tag":767,"props":937,"children":938},{},[939,944,952],{"type":60,"tag":794,"props":940,"children":941},{},[942],{"type":66,"value":943},"Get directions",{"type":60,"tag":794,"props":945,"children":946},{},[947],{"type":60,"tag":117,"props":948,"children":950},{"className":949},[],[951],{"type":66,"value":290},{"type":60,"tag":794,"props":953,"children":954},{},[955,961,962,968,969],{"type":60,"tag":117,"props":956,"children":958},{"className":957},[],[959],{"type":66,"value":960},"origin_address",{"type":66,"value":713},{"type":60,"tag":117,"props":963,"children":965},{"className":964},[],[966],{"type":66,"value":967},"destination_address",{"type":66,"value":713},{"type":60,"tag":117,"props":970,"children":972},{"className":971},[],[973],{"type":66,"value":679},{"type":60,"tag":767,"props":975,"children":976},{},[977,982,990],{"type":60,"tag":794,"props":978,"children":979},{},[980],{"type":66,"value":981},"Distance matrix",{"type":60,"tag":794,"props":983,"children":984},{},[985],{"type":60,"tag":117,"props":986,"children":988},{"className":987},[],[989],{"type":66,"value":317},{"type":60,"tag":794,"props":991,"children":992},{},[993,999,1000,1006,1007],{"type":60,"tag":117,"props":994,"children":996},{"className":995},[],[997],{"type":66,"value":998},"origins",{"type":66,"value":713},{"type":60,"tag":117,"props":1001,"children":1003},{"className":1002},[],[1004],{"type":66,"value":1005},"destinations",{"type":66,"value":713},{"type":60,"tag":117,"props":1008,"children":1010},{"className":1009},[],[1011],{"type":66,"value":679},{"type":60,"tag":767,"props":1013,"children":1014},{},[1015,1020,1028],{"type":60,"tag":794,"props":1016,"children":1017},{},[1018],{"type":66,"value":1019},"Place details",{"type":60,"tag":794,"props":1021,"children":1022},{},[1023],{"type":60,"tag":117,"props":1024,"children":1026},{"className":1025},[],[1027],{"type":66,"value":344},{"type":60,"tag":794,"props":1029,"children":1030},{},[1031],{"type":66,"value":850},{"type":60,"tag":767,"props":1033,"children":1034},{},[1035,1040,1048],{"type":60,"tag":794,"props":1036,"children":1037},{},[1038],{"type":66,"value":1039},"Autocomplete",{"type":60,"tag":794,"props":1041,"children":1042},{},[1043],{"type":60,"tag":117,"props":1044,"children":1046},{"className":1045},[],[1047],{"type":66,"value":453},{"type":60,"tag":794,"props":1049,"children":1050},{},[1051,1057,1058,1064,1065],{"type":60,"tag":117,"props":1052,"children":1054},{"className":1053},[],[1055],{"type":66,"value":1056},"input",{"type":66,"value":713},{"type":60,"tag":117,"props":1059,"children":1061},{"className":1060},[],[1062],{"type":66,"value":1063},"includedRegionCodes",{"type":66,"value":713},{"type":60,"tag":117,"props":1066,"children":1068},{"className":1067},[],[1069],{"type":66,"value":1070},"locationBias",{"type":60,"tag":767,"props":1072,"children":1073},{},[1074,1079,1088],{"type":60,"tag":794,"props":1075,"children":1076},{},[1077],{"type":66,"value":1078},"Place photo",{"type":60,"tag":794,"props":1080,"children":1081},{},[1082],{"type":60,"tag":117,"props":1083,"children":1085},{"className":1084},[],[1086],{"type":66,"value":1087},"GOOGLE_MAPS_PLACE_PHOTO",{"type":60,"tag":794,"props":1089,"children":1090},{},[1091],{"type":66,"value":850},{"type":60,"tag":767,"props":1093,"children":1094},{},[1095,1100,1108],{"type":60,"tag":794,"props":1096,"children":1097},{},[1098],{"type":66,"value":1099},"Embed map",{"type":60,"tag":794,"props":1101,"children":1102},{},[1103],{"type":60,"tag":117,"props":1104,"children":1106},{"className":1105},[],[1107],{"type":66,"value":510},{"type":60,"tag":794,"props":1109,"children":1110},{},[1111,1117],{"type":60,"tag":117,"props":1112,"children":1114},{"className":1113},[],[1115],{"type":66,"value":1116},"mode",{"type":66,"value":1118},", plus mode-specific params",{"type":60,"tag":1120,"props":1121,"children":1122},"hr",{},[],{"type":60,"tag":69,"props":1124,"children":1125},{},[1126],{"type":60,"tag":1127,"props":1128,"children":1129},"em",{},[1130,1132],{"type":66,"value":1131},"Powered by ",{"type":60,"tag":86,"props":1133,"children":1136},{"href":1134,"rel":1135},"https:\u002F\u002Fcomposio.dev",[90],[1137],{"type":66,"value":9},{"items":1139,"total":1283},[1140,1154,1170,1179,1189,1201,1210,1223,1237,1250,1263,1273],{"slug":1141,"name":1142,"fn":1143,"description":1144,"org":1145,"tags":1146,"stars":27,"repoUrl":28,"updatedAt":1153},"21risk-automation","-21risk-automation","automate 21risk compliance and safety tasks","Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1147,1148,1149,1150],{"name":16,"slug":17,"type":14},{"name":9,"slug":8,"type":14},{"name":22,"slug":23,"type":14},{"name":1151,"slug":1152,"type":14},"Risk Assessment","risk-assessment","2026-07-15T05:54:18.790529",{"slug":1155,"name":1156,"fn":1157,"description":1158,"org":1159,"tags":1160,"stars":27,"repoUrl":28,"updatedAt":1169},"2chat-automation","-2chat-automation","automate 2chat messaging tasks","Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1161,1162,1165,1166],{"name":16,"slug":17,"type":14},{"name":1163,"slug":1164,"type":14},"Communications","communications",{"name":22,"slug":23,"type":14},{"name":1167,"slug":1168,"type":14},"Messaging","messaging","2026-07-15T05:51:27.190332",{"slug":1171,"name":1171,"fn":1172,"description":1173,"org":1174,"tags":1175,"stars":27,"repoUrl":28,"updatedAt":1178},"ably-automation","automate Ably tasks with Composio","Automate Ably tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1176,1177],{"name":16,"slug":17,"type":14},{"name":22,"slug":23,"type":14},"2026-07-12T08:09:55.453088",{"slug":1180,"name":1180,"fn":1181,"description":1182,"org":1183,"tags":1184,"stars":27,"repoUrl":28,"updatedAt":1188},"abstract-automation","automate Abstract tasks via Composio","Automate Abstract tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1185,1186,1187],{"name":16,"slug":17,"type":14},{"name":9,"slug":8,"type":14},{"name":22,"slug":23,"type":14},"2026-07-15T05:45:16.470309",{"slug":1190,"name":1190,"fn":1191,"description":1192,"org":1193,"tags":1194,"stars":27,"repoUrl":28,"updatedAt":1200},"abuselpdb-automation","automate Abuselpdb tasks via Composio","Automate Abuselpdb tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1195,1196,1197],{"name":16,"slug":17,"type":14},{"name":22,"slug":23,"type":14},{"name":1198,"slug":1199,"type":14},"Security","security","2026-07-15T05:56:20.013366",{"slug":1202,"name":1202,"fn":1203,"description":1204,"org":1205,"tags":1206,"stars":27,"repoUrl":28,"updatedAt":1209},"abyssale-automation","automate Abyssale tasks via Composio","Automate Abyssale tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1207,1208],{"name":16,"slug":17,"type":14},{"name":9,"slug":8,"type":14},"2026-07-15T05:54:50.762889",{"slug":1211,"name":1211,"fn":1212,"description":1213,"org":1214,"tags":1215,"stars":27,"repoUrl":28,"updatedAt":1222},"accelo-automation","automate Accelo tasks via Composio","Automate Accelo tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1216,1217,1218,1221],{"name":16,"slug":17,"type":14},{"name":9,"slug":8,"type":14},{"name":1219,"slug":1220,"type":14},"CRM","crm",{"name":22,"slug":23,"type":14},"2026-07-15T05:48:43.429136",{"slug":1224,"name":1224,"fn":1225,"description":1226,"org":1227,"tags":1228,"stars":27,"repoUrl":28,"updatedAt":1236},"accredible-certificates-automation","automate Accredible certificate management","Automate Accredible Certificates tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1229,1230,1233],{"name":16,"slug":17,"type":14},{"name":1231,"slug":1232,"type":14},"Documents","documents",{"name":1234,"slug":1235,"type":14},"E-Signature","e-signature","2026-07-15T05:55:33.159639",{"slug":1238,"name":1238,"fn":1239,"description":1240,"org":1241,"tags":1242,"stars":27,"repoUrl":28,"updatedAt":1249},"acculynx-automation","automate Acculynx construction management tasks","Automate Acculynx tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1243,1244,1245,1246],{"name":16,"slug":17,"type":14},{"name":9,"slug":8,"type":14},{"name":22,"slug":23,"type":14},{"name":1247,"slug":1248,"type":14},"Operations","operations","2026-07-15T05:58:48.059284",{"slug":1251,"name":1251,"fn":1252,"description":1253,"org":1254,"tags":1255,"stars":27,"repoUrl":28,"updatedAt":1262},"active-campaign-automation","automate ActiveCampaign marketing and CRM tasks","Automate ActiveCampaign tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1256,1257,1258,1259],{"name":16,"slug":17,"type":14},{"name":9,"slug":8,"type":14},{"name":1219,"slug":1220,"type":14},{"name":1260,"slug":1261,"type":14},"Email Marketing","email-marketing","2026-07-15T05:49:44.281711",{"slug":1264,"name":1264,"fn":1265,"description":1266,"org":1267,"tags":1268,"stars":27,"repoUrl":28,"updatedAt":1272},"addresszen-automation","automate Addresszen address validation","Automate Addresszen tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1269,1270,1271],{"name":16,"slug":17,"type":14},{"name":9,"slug":8,"type":14},{"name":22,"slug":23,"type":14},"2026-07-15T05:47:51.742515",{"slug":1274,"name":1274,"fn":1275,"description":1276,"org":1277,"tags":1278,"stars":27,"repoUrl":28,"updatedAt":1282},"adobe-automation","automate Adobe tasks via Composio","Automate Adobe tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1279,1280,1281],{"name":16,"slug":17,"type":14},{"name":9,"slug":8,"type":14},{"name":22,"slug":23,"type":14},"2026-07-15T05:45:05.303254",863,{"items":1285,"total":1329},[1286,1293,1300,1305,1311,1317,1322],{"slug":1141,"name":1142,"fn":1143,"description":1144,"org":1287,"tags":1288,"stars":27,"repoUrl":28,"updatedAt":1153},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1289,1290,1291,1292],{"name":16,"slug":17,"type":14},{"name":9,"slug":8,"type":14},{"name":22,"slug":23,"type":14},{"name":1151,"slug":1152,"type":14},{"slug":1155,"name":1156,"fn":1157,"description":1158,"org":1294,"tags":1295,"stars":27,"repoUrl":28,"updatedAt":1169},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1296,1297,1298,1299],{"name":16,"slug":17,"type":14},{"name":1163,"slug":1164,"type":14},{"name":22,"slug":23,"type":14},{"name":1167,"slug":1168,"type":14},{"slug":1171,"name":1171,"fn":1172,"description":1173,"org":1301,"tags":1302,"stars":27,"repoUrl":28,"updatedAt":1178},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1303,1304],{"name":16,"slug":17,"type":14},{"name":22,"slug":23,"type":14},{"slug":1180,"name":1180,"fn":1181,"description":1182,"org":1306,"tags":1307,"stars":27,"repoUrl":28,"updatedAt":1188},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1308,1309,1310],{"name":16,"slug":17,"type":14},{"name":9,"slug":8,"type":14},{"name":22,"slug":23,"type":14},{"slug":1190,"name":1190,"fn":1191,"description":1192,"org":1312,"tags":1313,"stars":27,"repoUrl":28,"updatedAt":1200},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1314,1315,1316],{"name":16,"slug":17,"type":14},{"name":22,"slug":23,"type":14},{"name":1198,"slug":1199,"type":14},{"slug":1202,"name":1202,"fn":1203,"description":1204,"org":1318,"tags":1319,"stars":27,"repoUrl":28,"updatedAt":1209},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1320,1321],{"name":16,"slug":17,"type":14},{"name":9,"slug":8,"type":14},{"slug":1211,"name":1211,"fn":1212,"description":1213,"org":1323,"tags":1324,"stars":27,"repoUrl":28,"updatedAt":1222},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1325,1326,1327,1328],{"name":16,"slug":17,"type":14},{"name":9,"slug":8,"type":14},{"name":1219,"slug":1220,"type":14},{"name":22,"slug":23,"type":14},860]