Skip to main content

Amazon Location Service MCP Server

Model Context Protocol (MCP) server for Amazon Location Service

This MCP server provides tools to access Amazon Location Service capabilities, focusing on place search and geographical coordinates.

Features

  • Search for Places: Search for places using geocoding
  • Get Place Details: Get details for specific places by PlaceId
  • Reverse Geocode: Convert coordinates to addresses
  • Search Nearby: Search for places near a specified location
  • Open Now Search: Search for places that are currently open
  • Route Calculation: Calculate routes between locations using Amazon Location Service
  • Optimize Waypoints: Optimize the order of waypoints for a route using Amazon Location Service

Prerequisites

Requirements

  1. Have an AWS account with Amazon Location Service enabled
  2. Install uv from Astral or the GitHub README
  3. Install Python 3.10 or newer using uv python install 3.10 (or a more recent version)

Installation

Kiro Cursor VS Code
Add to Kiro Install MCP Server Install on VS Code

Here are the ways you can work with the Amazon Location MCP server:

Configuration

Configure the server in your MCP configuration file. Here are some ways you can work with MCP across AWS, and we'll be adding support to more products soon: (e.g. for Kiro, ~/.kiro/settings/mcp.json):

{
  "mcpServers": {
    "awslabs.aws-location-mcp-server": {
        "command": "uvx",
        "args": ["awslabs.aws-location-mcp-server@latest"],
        "env": {
          "AWS_PROFILE": "your-aws-profile",
          "AWS_REGION": "us-east-1",
          "FASTMCP_LOG_LEVEL": "ERROR"
        },
        "disabled": false,
        "autoApprove": []
    }
  }
}

Windows Installation

For Windows users, the MCP server configuration format is slightly different:

{
  "mcpServers": {
    "awslabs.aws-location-mcp-server": {
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "uv",
      "args": [
        "tool",
        "run",
        "--from",
        "awslabs.aws-location-mcp-server@latest",
        "awslabs.aws-location-mcp-server.exe"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
        "AWS_PROFILE": "your-aws-profile",
        "AWS_REGION": "us-east-1"
      }
    }
  }
}

Using Temporary Credentials

For temporary credentials (such as those from AWS STS, IAM roles, or federation):

{
  "mcpServers": {
    "awslabs.aws-location-mcp-server": {
        "command": "uvx",
        "args": ["awslabs.aws-location-mcp-server@latest"],
        "env": {
          "AWS_ACCESS_KEY_ID": "your-temporary-access-key",
          "AWS_SECRET_ACCESS_KEY": "your-temporary-secret-key",
          "AWS_SESSION_TOKEN": "your-session-token",
          "AWS_REGION": "us-east-1",
          "FASTMCP_LOG_LEVEL": "ERROR"
        },
        "disabled": false,
        "autoApprove": []
    }
  }
}

Docker Configuration

After building with docker build -t awslabs/aws-location-mcp-server .:

{
  "mcpServers": {
    "awslabs.aws-location-mcp-server": {
        "command": "docker",
        "args": [
          "run",
          "--rm",
          "-i",
          "awslabs/aws-location-mcp-server"
        ],
        "env": {
          "AWS_PROFILE": "your-aws-profile",
          "AWS_REGION": "us-east-1"
        },
        "disabled": false,
        "autoApprove": []
    }
  }
}

Docker with Temporary Credentials

{
  "mcpServers": {
    "awslabs.aws-location-mcp-server": {
        "command": "docker",
        "args": [
          "run",
          "--rm",
          "-i",
          "awslabs/aws-location-mcp-server"
        ],
        "env": {
          "AWS_ACCESS_KEY_ID": "your-temporary-access-key",
          "AWS_SECRET_ACCESS_KEY": "your-temporary-secret-key",
          "AWS_SESSION_TOKEN": "your-session-token",
          "AWS_REGION": "us-east-1"
        },
        "disabled": false,
        "autoApprove": []
    }
  }
}

Environment Variables

  • AWS_PROFILE: AWS CLI profile to use for credentials
  • AWS_REGION: AWS region to use (default: us-east-1)
  • AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY: Explicit AWS credentials (alternative to AWS_PROFILE)
  • AWS_SESSION_TOKEN: Session token for temporary credentials (used with AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY)
  • FASTMCP_LOG_LEVEL: Logging level (ERROR, WARNING, INFO, DEBUG)

Tools

The server exposes the following tools through the MCP interface:

search_places

Search for places using Amazon Location Service geocoding capabilities.

search_places(query: str, max_results: int = 5, mode: str = 'summary') -> dict

get_place

Get details for a specific place using its unique place ID.

