# Geoapify MCP

> Geoapify provides comprehensive location intelligence directly to your agent. It lets you convert addresses into precise coordinates, figure out optimal driving routes between multiple points, calculate distance matrices, and find detailed information on local businesses. Stop guessing locations; start solving them.

## Overview
- **Category:** data-analytics
- **Price:** Free
- **Tags:** maps, geocoding, routing, location-intelligence, gis

## Description

This MCP equips your agent with deep geographic knowledge. You can go far beyond simple map lookups, moving from basic address validation to complex spatial analysis in one workflow. Need to know the coordinates for a tricky street name? Use it. Planning a delivery route that hits five different checkpoints across town? This handles the math. It even detects user location just based on an IP address or helps you snap messy GPS tracks back onto actual roads. It's all about making precise, location-based decisions without leaving your client environment. Since Vinkius hosts this MCP in its catalog, connecting it to your preferred AI client means all these mapping tools are available wherever you write code or chat with your agent.

## Tools

### calculate_isoline
Calculates areas reachable within a specific time window or distance radius from a starting point.

### calculate_route_matrix
Generates a table of travel times and distances connecting multiple starting spots to multiple destinations.

### calculate_route
Figures out the best path between two points, supporting different travel modes like driving, walking, or cycling.

### create_batch_job
Queues up large numbers of location requests (up to 1000) to process them all at once in the background.

### geocode_autocomplete
Provides real-time suggestions as you type an address into a form field or input box.

### geocode_reverse
Takes raw GPS coordinates and finds the human-readable street address associated with them.

### geocode_search
Converts any written, free-form address into precise latitude and longitude coordinates.

### geometry_operation
Performs advanced mathematical operations on geographic shapes, such as finding overlaps or combining boundaries.

### get_batch_job
Retrieves the final results for a large group of location requests that were processed asynchronously.

### get_boundaries_consists_of
Identifies smaller, nested administrative or postal boundaries that exist within a larger defined area.

### get_boundaries_part_of
Determines the overarching political, postal, or administrative boundary that contains a specific point.

### get_elevation
Retrieves the vertical height data (elevation) for specified geographic coordinates.

### get_place_details
Gathers detailed information—like opening hours or contact numbers—for a specific point of interest.

### get_ip_info
Detects a user's general location, including city and country, using only their IP address.

### map_matching
Corrects rough GPS tracks by snapping every recorded coordinate onto the nearest actual road network line.

### route_planner
Solves complex vehicle routing problems, optimizing multi-stop routes for efficient delivery or travel planning.

### search_places
Locates points of interest in an area based on a category, such as 'restaurants' or 'gas stations'.

## Prompt Examples

**Prompt:** 
```
Find the latitude and longitude for '1600 Amphitheatre Parkway, Mountain View, CA'.
```

**Response:** 
```
I've located the coordinates for that address using `geocode_search`. The location is Latitude: 37.4224857, Longitude: -122.0855845.
```

**Prompt:** 
```
Calculate a driving route from Paris to Lyon.
```

**Response:** 
```
Using `calculate_route`, I've found the optimal driving path. The trip is approximately 465km and will take about 4 hours and 20 minutes under normal traffic conditions.
```

**Prompt:** 
```
What city is associated with the IP address 8.8.8.8?
```

**Response:** 
```
I've checked the IP info for 8.8.8.8. It is located in Mountain View, California, United States.
```

## Capabilities

### Resolve Addresses and Coordinates
Convert raw addresses into precise latitude/longitude points, find address suggestions in real-time, or look up the full street address from just a GPS coordinate.

### Calculate Optimal Paths
Determine the best driving, cycling, walking, or transit routes between two or multiple points, including calculating complex areas reachable within a specific time or distance.

### Analyze Location Data Sets
Compute distances and travel times between many sources and targets simultaneously, or perform advanced spatial math like finding intersections of geographical boundaries.

### Identify Local Points of Interest
Search for specific types of businesses (like coffee shops or gas stations) by category near a given location, and retrieve detailed information about those places.

## Use Cases

