{
  "service": "tencent_maps",
  "displayName": "Tencent Maps",
  "categories": [
    "Location"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "TENCENT_MAPS_API_KEY",
      "description": "Tencent Maps API key sent as the key query parameter. Create or manage a key in the official console: https://lbs.qq.com/dev/console/key/manage."
    }
  ],
  "homepageUrl": "https://lbs.qq.com",
  "actions": [
    {
      "id": "tencent_maps.distance_matrix",
      "service": "tencent_maps",
      "name": "distance_matrix",
      "description": "Calculate a Tencent Maps distance matrix.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters for distance matrix lookup."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "The distance matrix response."
      }
    },
    {
      "id": "tencent_maps.district_search",
      "service": "tencent_maps",
      "name": "district_search",
      "description": "Search Tencent Maps administrative districts.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "list",
              "children",
              "search"
            ],
            "description": "The Tencent Maps district endpoint variant."
          }
        },
        "additionalProperties": true,
        "description": "Input parameters for district search."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "dataVersion": {
            "type": "integer",
            "description": "The Tencent Maps district data version."
          },
          "result": {
            "type": "array",
            "items": {
              "description": "One district result item."
            }
          }
        },
        "additionalProperties": false,
        "required": [
          "result"
        ],
        "description": "The district search response."
      }
    },
    {
      "id": "tencent_maps.geocode",
      "service": "tencent_maps",
      "name": "geocode",
      "description": "Geocode an address with Tencent Maps.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "minLength": 1,
            "description": "The address to geocode."
          },
          "policy": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1,
            "description": "The Tencent Maps geocoding policy."
          }
        },
        "additionalProperties": false,
        "required": [
          "address"
        ],
        "description": "Input parameters for geocoding an address."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "geocodes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The point of interest identifier."
                },
                "name": {
                  "type": "string",
                  "description": "The point of interest name."
                },
                "address": {
                  "type": "string",
                  "description": "The formatted address."
                },
                "category": {
                  "type": "string",
                  "description": "The point of interest category."
                },
                "location": {
                  "type": "string",
                  "description": "The coordinate string formatted as latitude,longitude."
                }
              },
              "additionalProperties": true,
              "description": "A normalized point of interest record."
            }
          }
        },
        "additionalProperties": false,
        "description": "The geocoding response."
      }
    },
    {
      "id": "tencent_maps.get_place_detail",
      "service": "tencent_maps",
      "name": "get_place_detail",
      "description": "Get details for one Tencent Maps place identifier.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Tencent Maps place identifier."
          }
        },
        "additionalProperties": true,
        "description": "Input parameters for place detail."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "pois": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The point of interest identifier."
                },
                "name": {
                  "type": "string",
                  "description": "The point of interest name."
                },
                "address": {
                  "type": "string",
                  "description": "The formatted address."
                },
                "category": {
                  "type": "string",
                  "description": "The point of interest category."
                },
                "location": {
                  "type": "string",
                  "description": "The coordinate string formatted as latitude,longitude."
                }
              },
              "additionalProperties": true,
              "description": "A normalized point of interest record."
            }
          }
        },
        "additionalProperties": false,
        "description": "The place detail response."
      }
    },
    {
      "id": "tencent_maps.input_tips",
      "service": "tencent_maps",
      "name": "input_tips",
      "description": "Fetch Tencent Maps input suggestions.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "keywords": {
            "type": "string",
            "minLength": 1,
            "description": "The keyword used to fetch input tips."
          }
        },
        "additionalProperties": true,
        "description": "Input parameters for fetching input tips."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The total number of tips returned."
          },
          "tips": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The point of interest identifier."
                },
                "name": {
                  "type": "string",
                  "description": "The point of interest name."
                },
                "address": {
                  "type": "string",
                  "description": "The formatted address."
                },
                "category": {
                  "type": "string",
                  "description": "The point of interest category."
                },
                "location": {
                  "type": "string",
                  "description": "The coordinate string formatted as latitude,longitude."
                }
              },
              "additionalProperties": true,
              "description": "A normalized point of interest record."
            }
          }
        },
        "additionalProperties": false,
        "required": [
          "tips"
        ],
        "description": "The input tips response."
      }
    },
    {
      "id": "tencent_maps.ip_locate",
      "service": "tencent_maps",
      "name": "ip_locate",
      "description": "Locate an IP address with Tencent Maps.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ip": {
            "type": "string",
            "description": "The IP address to locate."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for IP geolocation."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ip": {
            "type": "string",
            "description": "The IP address used by Tencent Maps."
          },
          "location": {
            "type": "string",
            "description": "The coordinate string formatted as latitude,longitude."
          },
          "adInfo": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw object returned by Tencent Maps."
          }
        },
        "additionalProperties": false,
        "description": "The IP location response."
      }
    },
    {
      "id": "tencent_maps.reverse_geocode",
      "service": "tencent_maps",
      "name": "reverse_geocode",
      "description": "Reverse geocode coordinates with Tencent Maps.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string",
            "minLength": 1,
            "description": "The coordinate string formatted as latitude,longitude."
          },
          "radius": {
            "type": "integer",
            "description": "The administrative boundary absorb radius in meters."
          },
          "getPoi": {
            "type": "boolean",
            "description": "Whether to return nearby points of interest."
          },
          "poiOptions": {
            "type": "string",
            "description": "The Tencent Maps poi_options value."
          }
        },
        "additionalProperties": false,
        "required": [
          "location"
        ],
        "description": "Input parameters for reverse geocoding."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "formattedAddress": {
            "type": "string",
            "description": "The formatted address."
          },
          "formattedAddresses": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw object returned by Tencent Maps."
          },
          "addressComponent": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw object returned by Tencent Maps."
          },
          "adInfo": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw object returned by Tencent Maps."
          },
          "pois": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The point of interest identifier."
                },
                "name": {
                  "type": "string",
                  "description": "The point of interest name."
                },
                "address": {
                  "type": "string",
                  "description": "The formatted address."
                },
                "category": {
                  "type": "string",
                  "description": "The point of interest category."
                },
                "location": {
                  "type": "string",
                  "description": "The coordinate string formatted as latitude,longitude."
                }
              },
              "additionalProperties": true,
              "description": "A normalized point of interest record."
            }
          }
        },
        "additionalProperties": false,
        "required": [
          "pois"
        ],
        "description": "The reverse geocode response."
      }
    },
    {
      "id": "tencent_maps.route_bicycling",
      "service": "tencent_maps",
      "name": "route_bicycling",
      "description": "Plan a Tencent Maps bicycling route.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters for bicycling routing."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "The route response."
      }
    },
    {
      "id": "tencent_maps.route_driving",
      "service": "tencent_maps",
      "name": "route_driving",
      "description": "Plan a Tencent Maps driving route.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters for driving routing."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "The route response."
      }
    },
    {
      "id": "tencent_maps.route_transit",
      "service": "tencent_maps",
      "name": "route_transit",
      "description": "Plan a Tencent Maps transit route.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters for transit routing."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "The route response."
      }
    },
    {
      "id": "tencent_maps.route_walking",
      "service": "tencent_maps",
      "name": "route_walking",
      "description": "Plan a Tencent Maps walking route.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters for walking routing."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "The route response."
      }
    },
    {
      "id": "tencent_maps.search_places",
      "service": "tencent_maps",
      "name": "search_places",
      "description": "Search Tencent Maps places in a region.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "keywords": {
            "type": "string",
            "minLength": 1,
            "description": "The keyword used to search places."
          },
          "region": {
            "type": "string",
            "minLength": 1,
            "description": "The region name or adcode used for region search."
          }
        },
        "additionalProperties": true,
        "description": "Input parameters for searching places in a region."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The total number of matching places."
          },
          "pois": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The point of interest identifier."
                },
                "name": {
                  "type": "string",
                  "description": "The point of interest name."
                },
                "address": {
                  "type": "string",
                  "description": "The formatted address."
                },
                "category": {
                  "type": "string",
                  "description": "The point of interest category."
                },
                "location": {
                  "type": "string",
                  "description": "The coordinate string formatted as latitude,longitude."
                }
              },
              "additionalProperties": true,
              "description": "A normalized point of interest record."
            }
          },
          "clusters": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw object returned by Tencent Maps."
            }
          }
        },
        "additionalProperties": false,
        "required": [
          "pois"
        ],
        "description": "The normalized place search response."
      }
    },
    {
      "id": "tencent_maps.search_places_around",
      "service": "tencent_maps",
      "name": "search_places_around",
      "description": "Search Tencent Maps places around a coordinate.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string",
            "minLength": 1,
            "description": "The search center formatted as latitude,longitude."
          },
          "keywords": {
            "type": "string",
            "minLength": 1,
            "description": "The keyword used to search places."
          }
        },
        "additionalProperties": true,
        "description": "Input parameters for searching places around a location."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The total number of matching places."
          },
          "pois": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The point of interest identifier."
                },
                "name": {
                  "type": "string",
                  "description": "The point of interest name."
                },
                "address": {
                  "type": "string",
                  "description": "The formatted address."
                },
                "category": {
                  "type": "string",
                  "description": "The point of interest category."
                },
                "location": {
                  "type": "string",
                  "description": "The coordinate string formatted as latitude,longitude."
                }
              },
              "additionalProperties": true,
              "description": "A normalized point of interest record."
            }
          },
          "clusters": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw object returned by Tencent Maps."
            }
          }
        },
        "additionalProperties": false,
        "required": [
          "pois"
        ],
        "description": "The normalized nearby place search response."
      }
    },
    {
      "id": "tencent_maps.search_places_polygon",
      "service": "tencent_maps",
      "name": "search_places_polygon",
      "description": "Search Tencent Maps places inside a polygon.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "polygon": {
            "type": "string",
            "minLength": 1,
            "description": "The polygon boundary string."
          },
          "keywords": {
            "type": "string",
            "minLength": 1,
            "description": "The keyword used to search places."
          }
        },
        "additionalProperties": true,
        "description": "Input parameters for searching places inside a polygon."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The total number of matching places."
          },
          "pois": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The point of interest identifier."
                },
                "name": {
                  "type": "string",
                  "description": "The point of interest name."
                },
                "address": {
                  "type": "string",
                  "description": "The formatted address."
                },
                "category": {
                  "type": "string",
                  "description": "The point of interest category."
                },
                "location": {
                  "type": "string",
                  "description": "The coordinate string formatted as latitude,longitude."
                }
              },
              "additionalProperties": true,
              "description": "A normalized point of interest record."
            }
          },
          "clusters": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw object returned by Tencent Maps."
            }
          }
        },
        "additionalProperties": false,
        "required": [
          "pois"
        ],
        "description": "The normalized polygon place search response."
      }
    },
    {
      "id": "tencent_maps.weather",
      "service": "tencent_maps",
      "name": "weather",
      "description": "Fetch Tencent Maps weather by adcode or coordinate.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters for weather lookup."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "realtime": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw object returned by Tencent Maps."
            }
          },
          "forecast": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw object returned by Tencent Maps."
            }
          },
          "forecastHours": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw object returned by Tencent Maps."
            }
          }
        },
        "additionalProperties": false,
        "description": "The weather response."
      }
    }
  ]
}
