naftiko: 1.0.0-alpha2 info: label: Microsoft Azure Azure Maps Search Service — Search description: 'Microsoft Azure Azure Maps Search Service — Search. 15 operations. Lead operation: Microsoft Azure Post Search Address Batch Format. Self-contained Naftiko capability covering one Microsoft Azure business surface.' tags: - Microsoft Azure - Search created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MICROSOFT_AZURE_API_KEY: MICROSOFT_AZURE_API_KEY capability: consumes: - type: http namespace: azure-maps-search-service-search baseUri: https://atlas.microsoft.com description: Microsoft Azure Azure Maps Search Service — Search business capability. Self-contained, no shared references. resources: - name: search-address-batch-format path: /search/address/batch/{format} operations: - name: microsoftazuresearchpostsearchaddressbatch method: POST description: Microsoft Azure Post Search Address Batch Format outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: searchAddressBatchRequestBody in: body type: string description: The list of address geocoding queries/requests to process. The list can contain a max of 10,000 queries and must contain at least 1 query. required: true - name: search-address-reverse-batch-format path: /search/address/reverse/batch/{format} operations: - name: microsoftazuresearchpostsearchaddressreversebatch method: POST description: Microsoft Azure Post Search Address Reverse Batch Format outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: searchAddressReverseBatchRequestBody in: body type: string description: The list of reverse geocoding queries/requests to process. The list can contain a max of 10,000 queries and must contain at least 1 query. required: true - name: search-address-reverse-crossStreet-format path: /search/address/reverse/crossStreet/{format} operations: - name: microsoftazuresearchgetsearchaddressreversecrossstreet method: GET description: Microsoft Azure Get Search Address Reverse Crossstreet Format outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: heading in: query type: number description: The directional heading of the vehicle in degrees, for travel along a segment of roadway. 0 is North, 90 is East and so on, values range from -360 to 360. The p - name: search-address-reverse-format path: /search/address/reverse/{format} operations: - name: microsoftazuresearchgetsearchaddressreverse method: GET description: Microsoft Azure Get Search Address Reverse Format outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: returnSpeedLimit in: query type: boolean description: Boolean. To enable return of the posted speed limit - name: heading in: query type: number description: The directional heading of the vehicle in degrees, for travel along a segment of roadway. 0 is North, 90 is East and so on, values range from -360 to 360. The p - name: number in: query type: string description: If a number is sent in along with the request, the response may include the side of the street (Left/Right) and also an offset position for that number - name: returnRoadUse in: query type: boolean description: Boolean. To enable return of the road use array for reverse geocodes at street level - name: roadUse in: query type: string description: To restrict reverse geocodes to a certain type of road use. The road use array for reverse geocodes can be one or more of LimitedAccess, Arterial, Terminal, Ram - name: allowFreeformNewline in: query type: boolean description: Format of newlines in the formatted address. - name: returnMatchType in: query type: boolean description: Include information on the type of match the geocoder achieved in the response. - name: entityType in: query type: string description: Specifies the level of filtering performed on geographies. Narrows the search for specified geography entity types, e.g. return only municipality. The resulting - name: search-address-structured-format path: /search/address/structured/{format} operations: - name: microsoftazuresearchgetsearchaddressstructured method: GET description: Microsoft Azure Get Search Address Structured Format outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: countryCode in: query type: string description: The 2 or 3 letter [ISO3166-1](https://www.iso.org/iso-3166-country-codes.html) country code portion of an address. E.g. US. required: true - name: streetNumber in: query type: string description: The street number portion of an address - name: streetName in: query type: string description: The street name portion of an address - name: crossStreet in: query type: string description: The cross street name for the structured address - name: municipality in: query type: string description: The municipality portion of an address - name: municipalitySubdivision in: query type: string description: The municipality subdivision (sub/super city) for the structured address - name: countryTertiarySubdivision in: query type: string description: The named area for the structured address - name: countrySecondarySubdivision in: query type: string description: The county for the structured address - name: countrySubdivision in: query type: string description: The country subdivision portion of an address - name: postalCode in: query type: string description: The postal code portion of an address - name: search-address-format path: /search/address/{format} operations: - name: microsoftazuresearchgetsearchaddress method: GET description: Microsoft Azure Get Search Address Format outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: query in: query type: string description: The address to search for (e.g., "1 Microsoft way, Redmond, WA"), must be properly URL encoded. required: true - name: search-alongRoute-format path: /search/alongRoute/{format} operations: - name: microsoftazuresearchpostsearchalongroute method: POST description: Microsoft Azure Post Search Alongroute Format outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: maxDetourTime in: query type: integer description: Maximum detour time of the point of interest in seconds. Max value is 3600 seconds required: true - name: limit in: query type: integer description: Maximum number of responses that will be returned. Default value is 10. Max value is 20 - name: searchAlongRouteRequestBody in: body type: string description: This represents the route to search along and should be a valid `GeoJSON LineString` type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#sectio required: true - name: search-fuzzy-batch-format path: /search/fuzzy/batch/{format} operations: - name: microsoftazuresearchpostsearchfuzzybatch method: POST description: Microsoft Azure Post Search Fuzzy Batch Format outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: searchFuzzyBatchRequestBody in: body type: string description: The list of search fuzzy queries/requests to process. The list can contain a max of 10,000 queries and must contain at least 1 query. required: true - name: search-fuzzy-format path: /search/fuzzy/{format} operations: - name: microsoftazuresearchgetsearchfuzzy method: GET description: Microsoft Azure Get Search Fuzzy Format outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: query in: query type: string description: The applicable query string (e.g., "seattle", "pizza"). Can _also_ be specified as a comma separated string composed by latitude followed by longitude (e.g., "4 required: true - name: minFuzzyLevel in: query type: integer description: 'Minimum fuzziness level to be used. Default: 1, minimum: 1 and maximum: 4' - name: maxFuzzyLevel in: query type: integer description: 'Maximum fuzziness level to be used. Default: 2, minimum: 1 and maximum: 4' - name: search-geometry-format path: /search/geometry/{format} operations: - name: microsoftazuresearchpostsearchinsidegeometry method: POST description: Microsoft Azure Post Search Geometry Format outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: searchInsideGeometryRequestBody in: body type: string description: This represents the geometry for one or more geographical features (parks, state boundary etc.) to search in and should be a GeoJSON compliant type. Please refe required: true - name: search-nearby-format path: /search/nearby/{format} operations: - name: microsoftazuresearchgetsearchnearby method: GET description: Microsoft Azure Get Search Nearby Format outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: radius in: query type: number description: The radius in meters to for the results to be constrained to the defined area, Min value is 1, Max Value is 50000. - name: search-poi-category-tree-format path: /search/poi/category/tree/{format} operations: - name: microsoftazuresearchgetsearchpoicategorytreepreview method: GET description: Microsoft Azure Get Search Poi Category Tree Format outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: language in: query type: string description: Language in which search results should be returned. Should be one of supported IETF language tags, except NGT and NGT-Latn. Language tag is case insensitive. W - name: search-poi-category-format path: /search/poi/category/{format} operations: - name: microsoftazuresearchgetsearchpoicategory method: GET description: Microsoft Azure Get Search Poi Category Format outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: query in: query type: string description: 'The POI category to search for (e.g., "AIRPORT", "RESTAURANT"), must be properly URL encoded. Supported main categories can be requested by calling [Get Search ' required: true - name: search-poi-format path: /search/poi/{format} operations: - name: microsoftazuresearchgetsearchpoi method: GET description: Microsoft Azure Get Search Poi Format outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: query in: query type: string description: The POI name to search for (e.g., "statue of liberty", "starbucks"), must be properly URL encoded. required: true - name: search-polygon-format path: /search/polygon/{format} operations: - name: microsoftazuresearchgetsearchpolygon method: GET description: Microsoft Azure Get Search Polygon Format outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: geometries in: query type: string description: Comma separated list of geometry UUIDs, previously retrieved from an Online Search request. required: true exposes: - type: rest namespace: azure-maps-search-service-search-rest port: 8080 description: REST adapter for Microsoft Azure Azure Maps Search Service — Search. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/search/address/batch/{format} name: search-address-batch-format description: REST surface for search-address-batch-format. operations: - method: POST name: microsoftazuresearchpostsearchaddressbatch description: Microsoft Azure Post Search Address Batch Format call: azure-maps-search-service-search.microsoftazuresearchpostsearchaddressbatch with: searchAddressBatchRequestBody: rest.searchAddressBatchRequestBody outputParameters: - type: object mapping: $. - path: /v1/search/address/reverse/batch/{format} name: search-address-reverse-batch-format description: REST surface for search-address-reverse-batch-format. operations: - method: POST name: microsoftazuresearchpostsearchaddressreversebatch description: Microsoft Azure Post Search Address Reverse Batch Format call: azure-maps-search-service-search.microsoftazuresearchpostsearchaddressreversebatch with: searchAddressReverseBatchRequestBody: rest.searchAddressReverseBatchRequestBody outputParameters: - type: object mapping: $. - path: /v1/search/address/reverse/crossstreet/{format} name: search-address-reverse-crossstreet-format description: REST surface for search-address-reverse-crossStreet-format. operations: - method: GET name: microsoftazuresearchgetsearchaddressreversecrossstreet description: Microsoft Azure Get Search Address Reverse Crossstreet Format call: azure-maps-search-service-search.microsoftazuresearchgetsearchaddressreversecrossstreet with: heading: rest.heading outputParameters: - type: object mapping: $. - path: /v1/search/address/reverse/{format} name: search-address-reverse-format description: REST surface for search-address-reverse-format. operations: - method: GET name: microsoftazuresearchgetsearchaddressreverse description: Microsoft Azure Get Search Address Reverse Format call: azure-maps-search-service-search.microsoftazuresearchgetsearchaddressreverse with: returnSpeedLimit: rest.returnSpeedLimit heading: rest.heading number: rest.number returnRoadUse: rest.returnRoadUse roadUse: rest.roadUse allowFreeformNewline: rest.allowFreeformNewline returnMatchType: rest.returnMatchType entityType: rest.entityType outputParameters: - type: object mapping: $. - path: /v1/search/address/structured/{format} name: search-address-structured-format description: REST surface for search-address-structured-format. operations: - method: GET name: microsoftazuresearchgetsearchaddressstructured description: Microsoft Azure Get Search Address Structured Format call: azure-maps-search-service-search.microsoftazuresearchgetsearchaddressstructured with: countryCode: rest.countryCode streetNumber: rest.streetNumber streetName: rest.streetName crossStreet: rest.crossStreet municipality: rest.municipality municipalitySubdivision: rest.municipalitySubdivision countryTertiarySubdivision: rest.countryTertiarySubdivision countrySecondarySubdivision: rest.countrySecondarySubdivision countrySubdivision: rest.countrySubdivision postalCode: rest.postalCode outputParameters: - type: object mapping: $. - path: /v1/search/address/{format} name: search-address-format description: REST surface for search-address-format. operations: - method: GET name: microsoftazuresearchgetsearchaddress description: Microsoft Azure Get Search Address Format call: azure-maps-search-service-search.microsoftazuresearchgetsearchaddress with: query: rest.query outputParameters: - type: object mapping: $. - path: /v1/search/alongroute/{format} name: search-alongroute-format description: REST surface for search-alongRoute-format. operations: - method: POST name: microsoftazuresearchpostsearchalongroute description: Microsoft Azure Post Search Alongroute Format call: azure-maps-search-service-search.microsoftazuresearchpostsearchalongroute with: maxDetourTime: rest.maxDetourTime limit: rest.limit searchAlongRouteRequestBody: rest.searchAlongRouteRequestBody outputParameters: - type: object mapping: $. - path: /v1/search/fuzzy/batch/{format} name: search-fuzzy-batch-format description: REST surface for search-fuzzy-batch-format. operations: - method: POST name: microsoftazuresearchpostsearchfuzzybatch description: Microsoft Azure Post Search Fuzzy Batch Format call: azure-maps-search-service-search.microsoftazuresearchpostsearchfuzzybatch with: searchFuzzyBatchRequestBody: rest.searchFuzzyBatchRequestBody outputParameters: - type: object mapping: $. - path: /v1/search/fuzzy/{format} name: search-fuzzy-format description: REST surface for search-fuzzy-format. operations: - method: GET name: microsoftazuresearchgetsearchfuzzy description: Microsoft Azure Get Search Fuzzy Format call: azure-maps-search-service-search.microsoftazuresearchgetsearchfuzzy with: query: rest.query minFuzzyLevel: rest.minFuzzyLevel maxFuzzyLevel: rest.maxFuzzyLevel outputParameters: - type: object mapping: $. - path: /v1/search/geometry/{format} name: search-geometry-format description: REST surface for search-geometry-format. operations: - method: POST name: microsoftazuresearchpostsearchinsidegeometry description: Microsoft Azure Post Search Geometry Format call: azure-maps-search-service-search.microsoftazuresearchpostsearchinsidegeometry with: searchInsideGeometryRequestBody: rest.searchInsideGeometryRequestBody outputParameters: - type: object mapping: $. - path: /v1/search/nearby/{format} name: search-nearby-format description: REST surface for search-nearby-format. operations: - method: GET name: microsoftazuresearchgetsearchnearby description: Microsoft Azure Get Search Nearby Format call: azure-maps-search-service-search.microsoftazuresearchgetsearchnearby with: radius: rest.radius outputParameters: - type: object mapping: $. - path: /v1/search/poi/category/tree/{format} name: search-poi-category-tree-format description: REST surface for search-poi-category-tree-format. operations: - method: GET name: microsoftazuresearchgetsearchpoicategorytreepreview description: Microsoft Azure Get Search Poi Category Tree Format call: azure-maps-search-service-search.microsoftazuresearchgetsearchpoicategorytreepreview with: language: rest.language outputParameters: - type: object mapping: $. - path: /v1/search/poi/category/{format} name: search-poi-category-format description: REST surface for search-poi-category-format. operations: - method: GET name: microsoftazuresearchgetsearchpoicategory description: Microsoft Azure Get Search Poi Category Format call: azure-maps-search-service-search.microsoftazuresearchgetsearchpoicategory with: query: rest.query outputParameters: - type: object mapping: $. - path: /v1/search/poi/{format} name: search-poi-format description: REST surface for search-poi-format. operations: - method: GET name: microsoftazuresearchgetsearchpoi description: Microsoft Azure Get Search Poi Format call: azure-maps-search-service-search.microsoftazuresearchgetsearchpoi with: query: rest.query outputParameters: - type: object mapping: $. - path: /v1/search/polygon/{format} name: search-polygon-format description: REST surface for search-polygon-format. operations: - method: GET name: microsoftazuresearchgetsearchpolygon description: Microsoft Azure Get Search Polygon Format call: azure-maps-search-service-search.microsoftazuresearchgetsearchpolygon with: geometries: rest.geometries outputParameters: - type: object mapping: $. - type: mcp namespace: azure-maps-search-service-search-mcp port: 9090 transport: http description: MCP adapter for Microsoft Azure Azure Maps Search Service — Search. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-azure-post-search-address description: Microsoft Azure Post Search Address Batch Format hints: readOnly: true destructive: false idempotent: false call: azure-maps-search-service-search.microsoftazuresearchpostsearchaddressbatch with: searchAddressBatchRequestBody: tools.searchAddressBatchRequestBody outputParameters: - type: object mapping: $. - name: microsoft-azure-post-search-address-2 description: Microsoft Azure Post Search Address Reverse Batch Format hints: readOnly: true destructive: false idempotent: false call: azure-maps-search-service-search.microsoftazuresearchpostsearchaddressreversebatch with: searchAddressReverseBatchRequestBody: tools.searchAddressReverseBatchRequestBody outputParameters: - type: object mapping: $. - name: microsoft-azure-get-search-address description: Microsoft Azure Get Search Address Reverse Crossstreet Format hints: readOnly: true destructive: false idempotent: true call: azure-maps-search-service-search.microsoftazuresearchgetsearchaddressreversecrossstreet with: heading: tools.heading outputParameters: - type: object mapping: $. - name: microsoft-azure-get-search-address-2 description: Microsoft Azure Get Search Address Reverse Format hints: readOnly: true destructive: false idempotent: true call: azure-maps-search-service-search.microsoftazuresearchgetsearchaddressreverse with: returnSpeedLimit: tools.returnSpeedLimit heading: tools.heading number: tools.number returnRoadUse: tools.returnRoadUse roadUse: tools.roadUse allowFreeformNewline: tools.allowFreeformNewline returnMatchType: tools.returnMatchType entityType: tools.entityType outputParameters: - type: object mapping: $. - name: microsoft-azure-get-search-address-3 description: Microsoft Azure Get Search Address Structured Format hints: readOnly: true destructive: false idempotent: true call: azure-maps-search-service-search.microsoftazuresearchgetsearchaddressstructured with: countryCode: tools.countryCode streetNumber: tools.streetNumber streetName: tools.streetName crossStreet: tools.crossStreet municipality: tools.municipality municipalitySubdivision: tools.municipalitySubdivision countryTertiarySubdivision: tools.countryTertiarySubdivision countrySecondarySubdivision: tools.countrySecondarySubdivision countrySubdivision: tools.countrySubdivision postalCode: tools.postalCode outputParameters: - type: object mapping: $. - name: microsoft-azure-get-search-address-4 description: Microsoft Azure Get Search Address Format hints: readOnly: true destructive: false idempotent: true call: azure-maps-search-service-search.microsoftazuresearchgetsearchaddress with: query: tools.query outputParameters: - type: object mapping: $. - name: microsoft-azure-post-search-alongroute description: Microsoft Azure Post Search Alongroute Format hints: readOnly: true destructive: false idempotent: false call: azure-maps-search-service-search.microsoftazuresearchpostsearchalongroute with: maxDetourTime: tools.maxDetourTime limit: tools.limit searchAlongRouteRequestBody: tools.searchAlongRouteRequestBody outputParameters: - type: object mapping: $. - name: microsoft-azure-post-search-fuzzy description: Microsoft Azure Post Search Fuzzy Batch Format hints: readOnly: true destructive: false idempotent: false call: azure-maps-search-service-search.microsoftazuresearchpostsearchfuzzybatch with: searchFuzzyBatchRequestBody: tools.searchFuzzyBatchRequestBody outputParameters: - type: object mapping: $. - name: microsoft-azure-get-search-fuzzy description: Microsoft Azure Get Search Fuzzy Format hints: readOnly: true destructive: false idempotent: true call: azure-maps-search-service-search.microsoftazuresearchgetsearchfuzzy with: query: tools.query minFuzzyLevel: tools.minFuzzyLevel maxFuzzyLevel: tools.maxFuzzyLevel outputParameters: - type: object mapping: $. - name: microsoft-azure-post-search-geometry description: Microsoft Azure Post Search Geometry Format hints: readOnly: true destructive: false idempotent: false call: azure-maps-search-service-search.microsoftazuresearchpostsearchinsidegeometry with: searchInsideGeometryRequestBody: tools.searchInsideGeometryRequestBody outputParameters: - type: object mapping: $. - name: microsoft-azure-get-search-nearby description: Microsoft Azure Get Search Nearby Format hints: readOnly: true destructive: false idempotent: true call: azure-maps-search-service-search.microsoftazuresearchgetsearchnearby with: radius: tools.radius outputParameters: - type: object mapping: $. - name: microsoft-azure-get-search-poi description: Microsoft Azure Get Search Poi Category Tree Format hints: readOnly: true destructive: false idempotent: true call: azure-maps-search-service-search.microsoftazuresearchgetsearchpoicategorytreepreview with: language: tools.language outputParameters: - type: object mapping: $. - name: microsoft-azure-get-search-poi-2 description: Microsoft Azure Get Search Poi Category Format hints: readOnly: true destructive: false idempotent: true call: azure-maps-search-service-search.microsoftazuresearchgetsearchpoicategory with: query: tools.query outputParameters: - type: object mapping: $. - name: microsoft-azure-get-search-poi-3 description: Microsoft Azure Get Search Poi Format hints: readOnly: true destructive: false idempotent: true call: azure-maps-search-service-search.microsoftazuresearchgetsearchpoi with: query: tools.query outputParameters: - type: object mapping: $. - name: microsoft-azure-get-search-polygon description: Microsoft Azure Get Search Polygon Format hints: readOnly: true destructive: false idempotent: true call: azure-maps-search-service-search.microsoftazuresearchgetsearchpolygon with: geometries: tools.geometries outputParameters: - type: object mapping: $.