### Optimizing a last-mile delivery route
The operations manager needs to know the fastest sequence for 15 stops. They ask their agent, and it uses `route_planner` to solve the complex Vehicle Routing Problem (VRP), returning one optimized path instead of a list of individual directions.

### Validating survey data from the field
A surveyor collects GPS points that are slightly off-road. They run the data through `map_matching` to correct every point onto the nearest drivable road, ensuring the final report is accurate.

### Analyzing market density for a new store
A retail analyst uses `calculate_isoline` to map out the exact area reachable by foot within a 15-minute walk radius of potential sites, helping pinpoint optimal locations.

### Building an address validation system
A developer needs to ensure all user input addresses are correct. The agent uses `geocode_autocomplete` for real-time suggestions and then runs `geocode_search` to lock in the definitive coordinates.

## Benefits

- You never have to manually check a map service again. Instead of opening multiple tabs for address lookups or distance calculations, your agent handles it all in one query using `geocode_search` and `calculate_route`.
- Stop estimating travel times based on Google Maps estimates. Use `calculate_route_matrix` to get precise, calculated travel time and distance data between dozens of points simultaneously for true logistics planning.
- Need to verify if a GPS track is accurate? Running the coordinates through `map_matching` snaps messy field data to the actual road network, making your fleet tracking reliable. It's essential cleanup work.
- Instead of just searching by name, you can find specific places using `search_places` and then pull detailed contact info (like hours) with `get_place_details`. The whole picture is available.
- When dealing with large data sets, don't run queries one-by-one. Use `create_batch_job` to queue up hundreds of address lookups or coordinate retrievals and get all results back later via `get_batch_job`.

## How It Works

The bottom line is you get reliable, real-world location math without copy-pasting into 15 different web tabs.

1. First, subscribe to this MCP in Vinkius and provide your Geoapify API Key.
2. Next, tell your AI client what you need—for example, 'I need the driving route from Point A to Point B.'
3. Your agent calls the appropriate tool within the MCP, which executes the calculation and returns a structured data result (like coordinates or an optimized path) directly to your workflow.

## Frequently Asked Questions

**How do I use the geocode_search tool?**
You give it a free-form address, and it returns the exact latitude and longitude coordinates for that location. This is best for validating written addresses.

**What's the difference between calculate_route and route_planner?**
`calculate_route` handles finding a single path between two points based on a mode of transport. `route_planner`, however, solves complex multi-stop optimization problems for an entire sequence.

**Does the geocode_reverse tool work with messy coordinates?**
The `geocode_reverse` tool takes raw GPS data and finds a human-readable address. If the coordinates are poor, you should run them through `map_matching` first to clean them up.

**Can I batch process many locations? What is create_batch_job?**
Yes. Use `create_batch_job` when you have hundreds of location lookups or data points that need processing. This queues the jobs, preventing timeouts and saving your API limit.

**How do I find nearby businesses using search_places?**
Just use `search_places`, telling it the general area and the category you're looking for (e.g., 'Italian restaurant'). You can then get more details on any result using `get_place_details`.

**How does the `map_matching` tool clean up messy GPS tracks?**
It snaps raw GPS coordinates directly onto the actual road network. This process corrects jitter and inaccuracies in field data, giving you precise location points for fleet tracking or analysis.

**What kind of spatial math can I run with `geometry_operation`?**
You perform advanced operations like calculating the union, intersection, or buffer zones between multiple GeoJSON shapes. This lets you define complex areas based on geographic data boundaries.

**Can I determine a user's rough location using `get_ip_info`?**
Yes, it detects the geographical region associated with an IP address. This is useful for initial triage or estimating a user's network source, even when physical addresses aren't available.

**How can I find the coordinates of a specific street address?**
Use the `geocode_search` tool. You can provide a free-form text string or structured data like city and street to get precise latitude and longitude coordinates.

**Can the AI calculate travel times for multiple delivery destinations at once?**
Yes! The `calculate_route_matrix` tool allows you to submit multiple source and target locations to receive a comprehensive matrix of travel times and distances.

**Is it possible to identify where a user is located based on their IP address?**
Absolutely. Use the `get_ip_info` tool to retrieve location metadata, including country, city, and timezone, associated with a specific IP address.