mappls-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mappls-mcpFind the nearest hospital to Connaught Place"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mappls-mcp
An MCP (Model Context Protocol) server for Mappls — India's own maps platform (MapMyIndia). Gives AI agents accurate geocoding, routing, nearby search, and more for Indian addresses and locations.
Built because Google Maps MCP exists, but nothing existed for India-first location data.
Tools (18)
Search & Geocoding
Tool | Description |
| Address or place name → lat/lng |
| lat/lng → human-readable Indian address |
| Autocomplete suggestions as user types |
| Search by keyword or brand (e.g. "Starbucks Delhi") |
| Find hospitals, ATMs, petrol pumps, restaurants near a point |
| Full details for a place using its eLoc code |
| Standardize a raw address into structured components |
| Validate a 6-digit pincode, get district + state |
Routing & Navigation
Tool | Description |
| Turn-by-turn directions (driving/biking/walking) |
| Traffic-aware ETA using real-time conditions |
| Distances + durations between multiple points |
| Traffic-aware distance matrix |
| Find fuel stations, restaurants, ATMs along a route |
| Snap raw GPS coordinates to nearest road |
Utilities
Tool | Description |
| Altitude above sea level for any lat/lng point |
| Straight-line (crow-fly) distance between two points |
| Generate a static map image URL for any location |
Related MCP server: Mapbox MCP Server
Getting Started
1. Get a Mappls API key (free)
Sign up at about.mappls.com/api — free account, no credit card
After login, click Create New Project → choose Cloud as the platform
Open the project → go to the Credentials tab → copy the Static Key
Go to the Whitelisting tab → leave the IP field blank for unrestricted access
The free tier includes generous API limits suitable for development and small projects.
2. Install
npm install -g mappls-mcpOr run directly without installing:
npx mappls-mcpOr clone and build locally:
git clone https://github.com/AmanMakesStuff/mappls-mcp
cd mappls-mcp
npm install && npm run build3. Configure
Set your API key as an environment variable:
export MAPPLS_API_KEY=your_static_key_hereIntegration
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"mappls": {
"command": "npx",
"args": ["mappls-mcp"],
"env": {
"MAPPLS_API_KEY": "your_static_key_here"
}
}
}
}Cursor / Windsurf
Add to your MCP settings:
{
"mappls": {
"command": "npx",
"args": ["mappls-mcp"],
"env": {
"MAPPLS_API_KEY": "your_static_key_here"
}
}
}Local build (alternative)
If you cloned the repo:
{
"mcpServers": {
"mappls": {
"command": "node",
"args": ["/absolute/path/to/mappls-mcp/build/index.js"],
"env": {
"MAPPLS_API_KEY": "your_static_key_here"
}
}
}
}Example Prompts
Once connected, ask your AI agent:
"Find the nearest hospital to Connaught Place, New Delhi"
"What's the address at 28.6139, 77.2090?"
"Get driving directions from Bandra to Andheri"
"Is pincode 400001 valid? What area is it?"
"How far is Delhi from Mumbai in a straight line?"
"What is the elevation of Shimla?"
"Find ATMs along the route from India Gate to Qutub Minar"
"Standardize this address: 237 Okhla Industrial Phase 3 ND 110020"
"Search for Domino's near Koramangala Bangalore"
Notes
All tools accept lat/lng in decimal degrees (e.g.
28.6139, 77.2090)Routing tools use lat,lng format for input (the server handles coordinate conversion internally)
nearby_searchuses plain keywords like"hospital","atm","restaurant"— Mappls maps these to category codes automaticallypoi_along_routerequires the encoded polyline from thegeometryfield of aget_directionsresponsestill_map_imagereturns a URL — the image is a PNG map tile
License
MIT — built by AmanMakesStuff
Available Tools
17 toolsaddress_analyticsA
Analyze and standardize an Indian address — breaks it into structured components (house number, street, locality, district, state, pincode).
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Raw address string to analyze and standardize |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It clearly indicates a read-only analytics operation without side effects. However, it lacks details on authorization, rate limits, or output format, though the listed components give a reasonable expectation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the purpose and output. It is front-loaded with the action and resource, and every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only one parameter and no output schema, the description is sufficiently complete. It explains the input, processing, and expected output components, leaving no major gaps for an agent to misunderstand.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'address' is fully described in the input schema. The tool description adds the crucial context that the address must be an Indian address, which is not present in the schema's parameter description. This helps the agent understand the tool's scope.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: analyze and standardize an Indian address into structured components. It uses a specific verb ('analyze and standardize') and resource ('Indian address'), and the resulting components are explicitly listed. This differentiates it from sibling tools like geocode or validate_pincode.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for parsing Indian addresses, but it does not provide explicit guidance on when to use it versus alternatives (e.g., geocode or validate_pincode). No when-not-to-use or prerequisite information is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aerial_distanceA
Get the straight-line (crow-fly) distance between two geographic points. Faster than routing for simple distance checks.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | End point as 'lat,lng' | |
| from | Yes | Start point as 'lat,lng' | |
| unit | No | Unit: K = kilometres, M = miles, N = nautical miles (default: K) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is straightforward for a simple read-only calculation, but with no annotations, it doesn't add extra behavioral details like rate limits or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose, no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with well-defined parameters and usage context, the description is sufficient; missing output format but acceptable given tool simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes parameters well (e.g., 'Start point as lat,lng'), so the description adds no new semantic value beyond matching the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates 'straight-line (crow-fly) distance between two geographic points,' which distinguishes it from routing tools like get_directions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It mentions being 'faster than routing for simple distance checks,' giving context for when to use this tool over routing alternatives, but doesn't explicitly list when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
autosuggestA
Get autocomplete suggestions for an address or place as the user types. Returns a list of matching places with their eLoc codes.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Bias results near this latitude (optional) | |
| lng | No | Bias results near this longitude (optional) | |
| query | Yes | Partial address or place name to autocomplete | |
| region | No | Country code (default: IND) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the return format (list with eLoc codes) but omits behavioral traits such as rate limits, result count limits, or whether the operation is purely read-only (inferred but not stated).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no redundancy. The first sentence states the core purpose and trigger ('as the user types'), and the second details the return value. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description partially compensates by mentioning 'list of matching places with their eLoc codes', but fails to specify result count, error conditions, or field structure of each place. Adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the description adds no extra meaning beyond the parameter descriptions. The phrasing 'as the user types' gives usage context but does not enrich parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uniquely identifies the tool as providing autocomplete suggestions for addresses/places as the user types, returning eLoc codes. This clearly distinguishes it from siblings like geocode (address to coordinates) or text_search (general place search).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage in a typeahead context ('as the user types') but offers no explicit guidance on when to use this tool versus siblings like nearby_search or place_details, nor any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
distance_matrixA
Calculate distances and travel times between multiple points. First coordinate is the origin; all others are destinations. Returns a matrix of distances and durations.
| Name | Required | Description | Default |
|---|---|---|---|
| profile | No | Travel mode (default: driving) | |
| coordinates | Yes | Semicolon-separated lat,lng points. e.g. '28.55,77.13;28.48,77.05;28.63,77.21' (min 2 points) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description adequately discloses the tool's behavior: it calculates distances and durations, returns a matrix. No destructive actions implied. Missing details on limits or authentication, but acceptable for a read-like tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no unnecessary words. Front-loaded with verb and resource, followed by specific usage and return value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately explains return format (matrix of distances and durations). However, with many sibling tools, adding brief guidance on when to choose this over alternatives would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but description adds clarity: 'First coordinate is the origin; all others are destinations' explains the coordinate parameter's semantics beyond the schema. Also clarifies return type, adding value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates distances and travel times between multiple points, specifies the first coordinate as origin, and indicates it returns a matrix. This distinguishes it from siblings like get_directions (turn-by-turn) and distance_matrix_with_traffic (includes traffic).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or comparison with sibling tools. While it implies usage for multiple-point matrices, it does not guide against alternatives like distance_matrix_with_traffic or get_directions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
distance_matrix_with_trafficB
Calculate distances and traffic-aware ETAs between multiple points using real-time traffic data.
| Name | Required | Description | Default |
|---|---|---|---|
| profile | No | Travel mode (default: driving) | |
| coordinates | Yes | Semicolon-separated lat,lng points (min 2). e.g. '28.55,77.13;28.48,77.05' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully convey behavioral traits. It states the tool uses real-time traffic data but does not disclose the output format (e.g., matrix of distances/durations), any rate limits, or cost implications. The read-only nature is implied but not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It efficiently communicates the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (multiple points, traffic data) and the absence of an output schema or annotations, the description is too brief. It fails to explain the output structure (e.g., matrix format) or important constraints like maximum number of points.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds the context of 'real-time traffic data' but does not enhance understanding of the parameters beyond what the schema already provides. The schema already describes the coordinates format and profile enum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Calculate') and specific resource ('distances and traffic-aware ETAs between multiple points'), distinguishing it from siblings like 'distance_matrix' (no traffic) and 'get_directions_with_traffic' (single route directions).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for multiple points with traffic data but does not explicitly state when to use this tool over alternatives or mention any prerequisites or limitations. No 'when not to use' guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
elevationA
Get the elevation (altitude above sea level in metres) for one or more lat/lng points.
| Name | Required | Description | Default |
|---|---|---|---|
| locations | Yes | Pipe-separated lat,lng points. e.g. '28.55,77.20|19.07,72.87' (Delhi and Mumbai) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavioral traits. It only states the basic operation, lacking details on limits, precision, data sources, or error handling. This is a minor gap for a simple tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single-sentence description is direct and efficient, with no unnecessary words. It front-loads the verb 'Get' and specifies the resource and unit.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple elevation lookup with one parameter, the description is mostly complete. Minor omissions (e.g., maximum number of points) prevent a perfect score, but no output schema reduces the need for extensive details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a detailed example for the 'locations' parameter. The description adds the phrase 'one or more', but adds no meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: retrieving elevation in metres for one or more lat/lng points. It specifies the unit (metres) and input structure, distinguishing it clearly from sibling tools like geocode or directions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for elevation queries but does not provide explicit guidance on when to use this tool versus alternatives. No siblings directly compete, but context like max points or rate limits is omitted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geocodeA
Convert an Indian address or place name into latitude/longitude coordinates. Works with full addresses, landmarks, cities, and pincodes.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Full address or place name (e.g. 'India Gate, New Delhi' or '110001') | |
| itemCount | No | Max results to return (default 5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description partially discloses behavior by specifying Indian address focus. However, it omits details like authentication, rate limits, precision, or error handling, which are important for an agent to invoke correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence conveys purpose and supported input types efficiently. No extraneous information, every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool (2 params, no nested objects, no output schema), the description is largely complete. It could explicitly state the return format (lat/lng) and briefly mention when to prefer sibling tools, but it's nearly sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains both parameters. The description adds no additional semantics beyond mentioning pincodes, which is covered by the address parameter description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool converts Indian addresses/place names into coordinates, listing supported input types (full addresses, landmarks, cities, pincodes). This clearly differentiates it from siblings like reverse_geocode or autosuggest.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus siblings. For example, it doesn't mention that autosuggest is for incomplete addresses or text_search for general queries. The description only implies usage for geocoding.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_directionsA
Get turn-by-turn driving/biking/walking directions between two points in India, including distance, duration, and step-by-step instructions.
| Name | Required | Description | Default |
|---|---|---|---|
| origin | Yes | Start point as 'lat,lng' | |
| profile | No | Travel mode (default: driving) | |
| destination | Yes | End point as 'lat,lng' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full disclosure burden. It discloses the core behavior (turn-by-turn directions, distance, duration, instructions) and geographic scope, but omits details like rate limits, authentication, data freshness, or error conditions (e.g., points outside India). Adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-structured sentence that front-loads the action and includes all essential details. No extraneous words; every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 params, no output schema, many siblings), the description covers the key return values and scope. It could briefly mention how it differs from 'get_directions_with_traffic' or place itself among other direction tools, but overall it provides sufficient context for basic use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains each parameter. The description adds context about the outputs (distance, duration, instructions) and modes (driving/biking/walking) but does not enrich parameter meaning beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides turn-by-turn directions for driving, biking, or walking between two points in India, returning distance, duration, and step-by-step instructions. It uses a specific verb ('Get') and resource ('directions'), and the mention of modes and scope distinguishes it from generic direction tools, though it doesn't explicitly contrast with the sibling 'get_directions_with_traffic'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_directions_with_traffic', 'distance_matrix', or other siblings. There is no mention of prerequisites, context, or exclusions, leaving the agent without decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_directions_with_trafficA
Get directions with real-time traffic-aware ETA. Returns predictive travel time based on current traffic conditions.
| Name | Required | Description | Default |
|---|---|---|---|
| origin | Yes | Start point as 'lat,lng' | |
| profile | No | Travel mode (default: driving) | |
| destination | Yes | End point as 'lat,lng' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that ETA is based on current traffic conditions but does not expand on behavior such as whether it is read-only, API limits, or handling of traffic data unavailability. No annotations are present to supplement this. Minimal additional context beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with key information, no extraneous text. Highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists; description only mentions ETA but not the full response structure (e.g., steps, distance). However, given the tool's simplicity and the sibling differentiation via name, it is reasonably complete. Could describe return format for full clarity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters have descriptions in the schema (100% coverage), so the description does not need to add extra meaning. Baseline 3 is appropriate as description does not elaborate beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool provides directions with real-time traffic-aware ETA, distinguishing it from the sibling 'get_directions' which likely lacks traffic. The verb 'get' and resource 'directions with traffic' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage when traffic-aware ETA is needed but does not explicitly state when to use this tool versus alternatives like 'get_directions' (without traffic). No exclusion criteria or prerequisites are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nearby_searchA
Find points of interest near a location in India — hospitals, ATMs, restaurants, petrol pumps, schools, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Reference latitude | |
| lng | Yes | Reference longitude | |
| radius | No | Search radius in metres (default 1000, max 10000) | |
| sortBy | No | Sort order — dist:asc (nearest first), imp (most prominent first) | |
| keywords | Yes | Category or keyword (e.g. 'hospital', 'atm', 'restaurant', 'petrol pump') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It reveals a geographic restriction (India) but omits other behavioral traits like pagination, result count, or sorting behavior beyond what the schema provides. Returns format is not mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, well-structured sentence front-loads the action and resource, with zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters, no output schema, and no annotations, the description is minimally adequate but lacks information about the return structure, result limits, and how to interpret results. Agents may need to infer behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already documented. The description adds no additional semantic value beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'find' and the resource 'points of interest near a location in India' with concrete examples (hospitals, ATMs, restaurants), distinguishing it from sibling tools like geocode or text_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for finding nearby POIs but provides no explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives among the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
place_detailsA
Get full details (name, address, category, contact, hours) for a place using its Mappls eLoc code. eLoc codes are returned by autosuggest, nearby_search, and text_search.
| Name | Required | Description | Default |
|---|---|---|---|
| eLoc | Yes | Mappls eLoc code (6-character place ID, e.g. 'MMI000', '17ZUL7') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully bears the burden of behavioral transparency. It lists the returned fields (name, address, category, contact, hours) but does not mention any behavioral traits like read-only nature, authentication requirements, or rate limits. It is safe but could be more explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the primary purpose, and contains no redundant or unnecessary words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 parameter, no output schema), the description fully covers the necessary context: what the tool does, what input it needs, where that input comes from, and what output it returns. No additional details are required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the input schema already defines the eLoc parameter with examples. The description adds no additional semantic meaning beyond what the schema provides, meeting the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the verb 'Get', the resource 'full details for a place', and the input 'Mappls eLoc code'. It distinguishes this tool from siblings like geocode or nearby_search by specifying its unique purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use this tool by stating that eLoc codes are returned by autosuggest, nearby_search, and text_search. It implies that this tool is used after obtaining an eLoc from those tools, but does not explicitly exclude other scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
poi_along_routeA
Find points of interest along a route — useful for finding fuel stations, restaurants, or ATMs on the way from A to B. Requires the encoded polyline from get_directions.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Encoded polyline geometry string (from the 'geometry' field of get_directions response) | |
| buffer | No | Search buffer in metres on each side of the route (default 300) | |
| category | Yes | POI category code (e.g. 'FODCOF' for food & coffee, 'FINATM' for ATMs, 'PETPTM' for petrol pumps) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It only mentions the prerequisite dependency but does not explain error cases (e.g., invalid polyline, no results found), rate limits, authentication needs, or the ownership status of the operation. This is insufficient for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. It is front-loaded with the main purpose and immediately follows with a critical prerequisite. Ideal conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three parameters, no output schema, and no annotations, the description covers the purpose and a key dependency but omits the return format, behavior when no POIs are found, and potential errors. It is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reinforces the dependency between 'path' and get_directions, which adds context, but does not significantly enhance the meaning beyond what the schema already provides for each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'find', the resource 'points of interest along a route', and gives concrete examples (fuel stations, restaurants, ATMs). It distinguishes itself from sibling tools like nearby_search by focusing on route-based search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: finding amenities along a route. It explicitly states the prerequisite of needing the encoded polyline from get_directions. However, it does not mention when not to use this tool or name alternative tools for different scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reverse_geocodeA
Convert latitude/longitude coordinates into a human-readable Indian address.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude | |
| lng | Yes | Longitude |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It adds geographic scope ('Indian address') beyond the schema, but does not disclose any behavioral traits such as rate limits, error handling for out-of-range coordinates, idempotency, or response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. Every word contributes to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 required params, no output schema, no annotations), the description adequately states the core function and output scope. However, it lacks details on return format, potential errors, or geographic constraints, which would be helpful for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters. The description does not add meaning beyond naming the output type ('Indian address') and implicitly linking parameters to coordinates. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Convert' and resource 'latitude/longitude coordinates into a human-readable Indian address'. It specifies both input and output, and distinguishes from sibling tools like geocode (which likely does the reverse) and autosuggest.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for converting coordinates to addresses, but does not explicitly state when to use this tool vs alternatives like geocode or autosuggest. No exclusions or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
snap_to_roadA
Snap a series of GPS coordinates to the nearest road. Useful for cleaning up raw GPS traces from a device.
| Name | Required | Description | Default |
|---|---|---|---|
| points | Yes | Semicolon-separated lat,lng GPS points to snap to roads. e.g. '28.55,77.13;28.56,77.14' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It indicates the tool modifies points by snapping them to roads, but lacks details on limitations, error handling, or processing constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. Every word serves a purpose: the verb, the resource, the use case.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only one parameter and no output schema, the description adequately covers the purpose and usage. It could mention output format or error cases, but the simplicity limits the need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter 'points' has full schema description coverage (100%). The description adds a concrete example of the format, which adds value beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'snap' and resource 'GPS coordinates to nearest road', clearly distinguishing it from sibling tools like geocode or directions. It also states the use case 'cleaning up raw GPS traces'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context by stating it's 'useful for cleaning up raw GPS traces', which implies when to use. However, it does not explicitly mention when not to use or list alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
still_map_imageA
Generate a static map image URL centered on a location. Returns a URL to a PNG map image — useful for embedding maps in reports or sending via WhatsApp/email.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Center latitude | |
| lng | Yes | Center longitude | |
| zoom | No | Zoom level 4–18 (default 15) | |
| width | No | Image width in pixels (default 800) | |
| height | No | Image height in pixels (default 600) | |
| markers | No | Optional marker as 'lat,lng' to pin on the map |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states that the tool returns a URL to a PNG image, which is clear, but it does not disclose potential side effects (none expected for a read operation), authentication requirements, or error cases. The behavioral traits are implied but not explicitly detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences. The first sentence immediately states the core function, and the second provides practical use cases. There is no extraneous information, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (6 parameters, all self-documented) and the absence of an output schema, the description sufficiently covers what the tool does and typical usage. It could be slightly improved by mentioning that the URL is generated server-side, but overall it is complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so each parameter is already documented. The description adds no additional meaning beyond 'centered on a location.' With high schema coverage, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Generate' and names the resource 'static map image URL'. It clearly distinguishes from sibling tools like geocode or get_directions, as it focuses on creating an image URL rather than performing spatial lookups or route calculations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit use cases: 'embedding maps in reports or sending via WhatsApp/email.' This provides clear context for when the tool is appropriate, though it lacks explicit guidance on when not to use it or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
text_searchC
Search for places in India by keyword, category, or brand name (e.g. 'Starbucks Delhi', 'petrol pump Mumbai').
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search keyword or place name | |
| filter | No | Filter results e.g. 'pin:110020' to restrict to a pincode | |
| region | No | Country code (default: IND) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only mentions the scope (India) and gives examples, but omits details on result limits, sorting, query language, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-structured sentence with clear examples. No wasted words; the essential information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 3 parameters and no output schema, the description is too brief. It fails to mention result structure, pagination, or any constraints, leaving the agent with insufficient context for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds examples for the query parameter, but does not elaborate on filter or region beyond what the schema already states. Overall, it provides modest added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for places in India by keyword, category, or brand name, with concrete examples. However, it does not differentiate from sibling tools like autosuggest or nearby_search, which could cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., geocode for coordinates, autosuggest for partial input). The description lacks context on prerequisites or trade-offs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_pincodeA
Validate an Indian 6-digit pincode and get the associated district, city, and state information.
| Name | Required | Description | Default |
|---|---|---|---|
| pincode | Yes | 6-digit Indian pincode |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It explains the output fields (district, city, state) but does not disclose behavioral traits such as read-only nature, authentication needs, rate limits, or potential errors. The description adds some context beyond the schema but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the action and input, and includes a brief summary of output. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description provides enough context: what the tool does and what it returns. It is complete for the purpose, but could mention error handling or format expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter 'pincode', so baseline is 3. The description repeats that it is a 6-digit Indian pincode, adding value by mentioning the output fields, but does not add new meaning for the parameter itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool validates an Indian 6-digit pincode and returns district, city, and state. It uses a specific verb 'validate' and clearly distinguishes from sibling tools that deal with geocoding, address search, or mapping.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for pincode validation but does not provide explicit guidance on when to use it versus alternatives (e.g., geocode or address_analytics). No when-not-to-use or context for exclusions is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
17 tool updates
v2.0.1- First observed
address_analytics - First observed
aerial_distance - First observed
autosuggest - First observed
distance_matrix - First observed
distance_matrix_with_traffic - First observed
elevation - First observed
geocode - First observed
get_directions - First observed
get_directions_with_traffic - First observed
nearby_search - First observed
place_details - First observed
poi_along_route - First observed
reverse_geocode - First observed
snap_to_road - First observed
still_map_image - First observed
text_search - First observed
validate_pincode
TDQS
Each tool has a distinct purpose: geocoding, search, directions, traffic, elevation, static maps, etc. No two tools overlap in functionality.
All tool names use snake_case and are mostly descriptive, but some are verb_noun (get_directions) while others are single words (geocode, elevation). 'still_map_image' is slightly awkward but still clear.
17 tools cover a comprehensive set of location-based services without being excessive. Each tool earns its place.
Covers core location needs: geocoding, search, routing, traffic, elevation, maps, pincode validation. Missing features like isochrones or place reviews are minor gaps.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Provides AI assistants with direct access to Mapbox developer APIs and documentation.
Maps built for agents: routing incl. truck/ADR, geocoding, matrices, isochrones — 34 tools.
India shipping for AI agents: Shiprocket courier serviceability, create orders, track AWB.
Address validation & geocoding for AI agents: 240+ countries, UK PAF, free US/CA enrichment
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables location-aware AI agents to search for nearby places, get detailed place information including hours and ratings, and calculate routes with turn-by-turn directions using Google Maps APIs.22-

Mapbox MCP Serverofficial
AlicenseAqualityAmaintenanceProvides geospatial intelligence to AI agents through Mapbox APIs, enabling geocoding, routing, POI search, map images, and offline spatial calculations.281,375353MIT- AlicenseNot gradedqualityCmaintenanceEnables AI agents to query TomTom Search and Routing APIs, including geocoding, places, and route planning.18MIT

Magic Lane MCP Serverofficial
AlicenseBqualityBmaintenanceEnables AI agents to become geospatially intelligent assistants with tools for location search, smart routing, round trip planning, reverse geocoding, isochrone analysis, route visualization, geofence management, and interactive map display.8297Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AmanMakesStuff/mappls-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server