ArcGIS Location Services MCP Server
# ArcGIS Location Services MCP Server
[](https://smithery.ai/server/@puran1218/arcgis-location-services-mcp)
MCP Server for [ArcGIS Location Services](https://developers.arcgis.com/rest/location-based-services/).
## Tools
1. `geocode`
- Search for an address, place, or point of interest
- Inputs:
- `singleLine` (string): Complete address in a single string
- `address` (string): Place name or partial address
- `location` (string, optional): Nearby point in "longitude,latitude" format
- `category` (string, optional): POI category to search for
- Returns: Matching locations with addresses, coordinates, and match scores
2. `reverse_geocode`
- Convert geographic coordinates to an address
- Inputs:
- `location` (string): Location as "longitude,latitude"
- `outFields` (string, optional): Fields to include in response
- Returns: Address information, location type, and address components
3. `find_nearby_places`
- Find nearby places and points of interest
- Inputs:
- `x` (number): Longitude of center point
- `y` (number): Latitude of center point
- `pageSize` (number, optional): Number of results to return
- `categories` (string, optional): Category filter
- `radius` (number, optional): Search radius in meters
- `includeDetails` (boolean, optional): Whether to include detailed place information
- `detailsLimit` (number, optional): Maximum number of places to get details for
- Returns: List of places with names, addresses, categories, and optional details
4. `get_directions`
- Get detailed turn-by-turn directions between locations
- Input:
- `stops` (string): Semicolon-separated list of "longitude,latitude" pairs
- Returns: Route summary with distance, time, and turn-by-turn directions
5. `get_elevation`
- Get elevation data for locations on land or water
- Inputs:
- `lon` and `lat` (numbers, optional): Coordinates for a single point
- `coordinates` (string, optional): JSON array of [lon, lat] pairs for multiple points
- `relativeTo` (string, optional): Reference point for elevation measurement
- Returns: Elevation data with reference datum and spatial reference
6. `get_basemap_tile`
- Access static basemap tiles service with different styles
- Inputs:
- `version` (string, optional): API version
- `style_base` (string, optional): Base style category
- `style_name` (string, optional): Map style name
- `row`, `level`, `column` (numbers, optional): Tile coordinates
- Returns: Basemap tile information and status
## Setup
### Installing via Smithery
To install arcgis-location-services-mcp for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@puran1218/arcgis-location-services-mcp):
```bash
npx -y @smithery/cli install @puran1218/arcgis-location-services-mcp --client claude
```
### API Key
Get an ArcGIS Developer API key by creating an account at [ArcGIS Location Platform](https://location.arcgis.com/) and [generating an API key](https://developers.arcgis.com/documentation/security-and-authentication/api-key-authentication/tutorials/create-an-api-key/).
### Usage with Claude Desktop
Add the following to your `claude_desktop_config.json` in [Claude for Desktop](https://modelcontextprotocol.io/quickstart/user):
```json
{
"mcpServers": {
"arcgis-location-services": {
"command": "uv",
"args": [
"--directory",
"C:\\ABSOLUTE\\PATH\\TO\\ArcGIS-Location-Services-MCP-Server",
"run",
"main.py"
],
"env": {
"ARCGIS_LOCATION_SERVICE_API_KEY": "<YOUR_API_KEY>"
}
}
}
}
```
## License
This MCP server is provided as-is. Usage of ArcGIS Location Services is subject to [Esri's terms of service](https://developers.arcgis.com/rest/places/#terms-of-use).
TDQS
Scored across 6 tools
Each tool has a distinct purpose: basemap tiles, nearby places, geocoding, reverse geocoding, directions, and elevation. No overlap in functionality.
All tool names follow a consistent verb_noun pattern in snake_case, such as get_basemap_tile, find_nearby_places, geocode, reverse_geocode, get_directions, get_elevation. The naming is clear and predictable.
With 6 tools, the server covers essential location services without being sparse or overwhelming. Each tool serves a specific function, and the count is well-scoped for the domain.
The tool set includes core GIS operations: tile access, POI search, geocoding, reverse geocoding, directions, and elevation. Minor gaps exist, such as missing batch geocoding or spatial queries, but the surface is reasonably complete for a basic location services server.