Amap MCP Server
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., "@Amap MCP ServerWhat's the fastest driving route from 武汉天地 to 天河机场?"
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.
高德地图 MCP Server · Amap MCP Server
🇬🇧 English
A Model Context Protocol (MCP) server that wraps the Amap (高德地图) Web Service APIs, giving AI assistants like Claude Code 9 map tools: geocoding, route planning (driving/transit/walking/cycling), POI search, nearby search, distance measurement, and IP location.
Why this exists: There was no publicly available Amap/Baidu Maps MCP Server on Smithery or anywhere else (as of 2026-06). Google Maps MCP exists but its China coverage is poor. This fills that gap.
Features
Tool | Description |
| Address ↔ Coordinates (forward & reverse) |
| 🚗 Driving directions with multi-strategy (fastest/cheapest/shortest/avoid-congestion) |
| 🚌 Public transit directions (bus + subway) with cost & transfer info |
| 🚶 Walking directions |
| 🚲 Cycling directions |
| 🔍 POI search by keyword (restaurants, hotels, gas stations, etc.) |
| 📍 Nearby search within a radius |
| 📏 Batch distance/time measurement (up to 10 origins) |
| 🏆 Rating-based POI ranking — like Amap's "Street Ranking". Search by keyword, sort by rating/cost, top N |
| 📋 POI detail lookup — get full info (rating, cost, hours, photos, reviews) by POI ID |
| 🌤 Weather query — real-time or 4-day forecast for any Chinese city |
| 🏠 IP-based coarse location (city level) |
Prerequisites
Node.js ≥ 18
Amap API Key (Web Service type, NOT Web JS API)
Free tier: 5,000 calls/day per endpoint
Installation
git clone https://github.com/zengzeruidd-a11y/amap-mcp-server.git
cd amap-mcp-server
npm installConfiguration
Add to your Claude Code .mcp.json (global: ~/.claude/.mcp.json or project: .mcp.json):
{
"amap": {
"command": "node",
"args": ["/path/to/amap-mcp-server/server.js"],
"env": {
"AMAP_KEY": "your-amap-api-key-here"
}
}
}Restart Claude Code. The 9 tools will appear automatically.
For other MCP-compatible clients (Cursor, Windsurf, etc.), configure via their respective MCP settings.
Usage Examples
Once configured, ask Claude:
"What's the fastest driving route from 武汉天地 to 天河机场 on Saturday morning?"
"Find hotpot restaurants within 2km of 光谷广场, sorted by rating"
"How do I get from 汉口站 to 武昌站 by subway?"
"Compare distances from my home, office, and the train station to 天河机场"
"Find the top 10 highest-rated cocktail bars within 5km of 三乡, sorted by rating"
API Reference
All tools use the Amap Web Service API v3/v4. See Amap API Docs for details.
Strategy | Driving | Transit |
0 | Speed first | Fastest |
1 | Cost first | Cheapest |
2 | Distance first | Fewest transfers |
3 | Avoid congestion | Least walking |
4 | Avoid congestion + Speed first | — |
5 | Multi-strategy compare | No subway |
License
MIT © 2026 曾泽瑞 (Zeng Zerui)
Related MCP server: google-maps-mcp-server
🇨🇳 中文
一个 MCP (Model Context Protocol) 服务器,封装了高德地图 Web 服务 API,为 Claude Code 等 AI 助手提供 9 个地图工具:地理编码、四种路径规划(驾车/公交/步行/骑行)、POI 搜索、周边搜索、距离测量、IP 定位。
为什么做这个: 截至 2026 年 6 月,Smithery 等 MCP 市场上没有任何高德/百度地图的 MCP Server。Google Maps MCP 有,但国内路线覆盖差。这个项目填补了空白。
功能
工具 | 说明 |
| 地址 ↔ 经纬度互转(正向 + 逆地理编码) |
| 🚗 驾车路径规划,支持多策略(最快/最省钱/最短/躲避拥堵) |
| 🚌 公交地铁规划,含票价、换乘次数、步行段 |
| 🚶 步行导航 |
| 🚲 骑行导航 |
| 🔍 关键词搜索地点(餐厅、酒店、加油站等) |
| 📍 周边搜索(指定半径) |
| 🏆 评分榜单——类似高德「扫街榜」,按评分/价格排序,Top N |
| 📋 POI 详情——根据 ID 获取完整信息(评分/人均/营业时间/图片/评论) |
| 🌤 天气查询——全国城市实时天气或 4 日预报 |
| 📏 批量测距(最多 10 个起点同时比较) |
| 🏠 IP 粗略定位(城市级) |
前置条件
Node.js ≥ 18
高德开放平台 API Key(选 Web 服务 类型,不是 Web 端 JS API)
免费额度:每个接口 5,000 次/天
安装
git clone https://github.com/zengzeruidd-a11y/amap-mcp-server.git
cd amap-mcp-server
npm install配置
在 Claude Code 的 .mcp.json 中添加(全局:~/.claude/.mcp.json 或项目级:.mcp.json):
{
"amap": {
"command": "node",
"args": ["/path/to/amap-mcp-server/server.js"],
"env": {
"AMAP_KEY": "你的高德API密钥"
}
}
}重启 Claude Code,9 个工具自动加载。
其他 MCP 兼容客户端(Cursor、Windsurf 等)请参考各自的 MCP 配置方式。
使用示例
配置好后,直接问 Claude:
"从武汉天地开车到天河机场,周六上午出发,哪条路线最快?"
"光谷广场周边 2 公里内有没有评分高的火锅店?"
"从汉口站到武昌站怎么坐地铁最快?"
"帮我算一下从家、公司和火车站分别到天河机场的距离和时间"
"三乡附近 5 公里内评分最高的 10 家清吧有哪些?按评分排"
驾车策略
策略 | 含义 |
0 | 速度优先(最快) |
1 | 费用优先(不走高速) |
2 | 距离优先 |
3 | 躲避拥堵(不走快速路) |
4 | 躲避拥堵 + 速度优先 |
5 | 多策略对比 |
公交策略
策略 | 含义 |
0 | 最快捷 |
1 | 最经济 |
2 | 最少换乘 |
3 | 最少步行 |
5 | 不乘地铁 |
已知限制
坐标格式:
lng,lat(经度在前)—— 高德特有,非国际惯例实时路况需要企业版权限,当前使用静态时间估算
公交跨城规划有限支持
海外地址覆盖有限,主要覆盖中国大陆
License
MIT © 2026 曾泽瑞 (Zeng Zerui)
Available Tools
12 toolsamap_direction_bicyclingA
骑行路径规划。返回骑行路线——总距离、预计时间、沿途道路。
| Name | Required | Description | Default |
|---|---|---|---|
| origin | Yes | 起点 | |
| destination | Yes | 终点 |
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 does mention the output (route, distance, time, roads), but does not disclose any potential limitations, required input formats, or error scenarios. For a simple read-only query tool, this is adequate but not rich.
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 concise sentence that states the core purpose and output. No wasted words or 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 with only two required parameters and no output schema, the description covers the essential purpose and return information. It could mention input formats or limitations, but given the simplicity of the tool, it is reasonably 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% (both origin and destination have descriptions, albeit minimal). The description itself adds no parameter-specific meaning, 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?
The description clearly states it performs bicycle route planning ('骑行路径规划') and specifies the return contents (total distance, estimated time, roads). This clearly distinguishes it from sibling direction tools like walking, driving, and transit.
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 does not provide any guidance on when to use this tool versus alternatives. It merely describes the tool's function without mentioning conditions or exclusions, such as 'use this for cycling, use driving for motor vehicles.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amap_direction_drivingA
驾车路径规划。传入起点/终点(支持坐标或地址),返回最优路线——含总距离、预计时间、沿途步骤、过路费、红绿灯数。strategy: 0=速度优先, 1=费用优先, 2=距离优先, 3=躲避拥堵(不走快速路), 4=躲避拥堵&速度优先, 5=多策略对比。
| Name | Required | Description | Default |
|---|---|---|---|
| origin | Yes | 起点,支持坐标(lng,lat)或地址 | |
| strategy | No | 策略: 0-速度优先, 1-费用优先, 2-距离优先, 3-躲避拥堵, 4-躲避拥堵&速度优先, 5-多策略 | |
| avoidroad | No | 避开路段名称 | |
| waypoints | No | 途经点,最多16个,坐标用;分隔,如 116.46,39.92;116.47,39.93 | |
| destination | Yes | 终点,支持坐标(lng,lat)或地址 | |
| origin_type | No | origin为坐标时填1,地址时填0或不传 | |
| avoidpolygons | No | 避开区域,格式 lng,lat;lng,lat;...(多边形) | |
| destination_type | No | destination为坐标时填1,地址时填0或不传 |
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 provides substantial transparency by listing return data (total distance, estimated time, steps, tolls, traffic light count) and elaborates on strategy semantics (e.g., strategy 3 means avoid congestion by not taking expressways). However, it does not mention potential side effects, error behavior, or rate limits, but these are less critical for a read-only route planning 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 description is concise: two sentences front-load the core purpose and output, followed by a compact strategy breakdown. Every sentence carries useful information, with no filler or redundant content. It is appropriately scoped for the tool's complexity.
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 8 parameters and no output schema, the description does a reasonable job explaining the primary inputs (origin/destination) and output fields, but it overlooks secondary parameters like waypoints, avoidroad, and avoidpolygons. These are left entirely to the schema. The description captures the core route planning behavior but doesn't fully cover all use cases or parameter interactions, leaving some gaps for a tool of this complexity.
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% parameter coverage with descriptions, so the baseline is 3. The description adds a bit of extra context by re-explaining the strategy codes and noting that origin/destination support coordinates or addresses, but this largely duplicates the schema. It does not introduce new parameter semantics beyond what the schema already provides.
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 as '驾车路径规划' (driving route planning) with a specific verb and resource. It distinguishes itself from sibling tools (walking, transit, bicycling) by explicitly focusing on driving and lists key outputs like distance, time, steps, toll fees, and traffic lights.
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 driving route planning but does not explicitly contrast it with alternatives such as walking or transit. It mentions input format (coordinates or addresses) and strategy options, but there is no explicit 'when to use' or 'when not to use' guidance. Since the tool name and context signal driving, usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amap_direction_transitA
公交/地铁路径规划。传入起点/终点和所在城市,返回公交换乘方案——含步行段、公交线路、地铁线路、换乘次数、总耗时、票价。
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | 城市,如「北京」 | |
| date | No | 日期,YYYY-MM-DD | |
| time | No | 时间,HH:MM | |
| cityd | No | 终点城市(跨城时使用) | |
| origin | Yes | 起点,支持坐标(lng,lat)或地址 | |
| strategy | No | 策略: 0-最快捷, 1-最经济, 2-最少换乘, 3-最少步行, 5-不乘地铁 | |
| destination | Yes | 终点,支持坐标(lng,lat)或地址 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It lists the return contents (transfer plan with details) but does not disclose potential caveats like cross-city support (cityd parameter), the effect of strategy, error behavior, or any limitations. The output list is helpful but insufficient.
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 that states the purpose first and then details the return contents. It is concise and free of 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?
With 7 parameters and no output schema, the description gives a useful high-level view of the return plan but omits explanations for optional parameters (date, time, cityd, strategy) and potential edge cases. It is adequate but lacks depth for a complex tool.
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 reiterates the main parameters (origin, destination, city) but adds no additional meaning beyond what the schema already provides.
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 it performs bus/subway route planning and returns a transit transfer plan including walking segments, bus/subway lines, transfer count, duration, and fare. This specific verb+resource combination distinguishes it from sibling tools for driving, walking, and bicycling.
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 transit routing by naming '公交/地铁路径规划', but it does not explicitly state when to use this tool versus alternatives like driving or walking. It mentions required inputs (origin, destination, city) but provides no exclusions or comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amap_direction_walkingA
步行路径规划。返回步行路线——总距离、预计时间、每一步指引。
| Name | Required | Description | Default |
|---|---|---|---|
| origin | Yes | 起点 | |
| destination | Yes | 终点 |
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 discloses that the tool returns total distance, estimated time, and step-by-step directions, which is useful. However, it does not mention whether origin/destination should be addresses, coordinates, or specific formats, nor does it state any safety or side-effect aspects (though none are expected).
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 is front-loaded with the purpose and immediately lists the key return items. There is no redundant or filler text.
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 that there is no output schema, the description adequately summarizes the main return fields (distance, time, directions). However, it lacks usage guidance and parameter format details, which would be helpful for an agent. Still, for a simple route-planning tool, it is reasonably 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?
The input schema already describes both parameters ('起点' and '终点') with 100% coverage. The description adds no additional meaning about parameter formats or how to specify locations, so it does not go beyond what the schema provides.
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 '步行路径规划' (walking route planning) and explicitly lists the return content: total distance, estimated time, and step-by-step directions. This distinguishes it from sibling direction tools like driving, transit, and bicycling by specifying the mode of travel.
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 walking versus the alternative direction tools (driving, transit, bicycling). It only states the function, with no mention of prerequisites, exclusions, or contextual recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amap_distanceB
距离测量。计算多个起点到一个终点的驾车距离和时间。用于比较不同出发点的可达性。
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | 0=直线距离, 1=驾车距离, 2=步行距离(限5km内), 3=骑行距离(限20km内) | |
| origins | Yes | 起点坐标列表,最多10个,用|分隔,如 116.38,39.92|116.46,39.99 | |
| destination | Yes | 终点坐标(lng,lat) |
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 claims to compute 'driving distance and time' but the schema shows multiple travel modes (type 0-3), a direct contradiction. It also omits important behaviors such as coordinate format, maximum of 10 origins, and distance limits for walking/cycling. The description misrepresents the tool's full capabilities.
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 concise and front-loaded, consisting of two short sentences: '距离测量。计算多个起点到一个终点的驾车距离和时间。' There is no unnecessary wording, making it easy to scan.
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 but the description is incomplete. It fails to mention the 'type' parameter's multiple modes, which is a key feature. It also does not describe output structure or limitations beyond what the schema states. Given no output schema and no annotations, the description should compensate more; it only covers the driving scenario, leaving the broader functionality undocumented.
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 adds minimal parameter context by mentioning 'multiple origins to one destination' but does not elaborate on the 'type' parameter or coordinate syntax. It provides no additional value 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 clearly states the tool measures distance and time from multiple origins to one destination, with the purpose of comparing accessibility of different starting points. It distinguishes itself from sibling direction tools by focusing on multi-origin comparison. However, the qualifier 'driving' is overly specific and misleading because the schema's 'type' parameter supports walking, cycling, and straight-line distance as well.
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 a clear usage context: '用于比较不同出发点的可达性' (used to compare accessibility of different starting points). This implies when to use the tool, but it does not explicitly mention alternatives or conditions when not to use it. The guidance is clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amap_geocodeA
地址 ↔ 经纬度互转。传入 address 将地址解析为经纬度;传入 location(lng,lat)做逆地理编码返回结构化地址。做任何路径规划前,先用此工具获取起点/终点的坐标。
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | 城市,缩小搜索范围,如「北京」 | |
| address | No | 结构化地址,如「北京市朝阳区阜通东大街6号」 | |
| location | No | 经纬度(lng,lat),做逆地理编码时使用,如「116.481488,39.990464」 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It adequately discloses the core behaviors: forward geocoding returns coordinates, reverse geocoding returns a structured address. It also sets expectations about the input/output relationship, though it omits potential edge cases like ambiguous addresses or rate limits.
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 concise and front-loaded: the first sentence states the core conversion capability, and the second sentence provides a clear usage tip. No wasted 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?
The description covers the essential aspects for a simple 3-parameter tool with no output schema: it explains both directions, mentions the return types, and positions the tool within the broader workflow. It could specify more about return format or failure behavior, but it is sufficiently complete for an agent to use it 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 descriptions already cover all three parameters at 100% coverage, so the description adds limited extra semantic value. It reinforces which parameter to use for which direction, and adds the contextual note about narrowing city scope, but the schema already provides examples and explanations. 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: converting between addresses and coordinates, with explicit mention of both directions. It distinguishes itself from sibling direction/POI tools by framing itself as a preliminary step for path planning.
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 context on when to use the tool: before any route planning to obtain start/end coordinates. It also explains the two usage modes (address-provided or location-provided), giving practical guidance, though it does not explicitly mention when not to use it or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amap_ip_locationA
IP 定位。获取当前网络出口的粗略位置(城市级别),用于快速确定「我在哪」。无需任何参数。
| 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 discloses that the location is approximate and at city level, and that no parameters are needed. This covers the key behavioral traits of this simple read-only 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 description is two short sentences, front-loaded with 'IP 定位', and every sentence adds value 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?
Given the tool has zero parameters and no output schema, the description adequately covers its purpose, behavior, and use case. It could mention the return format, but for a simple location lookup this is 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?
Since there are no parameters, the schema coverage is 100% and the description reinforces this with '无需任何参数'. The baseline for 0 params is 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?
The description clearly states the tool's function: 'IP 定位' and getting the current network egress's approximate city-level location. It also indicates the use case ('快速确定我在哪'), distinguishing it from geocoding and POI 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?
It says when to use this tool: to quickly determine your current location. However, it does not explicitly name alternative tools or give exclusion criteria, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amap_poi_aroundA
周边搜索。给定中心点和半径,搜索周边POI——找附近的餐厅、停车场、银行等。
| Name | Required | Description | Default |
|---|---|---|---|
| types | No | POI类型代码 | |
| offset | No | 每页条数 | |
| radius | No | 搜索半径(米),默认3000,最大50000 | |
| keywords | No | 搜索关键词 | |
| location | Yes | 中心点坐标(lng,lat) | |
| sortrule | No | 排序: distance=距离, weight=权重 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It does not mention whether the operation is read-only, any pagination behavior, result formatting, or limitations beyond the basic search action. The description is purely functional and lacks important context about what the agent can expect.
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 that immediately communicates the core action and includes practical examples. Every word earns its place, with no redundancy or fluff.
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 and no annotations, the description should provide more context about return values or behavioral details. The parameter names are documented in the schema, but the description is thin for a tool with 6 parameters, lacking any mention of pagination, sorting, or result structure. It is minimally adequate but not rich.
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 all 6 parameters with descriptions, so the baseline is 3. The description adds minimal semantic value by naming 'center point and radius' but does not explain parameters like types, offset, sortrule, or keywords beyond what the schema already provides.
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 performs a '周边搜索' (surrounding search) given a center point and radius, with concrete examples like restaurants, parking lots, and banks. This specific verb+resource combination distinguishes it from sibling tools such as amap_poi_search (keyword-based) and amap_poi_detail.
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 when needing POIs near a location via '给定中心点和半径', but it does not explicitly state when to use this tool over alternatives like amap_poi_search or amap_poi_ranking. No direct comparisons or when-not-to-use guidance is provided, so usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amap_poi_detailA
POI 详情查询。根据 POI ID 获取详细信息——评分、人均、营业时间、图片。配合搜索/扫街榜使用。
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | POI ID,来自搜索结果的 id 字段 |
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 discloses the type of information returned (score, per-person cost, hours, images) and implies a read-only lookup. It does not discuss error behaviors or rate limits, but for a simple detail retrieval the description is reasonably transparent.
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 is front-loaded with the tool's purpose, followed by usage context and key fields. There is no redundant wording, making it appropriately 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?
For a tool with one parameter and no output schema, the description explains what it does, how to use it, and what kind of data is returned. It could mention potential error cases or response format, but the information provided is sufficient for basic invocation and integration with sibling tools.
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 provides 100% parameter coverage with 'id' described as 'POI ID,来自搜索结果的 id 字段' (POI ID from the search result's id field). The description adds that this tool is for details using that ID, but it doesn't introduce information beyond the schema's own parameter description, 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?
The description clearly identifies the tool as 'POI 详情查询' (POI detail query) and explains it retrieves detailed information by POI ID, listing specific fields (rating, per capita, business hours, images). This distinguishes it well from sibling tools like search, directions, and geocoding.
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 explicitly indicates it is used together with search/ranking tools ('配合搜索/扫街榜使用'), implying the intended workflow (get ID from search, then call this tool for details). It does not list explicit exclusion cases, but the context is clear enough for a single-purpose detail lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amap_poi_rankingA
POI 评分榜单 —— 类似高德「扫街榜」。搜索指定区域/城市内某类POI,按评分/价格排序,返回Top N。找好餐厅、好酒吧、热门打卡地就用这个。
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | 返回前N条,默认10,最大25 | |
| city | No | 城市,如「中山」「珠海」 | |
| sort | No | 排序方式: rating=评分降序(默认), cost_asc=价格升序, cost_desc=价格降序 | |
| types | No | POI类型代码,如「050100」(中餐厅)「050200」(外国餐厅) | |
| radius | No | 周边搜索半径(米),默认 5000,最大 50000 | |
| keywords | Yes | 搜索关键词,如「清吧」「西餐」「糖水」「火锅」 | |
| location | No | 中心点坐标(lng,lat),传入后做周边搜索并按评分排序 | |
| min_rating | No | 最低评分过滤,如「4.0」只返回4星以上 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavior. It mentions the core behavior (search, sort, return top N) but doesn't explicitly state that this is a read-only operation or clarify limitations such as the need for location/city or the max 'top' value. This is sufficient but not rich.
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-loads the tool's identity and purpose, includes a helpful analogy, and gives concrete use cases. Every word earns its place with zero 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?
Given the moderate complexity (8 parameters, no output schema), the description adequately covers the main use case and expected result (top N sorted list). It does not explain edge cases like location+radius interplay or minimum rating, but these are well-captured in the schema, so the description is not critically incomplete.
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 adds no parameter-specific details beyond what the schema already provides, aside from reinforcing the sorting concept. It does not compensate further or introduce ambiguity.
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: searching POIs in a specified area/city and returning a sorted top-N list by rating/price. The analogy to '扫街榜' and the use cases ('找好餐厅、好酒吧') make it distinct from sibling tools like amap_poi_search or amap_poi_around.
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 provides clear context for when to use the tool ('找好餐厅、好酒吧、热门打卡地就用这个'), implying a ranking/exploration use case. However, it does not explicitly state when NOT to use it or name alternative sibling tools, so it misses the 'explicit alternatives' bar for a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amap_poi_searchB
POI(兴趣点)搜索。按关键词或类型搜索地点——餐厅、酒店、景点、加油站、停车场等。支持城市范围过滤。
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | 城市,如「北京」或城市编码 | |
| page | No | 页码 | |
| types | No | POI类型代码,如「050000」(餐饮)、「060000」(购物) | |
| offset | No | 每页条数,默认20,最大25 | |
| keywords | Yes | 搜索关键词,如「故宫」「海底捞」「加油站」 | |
| citylimit | No | true=仅限指定城市内搜索 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only mentions '支持城市范围过滤' (supports city range filtering), which largely repeats the citylimit parameter in the schema. It does not disclose what the response contains, pagination behavior, whether results are ordered, or any side effects. For a search tool, this is a significant gap in 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 extremely concise, consisting of a single sentence with three clauses. It is front-loaded with 'POI(兴趣点)搜索' which immediately telegraphs the purpose. Every phrase earns its place: purpose, search modes, examples, and a filtering capability. No redundant fluff.
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 and no annotations, the description should explain what the tool returns and how it behaves. It does not mention the return format (e.g., a list of POIs with names, addresses, coordinates), nor does it elaborate on pagination or the interplay between keywords and types. The tool has 6 parameters and moderate complexity, but the description stops at a high-level overview, leaving important operational details undocumented.
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 adds some context by clarifying that search can be done by keyword or type and by providing examples of place categories. However, these examples do not add significant meaning beyond the existing parameter descriptions, which already include similar examples like '「050000」(餐饮)'. The description does not clarify optionality or combination 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 begins with 'POI(兴趣点)搜索' which clearly states the tool is for searching points of interest. It specifies the modes: '按关键词或类型搜索' (search by keyword or type) and provides concrete examples like '餐厅、酒店、景点、加油站、停车场等' (restaurants, hotels, attractions, gas stations, parking lots). It also mentions the distinct capability of city range filtering, which differentiates it from sibling tools like amap_poi_around that are location-based.
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 should be used when searching for POIs by keyword or type, and it mentions city filtering as a context. However, it provides no explicit guidance on when to use this tool versus alternatives like amap_poi_around, nor does it state any exclusions. The usage context is clear but not fully delineated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amap_weatherA
天气查询。查询指定城市的实时天气或未来预报。
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | 城市名称或 adcode,如「北京」「440300」 | |
| extensions | No | base=实时天气, all=未来4天预报(默认all) |
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 does disclose that the tool returns real-time or forecast weather data, which is useful behavioral information. However, it does not explicitly state that the operation is read-only or safe, nor does it mention any rate limits or response characteristics. For a simple query tool, this is adequate but not exhaustive.
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 sentences, front-loaded with '天气查询' (weather query) and immediately followed by the operative detail. Every word earns its place; there is no fluff or repetition of schema 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?
The tool is simple with two parameters and no output schema. The description covers the core functionality (real-time or forecast weather for a specified city) and is adequate for an agent to select and invoke it. It lacks explicit mention of return values or units, but given the tool's simplicity and full schema coverage, this is a minor gap. A score of 4 reflects that the description is nearly complete for the tool's complexity.
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% coverage with descriptions for both 'city' and 'extensions'. The description adds marginal value by echoing the real-time vs forecast distinction already present in the schema, but it does not provide any additional parameter-level details or examples beyond what the schema offers. Baseline 3 is appropriate given 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 clearly states a specific verb ('查询' / query) and resource (weather for a specified city), and distinguishes itself from sibling tools by focusing on weather rather than directions, geocoding, or POI search. It also specifies the scope (real-time or future forecast), leaving no ambiguity about what the 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 provides clear context: it is for querying weather for a city. While it does not explicitly list when not to use it or mention alternatives, the sibling set is entirely non-weather, so the usage context is unambiguous. However, it lacks explicit guidance on choosing this tool over another, stopping 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.
TDQS
Each tool targets a distinct function: geocoding, four direction modes, distance, POI search/around/ranking/detail, IP location, and weather. The naming with amap_ plus domain makes each tool's purpose immediately identifiable, with no overlapping tools.
All tool names follow a consistent pattern: lowercase snake_case with the amap_ prefix. Direction tools use amap_direction_*, POI tools use amap_poi_*, and other utilities are simple nouns. This is predictable and easy to navigate.
12 tools is appropriate for a comprehensive map service, covering geocoding, routing, place search, and utilities without feeling bloated. Each tool serves a clear purpose.
The server covers core mapping workflows: geocoding, multi-modal directions, distance calculation, POI search and details, plus useful extras like weather and IP location. Missing advanced features like traffic conditions or static map rendering are minor gaps that don't hinder common use cases.
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
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for Japan geodata: cadastral lot numbers (chiban) and reverse geocoding, for AI agents.
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Related MCP Servers
- AlicenseBqualityDmaintenanceNon-official Model Context Protocol server that enables interaction with AMap's location services through clients like Cursor, Claude Desktop, Cline, and Windsurf.12MIT
- AlicenseAqualityCmaintenanceProduction-ready MCP server for Google Maps Platform APIs, providing 11 tools for directions, places, geocoding, traffic, and road data to empower AI agents with location intelligence.114Apache 2.0
- AlicenseBqualityBmaintenanceAn MCP server that wraps multiple vendors' Coding Plan services (iFlytek Spark, Volcengine) to provide code review, plan review, and multi-turn dialogue for AI coding tools like Claude Code.4MIT
- AlicenseAqualityCmaintenance这是一个面向中文圈的MCP服务器,将中国互联网常用能力(如地图、快递、RSS、B站等)封装为标准MCP工具,方便AI Agent安全调用。132MIT
Appeared in Searches
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/zengzeruidd-a11y/amap-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server