Microsoft Azure · Capability
Microsoft Azure Azure Maps Spatial Service — Spatial
Microsoft Azure Azure Maps Spatial Service — Spatial. 9 operations. Lead operation: Microsoft Azure Post Spatial Buffer Format. Self-contained Naftiko capability covering one Microsoft Azure business surface.
What You Can Do
POST
Microsoftazurespatialpostbuffer
— Microsoft Azure Post Spatial Buffer Format
/v1/spatial/buffer/{format}
GET
Microsoftazurespatialgetbuffer
— Microsoft Azure Get Spatial Buffer Format
/v1/spatial/buffer/{format}
POST
Microsoftazurespatialpostclosestpoint
— Microsoft Azure Post Spatial Closestpoint Format
/v1/spatial/closestpoint/{format}
GET
Microsoftazurespatialgetclosestpoint
— Microsoft Azure Get Spatial Closestpoint Format
/v1/spatial/closestpoint/{format}
GET
Microsoftazurespatialgetgeofence
— Microsoft Azure Get Spatial Geofence Format
/v1/spatial/geofence/{format}
POST
Microsoftazurespatialpostgeofence
— Microsoft Azure Post Spatial Geofence Format
/v1/spatial/geofence/{format}
GET
Microsoftazurespatialgetgreatcircledistance
— Microsoft Azure Get Spatial Greatcircledistance Format
/v1/spatial/greatcircledistance/{format}
POST
Microsoftazurespatialpostpointinpolygon
— Microsoft Azure Post Spatial Pointinpolygon Format
/v1/spatial/pointinpolygon/{format}
GET
Microsoftazurespatialgetpointinpolygon
— Microsoft Azure Get Spatial Pointinpolygon Format
/v1/spatial/pointinpolygon/{format}
MCP Tools
microsoft-azure-post-spatial-buffer
Microsoft Azure Post Spatial Buffer Format
microsoft-azure-get-spatial-buffer
Microsoft Azure Get Spatial Buffer Format
read-only
idempotent
microsoft-azure-post-spatial-closestpoint
Microsoft Azure Post Spatial Closestpoint Format
microsoft-azure-get-spatial-closestpoint
Microsoft Azure Get Spatial Closestpoint Format
read-only
idempotent
microsoft-azure-get-spatial-geofence
Microsoft Azure Get Spatial Geofence Format
read-only
idempotent
microsoft-azure-post-spatial-geofence
Microsoft Azure Post Spatial Geofence Format
microsoft-azure-get-spatial-greatcircledistance
Microsoft Azure Get Spatial Greatcircledistance Format
read-only
idempotent
microsoft-azure-post-spatial-pointinpolygon
Microsoft Azure Post Spatial Pointinpolygon Format
microsoft-azure-get-spatial-pointinpolygon
Microsoft Azure Get Spatial Pointinpolygon Format
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Microsoft Azure Azure Maps Spatial Service — Spatial
description: 'Microsoft Azure Azure Maps Spatial Service — Spatial. 9 operations. Lead operation: Microsoft Azure Post Spatial
Buffer Format. Self-contained Naftiko capability covering one Microsoft Azure business surface.'
tags:
- Microsoft Azure
- Spatial
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-spatial-service-spatial
baseUri: https://atlas.microsoft.com
description: Microsoft Azure Azure Maps Spatial Service — Spatial business capability. Self-contained, no shared references.
resources:
- name: spatial-buffer-format
path: /spatial/buffer/{format}
operations:
- name: microsoftazurespatialpostbuffer
method: POST
description: Microsoft Azure Post Spatial Buffer Format
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: bufferRequestBody
in: body
type: string
description: The FeatureCollection and the list of distances (one per feature or one for all features).
required: true
- name: microsoftazurespatialgetbuffer
method: GET
description: Microsoft Azure Get Spatial Buffer Format
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: distances
in: query
type: string
description: The list of distances (one per feature or one for all features), delimited by semicolons. For example,
12.34;-56.78. Positive distance will generate a buffer ou
required: true
- name: spatial-closestPoint-format
path: /spatial/closestPoint/{format}
operations:
- name: microsoftazurespatialpostclosestpoint
method: POST
description: Microsoft Azure Post Spatial Closestpoint Format
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: lat
in: query
type: number
description: 'The base point latitude of the location being passed. Example: 47.622942.'
required: true
- name: lon
in: query
type: number
description: 'The base point longitude of the location being passed. Example: -122.316456.'
required: true
- name: numberOfClosestPoints
in: query
type: integer
description: 'The number of closest points expected from response. Default: 1, minimum: 1 and maximum: 50'
- name: closestPointRequestBody
in: body
type: string
description: The FeatureCollection of Point geometries from which closest point to source point should be determined.
All the feature's properties should contain `geometryId
required: true
- name: microsoftazurespatialgetclosestpoint
method: GET
description: Microsoft Azure Get Spatial Closestpoint Format
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: lat
in: query
type: number
description: 'The base point latitude of the location being passed. Example: 47.622942.'
required: true
- name: lon
in: query
type: number
description: 'The base point longitude of the location being passed. Example: -122.316456.'
required: true
- name: numberOfClosestPoints
in: query
type: integer
description: 'The number of closest points expected from response. Default: 1, minimum: 1 and maximum: 50'
- name: spatial-geofence-format
path: /spatial/geofence/{format}
operations:
- name: microsoftazurespatialgetgeofence
method: GET
description: Microsoft Azure Get Spatial Geofence Format
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: deviceId
in: query
type: string
description: ID of the device
required: true
- name: udId
in: query
type: string
description: The unique id returned from [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview)
after uploading a valid GeoJSON FeatureCollecti
required: true
- name: lat
in: query
type: number
description: 'The latitude of the location being passed. Example: 48.36.'
required: true
- name: lon
in: query
type: number
description: 'The longitude of the location being passed. Example: -124.63.'
required: true
- name: z
in: query
type: number
description: 'The sea level in meter of the location being passed. If this parameter is presented, 2D extrusion
is used. Example: 200.'
- name: userTime
in: query
type: string
description: The user request time. If not presented in the request, the default value is DateTime.Now.
- name: searchBuffer
in: query
type: number
description: The radius of the buffer around the geofence in meters that defines how far to search inside and outside
the border of the fence against the coordinate that was
- name: isAsync
in: query
type: boolean
description: If true, the request will use async event mechanism; if false, the request will be synchronized and
do not trigger any event. The default value is false.
- name: microsoftazurespatialpostgeofence
method: POST
description: Microsoft Azure Post Spatial Geofence Format
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: deviceId
in: query
type: string
description: ID of the device
required: true
- name: lat
in: query
type: number
description: 'The latitude of the location being passed. Example: 48.36.'
required: true
- name: lon
in: query
type: number
description: 'The longitude of the location being passed. Example: -124.63.'
required: true
- name: z
in: query
type: number
description: 'The sea level in meter of the location being passed. If this parameter is presented, 2D extrusion
geofencing is applied. Example: 200.'
- name: userTime
in: query
type: string
description: The user request time. If not presented in the request, the default value is DateTime.UtcNow.
- name: searchBuffer
in: query
type: number
description: The radius of the buffer around the geofence in meters that defines how far to search inside and outside
the border of the fence against the coordinate that was
- name: isAsync
in: query
type: boolean
description: If true, the request will use async event mechanism; if false, the request will be synchronized and
do not trigger any event. The default value is false.
- name: searchGeofenceRequestBody
in: body
type: string
description: The geofencing GeoJSON data.
required: true
- name: spatial-greatCircleDistance-format
path: /spatial/greatCircleDistance/{format}
operations:
- name: microsoftazurespatialgetgreatcircledistance
method: GET
description: Microsoft Azure Get Spatial Greatcircledistance Format
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: query
in: query
type: string
description: 'The Coordinates through which the distance is calculated, delimited by a colon. Two coordinates are
required. The first one is the source point coordinate and '
required: true
- name: spatial-pointInPolygon-format
path: /spatial/pointInPolygon/{format}
operations:
- name: microsoftazurespatialpostpointinpolygon
method: POST
description: Microsoft Azure Post Spatial Pointinpolygon Format
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: lat
in: query
type: number
description: 'The base point latitude of the location being passed. Example: 47.622942.'
required: true
- name: lon
in: query
type: number
description: 'The base point longitude of the location being passed. Example: -122.316456.'
required: true
- name: pointInPolygonRequestBody
in: body
type: string
description: A FeatureCollection with a set of Polygon/MultiPolygon geometries. The maximum number of vertices accepted
to form a Polygon is 10,000. All the feature's proper
required: true
- name: microsoftazurespatialgetpointinpolygon
method: GET
description: Microsoft Azure Get Spatial Pointinpolygon Format
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: lat
in: query
type: number
description: 'The base point latitude of the location being passed. Example: 47.622942.'
required: true
- name: lon
in: query
type: number
description: 'The base point longitude of the location being passed. Example: -122.316456.'
required: true
exposes:
- type: rest
namespace: azure-maps-spatial-service-spatial-rest
port: 8080
description: REST adapter for Microsoft Azure Azure Maps Spatial Service — Spatial. One Spectral-compliant resource per
consumed operation, prefixed with /v1.
resources:
- path: /v1/spatial/buffer/{format}
name: spatial-buffer-format
description: REST surface for spatial-buffer-format.
operations:
- method: POST
name: microsoftazurespatialpostbuffer
description: Microsoft Azure Post Spatial Buffer Format
call: azure-maps-spatial-service-spatial.microsoftazurespatialpostbuffer
with:
bufferRequestBody: rest.bufferRequestBody
outputParameters:
- type: object
mapping: $.
- method: GET
name: microsoftazurespatialgetbuffer
description: Microsoft Azure Get Spatial Buffer Format
call: azure-maps-spatial-service-spatial.microsoftazurespatialgetbuffer
with:
distances: rest.distances
outputParameters:
- type: object
mapping: $.
- path: /v1/spatial/closestpoint/{format}
name: spatial-closestpoint-format
description: REST surface for spatial-closestPoint-format.
operations:
- method: POST
name: microsoftazurespatialpostclosestpoint
description: Microsoft Azure Post Spatial Closestpoint Format
call: azure-maps-spatial-service-spatial.microsoftazurespatialpostclosestpoint
with:
lat: rest.lat
lon: rest.lon
numberOfClosestPoints: rest.numberOfClosestPoints
closestPointRequestBody: rest.closestPointRequestBody
outputParameters:
- type: object
mapping: $.
- method: GET
name: microsoftazurespatialgetclosestpoint
description: Microsoft Azure Get Spatial Closestpoint Format
call: azure-maps-spatial-service-spatial.microsoftazurespatialgetclosestpoint
with:
lat: rest.lat
lon: rest.lon
numberOfClosestPoints: rest.numberOfClosestPoints
outputParameters:
- type: object
mapping: $.
- path: /v1/spatial/geofence/{format}
name: spatial-geofence-format
description: REST surface for spatial-geofence-format.
operations:
- method: GET
name: microsoftazurespatialgetgeofence
description: Microsoft Azure Get Spatial Geofence Format
call: azure-maps-spatial-service-spatial.microsoftazurespatialgetgeofence
with:
deviceId: rest.deviceId
udId: rest.udId
lat: rest.lat
lon: rest.lon
z: rest.z
userTime: rest.userTime
searchBuffer: rest.searchBuffer
isAsync: rest.isAsync
outputParameters:
- type: object
mapping: $.
- method: POST
name: microsoftazurespatialpostgeofence
description: Microsoft Azure Post Spatial Geofence Format
call: azure-maps-spatial-service-spatial.microsoftazurespatialpostgeofence
with:
deviceId: rest.deviceId
lat: rest.lat
lon: rest.lon
z: rest.z
userTime: rest.userTime
searchBuffer: rest.searchBuffer
isAsync: rest.isAsync
searchGeofenceRequestBody: rest.searchGeofenceRequestBody
outputParameters:
- type: object
mapping: $.
- path: /v1/spatial/greatcircledistance/{format}
name: spatial-greatcircledistance-format
description: REST surface for spatial-greatCircleDistance-format.
operations:
- method: GET
name: microsoftazurespatialgetgreatcircledistance
description: Microsoft Azure Get Spatial Greatcircledistance Format
call: azure-maps-spatial-service-spatial.microsoftazurespatialgetgreatcircledistance
with:
query: rest.query
outputParameters:
- type: object
mapping: $.
- path: /v1/spatial/pointinpolygon/{format}
name: spatial-pointinpolygon-format
description: REST surface for spatial-pointInPolygon-format.
operations:
- method: POST
name: microsoftazurespatialpostpointinpolygon
description: Microsoft Azure Post Spatial Pointinpolygon Format
call: azure-maps-spatial-service-spatial.microsoftazurespatialpostpointinpolygon
with:
lat: rest.lat
lon: rest.lon
pointInPolygonRequestBody: rest.pointInPolygonRequestBody
outputParameters:
- type: object
mapping: $.
- method: GET
name: microsoftazurespatialgetpointinpolygon
description: Microsoft Azure Get Spatial Pointinpolygon Format
call: azure-maps-spatial-service-spatial.microsoftazurespatialgetpointinpolygon
with:
lat: rest.lat
lon: rest.lon
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: azure-maps-spatial-service-spatial-mcp
port: 9090
transport: http
description: MCP adapter for Microsoft Azure Azure Maps Spatial Service — Spatial. One tool per consumed operation, routed
inline through this capability's consumes block.
tools:
- name: microsoft-azure-post-spatial-buffer
description: Microsoft Azure Post Spatial Buffer Format
hints:
readOnly: false
destructive: false
idempotent: false
call: azure-maps-spatial-service-spatial.microsoftazurespatialpostbuffer
with:
bufferRequestBody: tools.bufferRequestBody
outputParameters:
- type: object
mapping: $.
- name: microsoft-azure-get-spatial-buffer
description: Microsoft Azure Get Spatial Buffer Format
hints:
readOnly: true
destructive: false
idempotent: true
call: azure-maps-spatial-service-spatial.microsoftazurespatialgetbuffer
with:
distances: tools.distances
outputParameters:
- type: object
mapping: $.
- name: microsoft-azure-post-spatial-closestpoint
description: Microsoft Azure Post Spatial Closestpoint Format
hints:
readOnly: false
destructive: false
idempotent: false
call: azure-maps-spatial-service-spatial.microsoftazurespatialpostclosestpoint
with:
lat: tools.lat
lon: tools.lon
numberOfClosestPoints: tools.numberOfClosestPoints
closestPointRequestBody: tools.closestPointRequestBody
outputParameters:
- type: object
mapping: $.
- name: microsoft-azure-get-spatial-closestpoint
description: Microsoft Azure Get Spatial Closestpoint Format
hints:
readOnly: true
destructive: false
idempotent: true
call: azure-maps-spatial-service-spatial.microsoftazurespatialgetclosestpoint
with:
lat: tools.lat
lon: tools.lon
numberOfClosestPoints: tools.numberOfClosestPoints
outputParameters:
- type: object
mapping: $.
- name: microsoft-azure-get-spatial-geofence
description: Microsoft Azure Get Spatial Geofence Format
hints:
readOnly: true
destructive: false
idempotent: true
call: azure-maps-spatial-service-spatial.microsoftazurespatialgetgeofence
with:
deviceId: tools.deviceId
udId: tools.udId
lat: tools.lat
lon: tools.lon
z: tools.z
userTime: tools.userTime
searchBuffer: tools.searchBuffer
isAsync: tools.isAsync
outputParameters:
- type: object
mapping: $.
- name: microsoft-azure-post-spatial-geofence
description: Microsoft Azure Post Spatial Geofence Format
hints:
readOnly: false
destructive: false
idempotent: false
call: azure-maps-spatial-service-spatial.microsoftazurespatialpostgeofence
with:
deviceId: tools.deviceId
lat: tools.lat
lon: tools.lon
z: tools.z
userTime: tools.userTime
searchBuffer: tools.searchBuffer
isAsync: tools.isAsync
searchGeofenceRequestBody: tools.searchGeofenceRequestBody
outputParameters:
- type: object
mapping: $.
- name: microsoft-azure-get-spatial-greatcircledistance
description: Microsoft Azure Get Spatial Greatcircledistance Format
hints:
readOnly: true
destructive: false
idempotent: true
call: azure-maps-spatial-service-spatial.microsoftazurespatialgetgreatcircledistance
with:
query: tools.query
outputParameters:
- type: object
mapping: $.
- name: microsoft-azure-post-spatial-pointinpolygon
description: Microsoft Azure Post Spatial Pointinpolygon Format
hints:
readOnly: false
destructive: false
idempotent: false
call: azure-maps-spatial-service-spatial.microsoftazurespatialpostpointinpolygon
with:
lat: tools.lat
lon: tools.lon
pointInPolygonRequestBody: tools.pointInPolygonRequestBody
outputParameters:
- type: object
mapping: $.
- name: microsoft-azure-get-spatial-pointinpolygon
description: Microsoft Azure Get Spatial Pointinpolygon Format
hints:
readOnly: true
destructive: false
idempotent: true
call: azure-maps-spatial-service-spatial.microsoftazurespatialgetpointinpolygon
with:
lat: tools.lat
lon: tools.lon
outputParameters:
- type: object
mapping: $.