get_place(place_id: str, mode: str = 'summary') -> dict

reverse_geocode

Convert coordinates to an address using reverse geocoding.

reverse_geocode(longitude: float, latitude: float) -> dict

search_nearby

Search for places near a specific location with optional radius expansion.

search_nearby(longitude: float, latitude: float, radius: int = 500, max_results: int = 5,
              query: str = None, max_radius: int = 10000, expansion_factor: float = 2.0,
              mode: str = 'summary') -> dict

search_places_open_now

Search for places that are currently open, with radius expansion if needed.

search_places_open_now(query: str, max_results: int = 5, initial_radius: int = 500,
                       max_radius: int = 50000, expansion_factor: float = 2.0) -> dict

calculate_route

Calculate a route between two locations using Amazon Location Service.

calculate_route(
    departure_position: list,  # [longitude, latitude]
    destination_position: list,  # [longitude, latitude]
    travel_mode: str = 'Car',  # 'Car', 'Truck', 'Walking', or 'Bicycle'
    optimize_for: str = 'FastestRoute'  # 'FastestRoute' or 'ShortestRoute'
) -> dict

Returns route geometry, distance, duration, and turn-by-turn directions.

  • departure_position: List of [longitude, latitude] for the starting point.
  • destination_position: List of [longitude, latitude] for the destination.
  • travel_mode: Travel mode, one of 'Car', 'Truck', 'Walking', or 'Bicycle'.
  • optimize_for: Route optimization, either 'FastestRoute' or 'ShortestRoute'.

See AWS documentation for more details.

geocode

Get coordinates for a location name or address.

geocode(location: str) -> dict

optimize_waypoints

Optimize the order of waypoints using Amazon Location Service geo-routes API.

optimize_waypoints(
    origin_position: list,  # [longitude, latitude]
    destination_position: list,  # [longitude, latitude]
    waypoints: list,  # List of waypoints, each as a dict with at least Position [longitude, latitude]
    travel_mode: str = 'Car',
    mode: str = 'summary'
) -> dict

Returns the optimized order of waypoints, total distance, and duration.

Amazon Location Service Resources

This server uses the Amazon Location Service geo-places and route calculation APIs for:

  • Geocoding (converting addresses to coordinates)
  • Reverse geocoding (converting coordinates to addresses)
  • Place search (finding places by name, category, etc.)
  • Place details (getting information about specific places)
  • Route calculation (finding routes between locations)

Security Considerations

  • Use AWS profiles for credential management
  • Use IAM policies to restrict access to only the required Amazon Location Service resources
  • Use temporary credentials (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and AWS_SESSION_TOKEN) from AWS STS for enhanced security
  • Implement AWS IAM roles with temporary credentials for applications and services
  • Regularly rotate credentials and use the shortest practical expiration time for temporary credentials

Release files for awslabs.aws-location-mcp-server 2.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for awslabs.aws-location-mcp-server 2.1.0
File Size Uploaded
awslabs_aws_location_mcp_server-2.1.0.tar.gz 107.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for awslabs.aws-location-mcp-server 2.1.0
File Interpreter ABI Platform
awslabs_aws_location_mcp_server-2.1.0-py3-none-any.whl Python 3 none any Details

Total release size:124.6 kB

Release files / awslabs_aws_location_mcp_server-2.1.0.tar.gz

Download URL awslabs_aws_location_mcp_server-2.1.0.tar.gz
Size 107.3 kB
Tags Source
SHA-256 checksum
How to use checksums
f32f7ec7a3cfcb966ea36a6e9f079d0321ef9a54e342d2a9b46984c2245efeb1
BLAKE2b-256 checksum
How to use checksums
f86de88fb73c50682ebd4b3fdfe40fec53194b158cb5b98255bf457b371b841a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 26, 2026.

Transparency log

Release files / awslabs_aws_location_mcp_server-2.1.0-py3-none-any.whl

Download URL awslabs_aws_location_mcp_server-2.1.0-py3-none-any.whl
Size 17.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
620ced08d06f2b372065847cc7ab2498cd94fadf80a4091d23afb1d929ba250c
BLAKE2b-256 checksum
How to use checksums
c1bfc5e27b5705d376fe3ce7b0d3dd884f9da9463511ed7ac53b628c37b8f7ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 26, 2026.

Transparency log

Release history Release notifications | RSS feed

2.1.1

2 release files

This release

2.1.0 This release

2 release files

2.0.21

2 release files

2.0.19

2 release files

2.0.16

2 release files

2.0.13

2 release files

2.0.11

2 release files

2.0.10

2 release files

2.0.9

2 release files

2.0.8

2 release files

2.0.7

2 release files

2.0.6

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page