quanta-route-geocoder
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., "@quanta-route-geocodergeocode 'Rohra Address, New Town, West Bengal'"
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.
QuantaRoute MCP Server
A Model Context Protocol (MCP) server that provides AI assistants (Claude Desktop, Cursor, and more) with powerful geocoding, location lookup, and DigiPin processing capabilities using the QuantaRoute Geocoding API.
Package: @quantaroute/mcp-server (MCP Server for AI Agents)
SDK: quantaroute-geocoding (Node.js/TypeScript SDK)
โ Fully compatible with Claude Desktop and Cursor
Features
๐บ๏ธ Geocoding Tools
Geocode addresses to DigiPin codes and coordinates
Reverse geocode DigiPin codes to addresses
Convert coordinates to DigiPin codes
Validate DigiPin format and location
Batch geocode multiple addresses (up to 100)
Autocomplete address suggestions
๐ Revolutionary Location Lookup with Nominatim + Pincode + Digipin
Lookup administrative boundaries from coordinates (pincode, state, division, locality)
Lookup from DigiPin codes
Batch location lookup for multiple locations
Find nearby boundaries within a radius [COMING SOON...]
Access to 36,000+ postal boundaries across India
๐ Utility Tools
Get API usage statistics
Get location statistics (boundaries, states, divisions)
Check API health status
Related MCP server: Amap MCP Server
Installation
This MCP server is compatible with Claude Desktop and Cursor. Follow the instructions below for your platform.
For Claude Desktop
Locate the Claude Desktop configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Edit the configuration file and add:
{
"mcpServers": {
"quantaroute": {
"command": "npx",
"args": [
"-y",
"@quantaroute/mcp-server"
],
"env": {
"QUANTAROUTE_API_KEY": "your-api-key-here"
}
}
}
}Save and restart Claude Desktop to apply the changes.
For Cursor
Add to your MCP configuration file (~/.cursor/mcp.json):
{
"mcpServers": {
"quantaroute": {
"command": "npx",
"args": [
"-y",
"@quantaroute/mcp-server"
],
"env": {
"QUANTAROUTE_API_KEY": "your-api-key-here"
}
}
}
}Restart Cursor after making changes.
Environment Variables
QUANTAROUTE_API_KEY(required): Your QuantaRoute API keyGet your API key from: https://developers.quantaroute.com
Free tier test key:
demo_free_key_123(for testing)
Available Tools
geocode
Geocode an address to get DigiPin code and coordinates.
Parameters:
address(required): The address to geocodecity(optional): City namestate(optional): State namepincode(optional): Postal codecountry(optional): Country name (defaults to India)
Example:
{
"address": "Rohra Address, New Town",
"city": "New Town",
"state": "West Bengal",
"pincode": "700163"
}reverse_geocode
Reverse geocode a DigiPin code to get coordinates and address.
Parameters:
digipin(required): DigiPin code (format: XXX-XXX-XXXX)
coordinates_to_digipin
Convert latitude and longitude to DigiPin code.
Parameters:
latitude(required): Latitude (-90 to 90)longitude(required): Longitude (-180 to 180)
lookup_location_from_coordinates
๐ REVOLUTIONARY: Get administrative boundaries from coordinates.
Returns: pincode, state, division, locality, district, population density, and more.
Parameters:
latitude(required): Latitude coordinatelongitude(required): Longitude coordinate
lookup_location_from_digipin
Get administrative boundaries from a DigiPin code.
Parameters:
digipin(required): DigiPin code
batch_location_lookup
Batch lookup for multiple locations (up to 100).
Parameters:
locations(required): Array of location objectsEach object can have
latitude+longitudeORdigipin
batch_geocode
Geocode multiple addresses in a single request (up to 100).
Parameters:
addresses(required): Array of address objects
autocomplete
Get address autocomplete suggestions.
Parameters:
query(required): Search query (minimum 3 characters)limit(optional): Max suggestions (default: 5, max: 10)
find_nearby_boundaries [COMING SOON...]
Find nearby postal boundaries within a radius.
Parameters:
latitude(required): Center latitudelongitude(required): Center longituderadius_km(optional): Search radius in km (default: 5.0, max: 100)limit(optional): Max results (default: 10, max: 50)
validate_digipin
Validate DigiPin format and check if it's a real location.
Parameters:
digipin(required): DigiPin code to validate
get_usage
Get API usage statistics and quota information.
get_location_statistics
Get live statistics about the Location Lookup service.
get_health
Check API health status.
REST API Wrapper
This project includes a REST API wrapper that makes all MCP tools accessible via HTTP endpoints for mobile and web applications.
Features
โ RESTful API: All MCP tools exposed as HTTP endpoints
โ Authentication: API key via header or environment variable
โ CORS Support: Ready for web and mobile apps
โ Vercel Ready: Optimized for serverless deployment
โ Error Handling: Comprehensive error handling and validation
Quick Start
The REST API is already deployed and ready to use at:
Base URL: https://mcp-gc.quantaroute.com/api
Note: mcp-gc stands for MCP Geocoding. This follows the naming convention:
mcp-gc.quantaroute.com- Geocoding MCP Server (this project)
Using the REST API
1. Get API Information:
curl https://mcp-gc.quantaroute.com/api2. Geocode an Address:
curl -X POST https://mcp-gc.quantaroute.com/api/geocode \
-H "Content-Type: application/json" \
-H "x-api-key: your-api-key-here" \
-d '{
"address": "Rohra Address, New Town",
"city": "New Town",
"state": "West Bengal",
"pincode": "700163"
}'3. Health Check:
curl -X GET https://mcp-gc.quantaroute.com/api/health \
-H "x-api-key: your-api-key-here"4. Find Nearby Boundaries:[NOT RELEASED, COMING SOON...]
curl -X POST https://mcp-gc.quantaroute.com/api/find-nearby-boundaries \
-H "Content-Type: application/json" \
-H "x-api-key: your-api-key-here" \
-d '{
"latitude": 28.6139,
"longitude": 77.2090,
"radius_km": 5.0,
"limit": 10
}'This endpoint finds nearby postal boundaries within a specified radius. Useful for:
Finding all pincodes within X km of a location
Discovering nearby administrative boundaries
Location-based search and discovery
JavaScript/TypeScript Example
// Geocode an address
const response = await fetch('https://mcp-gc.quantaroute.com/api/geocode', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'your-api-key-here'
},
body: JSON.stringify({
address: 'Rohra Address, Action Area I',
city: 'New Town',
state: 'West Bengal'
})
});
const data = await response.json();
console.log(data);Python Example
import requests
# Geocode an address
response = requests.post(
'https://mcp-gc.quantaroute.com/api/geocode',
headers={
'Content-Type': 'application/json',
'x-api-key': 'your-api-key-here'
},
json={
'address': 'Rohra Address, Action Area I, Ghuni',
'city': 'New Town',
'state': 'West Bengal'
}
)
data = response.json()
print(data)Deploying Your Own Instance
If you want to deploy your own instance:
Deploy to Vercel:
vercelSet Environment Variable (optional, for testing):
vercel env add QUANTAROUTE_API_KEYConfigure Custom Domain (optional):
Add your custom domain in Vercel
Configure DNS CNAME record pointing to Vercel
Wait for DNS propagation and SSL certificate
API Documentation
For complete REST API documentation, see API.md.
Available Endpoints:
GET /api- API informationGET /api/health- Health checkGET /api/usage- Usage statisticsGET /api/location-statistics- Location service statisticsGET /api/autocomplete?q=query- Address autocompleteGET /api/validate-digipin?digipin=XXX-XXX-XXXX- Validate DigiPinPOST /api/geocode- Geocode an addressPOST /api/reverse-geocode- Reverse geocode DigiPinPOST /api/coordinates-to-digipin- Convert coordinates to DigiPinPOST /api/batch-geocode- Batch geocode addressesPOST /api/lookup-location-from-coordinates- Lookup from coordinatesPOST /api/lookup-location-from-digipin- Lookup from DigiPinPOST /api/batch-location-lookup- Batch location lookupPOST /api/find-nearby-boundaries- Find nearby boundaries [COMING SOON...]
Authentication
The API supports authentication in two ways:
Request Header (Recommended for production):
x-api-key: your-api-key-hereUsers should get their own API key from developers.quantaroute.com
Send the API key in the
x-api-keyheader with each requestEach user's API key is validated by the backend API and usage is tracked separately
Environment Variable (Optional fallback for testing):
QUANTAROUTE_API_KEY=your-api-key-hereOnly used if no
x-api-keyheader is providedUseful for testing and development
Not recommended for production use
Priority: The request header takes precedence over the environment variable.
Getting an API Key:
Sign up and get your API key
Use it in the
x-api-keyheader for all API requests
Development
Prerequisites
Node.js 18+
TypeScript 5+
Setup
# Install dependencies
npm install
# Build the project
npm run build
# Run in development mode
npm run devProject Structure
mcp-server/
โโโ src/
โ โโโ index.ts # Main MCP server implementation
โ โโโ client.ts # QuantaRoute API client
โโโ api/
โ โโโ [...path].ts # REST API wrapper (Vercel serverless function)
โโโ dist/ # Compiled JavaScript (generated)
โโโ package.json
โโโ tsconfig.json
โโโ vercel.json # Vercel configuration
โโโ README.md
โโโ API.md # REST API documentationAPI Documentation
Full API documentation: https://api.quantaroute.com/v1/digipin/docs
License
MIT License
Support
Supported Platforms
โ
Claude Desktop - Fully supported
โ
Cursor - Fully supported
โ
Other MCP-compatible clients - Should work with any MCP-compatible application
Example Usage in AI Assistants
Once configured, AI assistants (Claude, Cursor AI, etc.) can use tools like:
Example 1: Geocoding
User: "What's the DigiPin for Biswa Bangla Gate, New Town?"
Assistant: [Uses geocode tool]
The DigiPin code for that address is 2TF-39M-JT5F, located at coordinates 22.5788545, 88.4716628.
Full Address: Biswa Bangla Gate, New Town, Biswa Bangla Sarani, Action Area I, New Town, Bidhannagar, North 24 Parganas, West Bengal, 700156, IndiaExample 2: Location Lookup
User: "What administrative boundaries are at coordinates 28.6139, 77.2090?"
Assistant: [Uses lookup_location_from_coordinates tool]
That location is in:
- Pincode: 110001
- State: Delhi
- Division: New Delhi Central
- Locality: Connaught Place
- District: New DelhiExample 3: Reverse Geocoding
User: "What's the address for DigiPin 2TF-3FT-J825?"
Assistant: [Uses reverse_geocode tool]
The DigiPin 2TF-3FT-J825 corresponds to:
- Address: FE Block, Sector III, Bidhannagar, North 24 Parganas, West Bengal, 700106, India
- Coordinates: 22.580587ยฐN, 88.419001ยฐETroubleshooting
Claude Desktop Issues
Server not appearing in Claude Desktop:
Verify the config file path is correct for your OS
Check that the JSON syntax is valid
Restart Claude Desktop completely
"Command not found" errors:
Ensure Node.js 18+ is installed:
node --versionVerify
npxis available:which npx
API authentication errors:
Check that
QUANTAROUTE_API_KEYis set correctly in the configVerify the API key is valid at https://api.quantaroute.com
Cursor Issues
MCP server not loading:
Check
~/.cursor/mcp.jsonexists and has valid JSONRestart Cursor completely
Check Cursor's MCP logs for errors
Tools not available:
Verify the server is running (check Cursor's MCP status)
Ensure API key is configured correctly
Available Tools
13 toolsautocompleteA
Get autocomplete suggestions for addresses (minimum 3 characters).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of suggestions (default: 5, max: 10) | |
| query | Yes | Search query (minimum 3 characters) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does provide one concrete behavioral constraint: the query must be at least 3 characters. It does not disclose response format, behavior for short queries, or whether the call is read-only, but the verb 'Get' and the word 'suggestions' provide a modestly safe and accurate picture.
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 front-loads the core purpose and includes the most important usage constraint. There is no filler, and every phrase contributes to understanding the tool.
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 two-parameter tool with full schema coverage and no output schema, the description is close to complete. It covers operation, domain, and minimum query length; the main gap is that it does not explicitly describe the return shape, though 'suggestions' already implies a list of results.
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 already describes both parameters and the schema description coverage is 100%, so the baseline is 3. The description adds domain context by saying results are address suggestions, which helps shape what the query should contain, but it adds no extra semantics for the limit parameter beyond what the schema already states.
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 states a specific verb ('Get'), a resource ('addresses'), and a behavioral constraint ('minimum 3 characters'). It clearly communicates that the tool returns address suggestions as the user types. It does not explicitly differentiate itself from sibling tools like geocode, but 'autocomplete' is distinct enough on its own.
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 phrase 'autocomplete suggestions' implies the usage context: interactive address entry where partial input needs completion. However, the description does not explicitly say when not to use this tool or when to prefer a sibling like geocode, leaving that inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_geocodeA
Geocode multiple addresses in a single batch request (up to 100 addresses).
| Name | Required | Description | Default |
|---|---|---|---|
| addresses | Yes | Array of address objects to geocode |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the batch limit but omits critical behaviors: return format, error handling for partial failures, ordering of results, quota impact, or rate limits. An agent cannot anticipate what happens when some addresses fail.
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?
One clear, front-loaded sentence with zero redundancy. The purpose and limit are stated immediately with no wasted 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?
As a batch tool with no output schema and no annotations, the description is too sparse. It does not mention the return structure (e.g., array of geocoded results in input order), failure behavior, or any usage constraints beyond the count. An agent lacks enough information to handle errors or interpret results correctly.
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 address object fields and maxItems are already documented. The description adds the word 'batch' but that is implied by the tool name and sibling context; it provides no new semantics beyond the schema. Baseline 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?
States the specific verb 'Geocode', the resource 'multiple addresses', and the batch nature with a limit. Clearly distinguishes from siblings like geocode (single address) and reverse_geocode (reverse direction) without needing to open schemas.
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?
Provides clear context that this is for batch requests, implying use when multiple addresses are needed. Does not explicitly state exclusions or name alternatives (e.g., 'use geocode for single addresses'), so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_location_lookupB
๐ REVOLUTIONARY: Batch lookup for multiple locations. Each location can be specified by coordinates or DigiPin (up to 100 locations).
| Name | Required | Description | Default |
|---|---|---|---|
| locations | Yes | Array of location objects (each with latitude+longitude OR digipin) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations or output schema are provided, so the description must disclose behavior. It only restates the input cap that is already in the schema and gives no information about result shape, failure handling, ordering, rate limits, or side effects. 'REVOLUTIONARY' adds no behavioral value.
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 substantive content is compact and front-loaded: batch scope, input forms, and limit all appear in two short sentences. The '๐ REVOLUTIONARY' prefix is unnecessary marketing noise, preventing a perfect score.
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 no output schema and no annotations, the description should at least indicate what the caller gets back, how invalid/unknown locations are handled, and how this relates to the sibling lookup tools. None of that is present, so the definition is not complete enough for confident 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?
The schema already documents the only parameter fully: an array of objects with either latitude+longitude or digipin, max 100 items. The description adds no new parameter-level meaning beyond repeating this structure, so the baseline of 3 applies.
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?
States a specific action ('batch lookup') on a specific resource ('multiple locations') and identifies the two allowed input forms (coordinates or DigiPin) plus the 100-location cap. It is distinguishable from the single-location siblings, though it does not specify what the lookup returns or contrast with batch_geocode.
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?
Usage is implied: callers should use this when they have multiple locations specified by coordinates or DigiPin. However, there is no explicit guidance about when to choose it over batch_geocode, the single-lookup siblings, or autocomplete, and no exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coordinates_to_digipinA
Convert latitude and longitude coordinates to a DigiPin code.
| Name | Required | Description | Default |
|---|---|---|---|
| latitude | Yes | Latitude coordinate (-90 to 90) | |
| longitude | Yes | Longitude coordinate (-180 to 180) |
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 of behavioral disclosure. It states only the core transformation and does not mention return format, error behavior, encoding caveats, or whether any validation occurs, leaving the agent without expectations for edge cases.
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, efficient sentence with no filler. The essential input-to-output relationship is front-loaded and every word contributes meaning.
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?
The tool is simple and all parameters are documented, but there is no output schema or annotation coverage. The description would be more complete if it specified the exact return value format and behavior on invalid coordinates, though the basic usage is still inferable.
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 fully documents both parameters with ranges, giving 100% schema description coverage, so the baseline is 3. The description adds nothing about coordinate systems, precision, or formatting beyond what the schema already provides, but for a simple conversion this is acceptable.
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 ('Convert') and clearly names both the input ('latitude and longitude coordinates') and the output ('a DigiPin code'). This makes the tool's purpose immediately distinguishable from sibling geocoding and lookup tools.
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 conversion context is clear, so an agent can infer this tool is for turning raw coordinates into a DigiPin identifier. However, the description does not explicitly name alternatives or state when not to use it, leaving routing among sibling tools like reverse_geocode or lookup_location_from_coordinates to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_nearby_boundariesA
Find nearby postal boundaries within a specified radius (NOT YET IMPLEMENTED - Coming Soon). The backend endpoint /v1/location/nearby needs to be implemented first.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results (default: 10, max: 50) | |
| latitude | Yes | Center latitude | |
| longitude | Yes | Center longitude | |
| radius_km | No | Search radius in kilometers (default: 5.0, max: 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It honestly states that the tool is not yet implemented and names the missing backend endpoint, which is a critical behavioral trait: calling it now will fail. However, it doesn't describe what the tool will do when implemented, such as output format or error behavior.
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 fluff. The functional purpose is front-loaded, followed immediately by a clear status warning. The second sentence adds the specific backend dependency without redundancy.
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 that is not yet implemented, the description adequately signals that it should not be invoked. However, it lacks guidance on alternatives from the sibling set, details about what postal boundaries means in this context, and any sense of what the tool will return once implemented. Given the absence of an output schema, these gaps are noticeable but not fatal.
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 parameters are already fully documented in the input schema. The description adds no parameter-level meaning beyond the generic phrase 'within a specified radius,' which the radius_km parameter already conveys. This matches the baseline for full schema coverage.
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 and resource: 'Find nearby postal boundaries within a specified radius.' This clearly distinguishes the tool from siblings like geocode or reverse_geocode, which target coordinates and addresses rather than boundary polygons. The 'NOT YET IMPLEMENTED' note does not obscure what the tool is designed to do.
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 when-to-use guidance or comparison with alternatives. The only usage-relevant signal is that the tool is not yet implemented, which implicitly tells the agent not to call it, but it never states what should be used instead or under what conditions this tool would be appropriate once implemented.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geocodeC
Geocode an address to get DigiPin code and coordinates. Returns location information including latitude, longitude, and DigiPin.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City name (optional) | |
| state | No | State name (optional) | |
| address | Yes | The address to geocode (required) | |
| country | No | Country name (optional, defaults to India) | |
| pincode | No | Postal code (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It says the tool returns latitude, longitude, and DigiPin, but does not mention rate limits, error behavior, address ambiguity handling, or whether it is read-only. For a geocoding API, several behavioral assumptions remain undisclosed.
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 short, front-loaded sentences with no filler. The first sentence names the verb, input, and primary outputs; the second expands on the return values. There is slight redundancy between 'get DigiPin code and coordinates' and 'including latitude, longitude, and DigiPin', but the text is still 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?
For a 5-parameter tool with no output schema and no annotations, the description gives the core mapping from address to coordinates/DigiPin but omits return format details and guidance on when to use related geocoding/lookup tools. The schema covers parameters, so the main completeness gap is behavioral and alternative-selection context.
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 baseline 3 applies. The description's mention of address and outputs is consistent with the schema but adds no parameter information beyond what the schema already states, such as the optional fields or the India country default.
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 ('Geocode') and resource ('an address') and clearly states the expected outputs ('DigiPin code and coordinates', 'latitude, longitude, and DigiPin'). It is not a tautology and is semantically distinct from reverse_geocode or lookup_location_from_digipin. However, it does not explicitly name or differentiate from any sibling, which keeps it just short of 5.
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 an address-to-coordinates use case, but it never states when to choose this tool over alternatives such as reverse_geocode, batch_geocode, or autocomplete. No exclusions or alternative conditions are provided, leaving tool selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_healthA
Check API health status and availability.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It communicates a non-mutating read-only intent through 'Check' and mentions availability, but it does not disclose response format, possible status codes, or whether auth is required. This is adequate for a simple no-parameter health check but not comprehensive.
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 compact sentence with no filler. The action and target are front-loaded, making it easy for an agent to parse quickly.
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 zero-parameter health check with no output schema, the description covers the essential intent and is sufficient for an agent to understand what the tool does. It does not detail the exact response, but the simplicity of the tool lowers the burden; still, a note on expected return payload would make it 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?
There are zero parameters, so the schema already exhaustively defines the input contract. The description adds nothing about parameters, and none is needed. Baseline 4 for zero-parameter tools 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 a specific verb ('Check') and a clear resource ('API health status and availability'), making it unmistakably distinct from the geocoding and location siblings. It immediately tells an agent what this tool does.
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 verifying service health, but it does not explicitly state when to choose this over siblings like get_usage or other status-related tools. No alternatives or exclusion conditions are provided, though the purpose is clear enough to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_location_statisticsA
Get live statistics about the Location Lookup service (total boundaries, states, divisions, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full behavioral disclosure. It offers one behavioral trait ('live') but does not explicitly state whether the operation is read-only, whether results are cached, or what response format to expect. For a zero-parameter stats endpoint, this is modest but not comprehensive disclosure.
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 that leads with the action and object, then adds concrete examples in parentheses. Every word earns its place; no filler or repetition of schema data.
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 zero-parameter endpoint with no output schema, the description covers the key expectations by naming the statistics categories. The trailing 'etc.' leaves the full return shape unspecified, but the core use is clear given the tool's 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 tool takes zero parameters, so there are no parameter semantics to document; the empty schema makes this unambiguous. The description adds no parameter-level information because none is needed, aligning with the 0-params baseline of 4.
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?
States a specific verb ('Get') and resource ('live statistics about the Location Lookup service'), with concrete examples (total boundaries, states, divisions). This clearly distinguishes it from geocoding siblings like geocode and reverse_geocode, and from get_usage/get_health which cover different concerns.
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 when to use the tool by specifying the subject matter (service statistics), but it does not explicitly contrast it with get_usage or get_health, nor state when not to use it. An agent can infer the purpose but gets no explicit routing among similar administrative endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_usageA
Get API usage statistics and quota information.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 of behavioral disclosure. It indicates a read operation via 'Get', but gives no detail about quota window, scope, authentication, response shape, or whether any side effects exist. For a no-annotation tool, this is a notable gap.
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 filler. It conveys the action and the resource succinctly and earns every word.
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 zero-parameter tool with no output schema, the description states the core return content: usage statistics and quota information. It is sufficient for basic invocation, though it could benefit from clarifying what kind of quota or time period is covered.
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 zero parameters, so the baseline is 4. The description adds no parameter-specific meaning, but none is needed because there is nothing to configure or pass.
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, 'Get', and a concrete resource, 'API usage statistics and quota information'. This clearly distinguishes it from sibling tools like get_health and get_location_statistics, which target different data.
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 such as get_usage versus get_health or the location-related endpoints. There is no mention of context, alternatives, or exclusions, so an agent has to infer the appropriate use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_location_from_coordinatesC
๐ REVOLUTIONARY: Get administrative boundaries (pincode, state, division, locality) from coordinates. Provides precision that even government services don't offer.
| Name | Required | Description | Default |
|---|---|---|---|
| latitude | Yes | Latitude coordinate (-90 to 90) | |
| longitude | Yes | Longitude coordinate (-180 to 180) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'precision' but does not describe output format, error handling, rate limits, coordinate validity handling, or whether the result is nearest-boundary matching. The promotional phrase 'even government services don't offer' adds no functional transparency.
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 one sentence, but it opens with the useless hype phrase '๐ REVOLUTIONARY' and includes a marketing claim rather than functional details. This is not efficient front-loading; it wastes the most prominent position on noise instead of actionable information.
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?
There is no output schema, so the description must explain what the tool returns. It does list pincode, state, division, and locality, but it does not describe the response structure, coordinate edge cases, or any usage constraints. Given the sibling tools and absent annotations, this is not complete enough for an agent to confidently invoke and interpret results.
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 latitude and longitude parameters are already fully documented in the schema. The description adds nothing about parameter semantics beyond saying the tool works 'from coordinates', which the schema already conveys. 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 states a specific verb and resource: 'get administrative boundaries (pincode, state, division, locality) from coordinates'. This clearly identifies the tool's purpose and the main output fields. However, it does not explicitly distinguish itself from similar siblings like reverse_geocode or coordinates_to_digipin, so it falls short of a 5.
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 is given on when to use this tool versus alternatives like reverse_geocode, coordinates_to_digipin, or lookup_location_from_digipin. The description implies it is for administrative-boundary lookups but never states exclusions, prerequisites, or comparison to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_location_from_digipinB
๐ REVOLUTIONARY: Get administrative boundaries from a DigiPin code.
| Name | Required | Description | Default |
|---|---|---|---|
| digipin | Yes | DigiPin code (format: XXX-XXX-XXXX) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states a bold yet vague 'REVOLUTIONARY' and the core function. It does not disclose read-only nature, error behaviors for invalid DigiPins, rate limits, or any additional side effects. The lack of detail leaves significant uncertainty about what happens on wrong input or what the response format is.
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, which is concise, but it begins with '๐ REVOLUTIONARY:' - a marketing embellishment that adds no functional value and detracts from professionalism. The core information is present, but the fluff wastes space and is not front-loaded as useful content.
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?
There is no output schema, so the description should explain what the agent will receive. 'Administrative boundaries' is vague - it could mean names, codes, geometries, or something else. The description also omits error handling, pagination, or any constraints. For a tool with a single parameter and no output schema, this is insufficient for an agent to confidently invoke and process the result.
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 covers 100% of the single parameter with a clear description of the expected format ('DigiPin code (format: XXX-XXX-XXXX)'). The tool description adds no additional parameter-level semantics beyond the schema, so a baseline score of 3 is appropriate since the schema already adequately documents the input.
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 function: 'Get administrative boundaries from a DigiPin code.' This is a specific verb ('get') + resource ('administrative boundaries') + source ('DigiPin code'), which immediately distinguishes it from siblings like lookup_location_from_coordinates and validate_digipin. The name and schema confirm the input, and the description makes the output intent clear.
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 is given on when to use this tool versus alternatives. The description does not mention any prerequisites, exclusions, or prefered scenarios. For example, it does not say 'use this when you have a DigiPin and need boundary data, otherwise use lookup_location_from_coordinates.' This leaves the agent to infer based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reverse_geocodeB
Reverse geocode a DigiPin code to get coordinates and address information.
| Name | Required | Description | Default |
|---|---|---|---|
| digipin | Yes | The DigiPin code to reverse geocode (format: XXX-XXX-XXXX) |
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 does disclose that the operation returns coordinates and address information, and 'reverse geocode' implies a read-only lookup. However, it does not mention output structure, error behavior, rate limits, or any other behavioral constraints that an agent might need.
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 clear sentence that wastes no words. It front-loads the primary action and includes the expected outcome efficiently.
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 one-parameter tool the description is minimal, but sibling tools such as lookup_location_from_digipin create ambiguity that is not resolved. There is no output schema to compensate, and the description does not specify return format, failure modes, or when this tool should be chosen over overlapping alternatives.
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 fully documents the only parameter, including its format. The description adds no extra meaning about the parameter beyond saying that it is the DigiPin code to reverse geocode, which matches the schema baseline.
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-resource pairing: 'Reverse geocode a DigiPin code' and states the result, 'coordinates and address information.' It is clear and distinct from a forward geocode tool, though it does not differentiate itself from the similarly named sibling lookup_location_from_digipin.
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?
There is no explicit guidance on when to use this tool versus alternatives like lookup_location_from_digipin or batch_location_lookup. The context is only implied by the word 'reverse,' and no exclusions or alternative routing are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_digipinC
Validate a DigiPin format and check if it corresponds to a real location.
| Name | Required | Description | Default |
|---|---|---|---|
| digipin | Yes | The DigiPin code to validate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It mentions the two checks performed (format and real-location correspondence) but does not state what is returned, how validity is signaled, or whether an invalid DigiPin produces an error or a boolean result.
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 filler. It states the action and the condition being checked in a compact way, and every word contributes meaning.
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 one parameter, no output schema, and no annotations, the description is insufficiently complete: an agent still does not know what a valid/invalid result looks like, whether it should prefer this over lookup_location_from_digipin, or what the returned data shape is.
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 fully documents the single digipin parameter, so the baseline is 3. The description adds some context about format and existence checking, but it does not elaborate on accepted formats, normalization, or error-handling for the parameter beyond what the schema already says.
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 'validate' and names the resource (DigiPin) plus the additional existence check against real locations. This makes the tool's purpose clear and distinguishes it from lookup-style siblings like lookup_location_from_digipin, though it does not explicitly call out that distinction.
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 is provided about when to use this tool versus alternatives such as lookup_location_from_digipin or coordinates_to_digipin. The intended context is only implied by the word 'validate' rather than explicitly stated.
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.
13 tool updates
v1.0.0- First observed
autocomplete - First observed
batch_geocode - First observed
batch_location_lookup - First observed
coordinates_to_digipin - First observed
find_nearby_boundaries - First observed
geocode - First observed
get_health - First observed
get_location_statistics - First observed
get_usage - First observed
lookup_location_from_coordinates - First observed
lookup_location_from_digipin - First observed
reverse_geocode - First observed
validate_digipin
TDQS
Most tools have distinct purposes: geocode handles addresses, reverse_geocode handles DigiPins, and lookup_location_* handles administrative boundaries. Some pairs share inputs (e.g., coordinates_to_digipin vs lookup_location_from_coordinates) and could be confused, but descriptions clarify the different outputs.
The naming mixes verb-first patterns (geocode, validate_digipin, get_usage) with noun-first phrases (coordinates_to_digipin, batch_location_lookup) and varied verbs (get, lookup, find). While readable, the lack of a uniform convention makes the set feel inconsistent.
13 tools is reasonable for a geocoding service covering geocoding, reverse geocoding, batch operations, autocomplete, validation, and administrative boundaries. The count is slightly inflated by the unimplemented find_nearby_boundaries tool and multiple meta endpoints, but overall well-scoped.
The core geocoding/reverse geocoding lifecycle is covered, including batch and autocomplete operations, plus administrative boundary lookups. Minor gaps include the missing nearby-boundaries functionality and no batch reverse geocoding from DigiPins to addresses, but these are workable or explicitly marked.
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
Address validation & geocoding for AI agents: 240+ countries, UK PAF, free US/CA enrichment
Geocoding, weather forecasts, and timezone lookups
Geolocate Me turns your phone into location context for any AI assistant. Install the iOS or Android app, connect once with OAuth, and your GPS is queryable in natural language. Ask where you are, where you parked, where you were yesterday at 3pm, or how long you were at the office โ the assistant calls the tool and answers with a real street address. https://geolocateme.app
Worldwide place search with coordinates (Open-Meteo) โ paid per call (x402/credits), 1 tools
Related MCP Servers
- AlicenseAqualityCmaintenanceEnhances LLM capabilities with location-based services and geospatial data, enabling users to geocode addresses, find nearby points of interest, get directions, optimize meeting points, and analyze neighborhoods.12222MIT
- FlicenseNot gradedqualityDmaintenanceProvides comprehensive geographic information services and route planning for AI agents via the Amap (Gaode Maps) API. It supports geocoding, multi-modal navigation, POI searches, and administrative region queries.3-
- 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/mapdevsaikat/quantaroute-geocoder'
If you have feedback or need assistance with the MCP directory API, please join our Discord server