mcp-amap
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., "@mcp-amap查找北京市朝阳区附近的咖啡厅"
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
一个基于 Model Context Protocol (MCP) 的高德地图服务器,为 AI 应用提供地理编码、搜索、路径规划等地图服务功能。
功能特性
🗺️ 地理编码服务
地理编码:将地址转换为经纬度坐标
逆地理编码:将经纬度坐标转换为详细地址信息
🔍 搜索服务
关键字搜索:根据关键字搜索 POI 信息
周边搜索:在指定位置周围搜索 POI
多边形搜索:在多边形区域内搜索 POI
ID 查询:根据 POI ID 获取详细信息
🛣️ 路径规划
驾车路径规划:计算最优驾车路线
步行路径规划:计算步行路线
公交路径规划:查询公交换乘方案
距离计算:计算两点间的直线距离和行驶距离
💡 输入提示
智能提示:根据用户输入提供地点建议
🌍 坐标转换
坐标系转换:支持 GPS、百度、MapBar 等坐标系转换为高德坐标
Related MCP server: Amap (Gaode Maps) MCP Server
快速开始
1. 获取高德地图 API Key
访问 高德开放平台
注册并登录账号
创建应用并申请 "Web 服务 API" Key
2. 安装依赖
npm install3. 配置环境变量
cp .env.example .env编辑 .env 文件,填入你的高德地图 API Key:
AMAP_API_KEY=your_amap_api_key_here4. 构建项目
npm run build5. 启动服务器
npm start或者开发模式:
npm run devMCP 工具说明
地理编码工具
geocode
将地址转换为经纬度坐标
参数:
address(string): 要转换的地址city(string, 可选): 指定城市,提高准确性
reverse_geocode
将经纬度坐标转换为地址信息
参数:
location(string): 经纬度坐标,格式:"经度,纬度"radius(number, 可选): 搜索半径,默认 1000 米
搜索工具
search_poi
根据关键字搜索 POI
参数:
keywords(string): 搜索关键字city(string, 可选): 指定城市types(string, 可选): POI 类型代码page_size(number, 可选): 每页结果数,默认 20page_num(number, 可选): 页码,默认 1
search_around
周边搜索
参数:
location(string): 中心点坐标,格式:"经度,纬度"keywords(string, 可选): 搜索关键字types(string, 可选): POI 类型代码radius(number, 可选): 搜索半径,默认 3000 米page_size(number, 可选): 每页结果数,默认 20
路径规划工具
driving_route
驾车路径规划
参数:
origin(string): 起点坐标,格式:"经度,纬度"destination(string): 终点坐标,格式:"经度,纬度"waypoints(string, 可选): 途经点,多个点用 ";" 分隔strategy(number, 可选): 路径策略,默认 0(速度优先)
walking_route
步行路径规划
参数:
origin(string): 起点坐标destination(string): 终点坐标
transit_route
公交路径规划
参数:
origin(string): 起点坐标destination(string): 终点坐标city(string): 城市名称strategy(number, 可选): 公交策略,默认 0(最快捷)
其他工具
input_tips
输入提示
参数:
keywords(string): 输入关键字city(string, 可选): 指定城市datatype(string, 可选): 返回数据类型,默认 "all"
coordinate_convert
坐标转换
参数:
locations(string): 要转换的坐标,多个坐标用 ";" 分隔coordsys(string): 原坐标系类型(gps, mapbar, baidu)
distance_calculate
距离计算
参数:
origins(string): 起点坐标,多个点用 ";" 分隔destination(string): 终点坐标type(number, 可选): 距离类型,1=直线距离,3=驾车距离
在 Claude Desktop 中使用
确保 MCP 服务器正在运行
在 Claude Desktop 的配置文件中添加服务器配置:
{
"mcpServers": {
"amap": {
"command": "node",
"args": ["/path/to/mcp-amap/dist/index.js"],
"env": {
"AMAP_API_KEY": "your_amap_api_key_here"
}
}
}
}重启 Claude Desktop
现在你可以在对话中使用高德地图功能了!
示例用法
用户:帮我查找北京市朝阳区附近的咖啡厅
AI:我来帮你搜索北京市朝阳区附近的咖啡厅...
用户:计算从天安门到故宫的步行路线
AI:我来为你规划从天安门到故宫的步行路线...
用户:这个坐标 116.397499,39.908722 是什么地方?
AI:我来查询这个坐标对应的地址信息...开发
项目结构
mcp-amap/
├── src/
│ ├── index.ts # 主入口文件
│ ├── server.ts # MCP 服务器实现
│ ├── tools/ # 工具实现
│ │ ├── geocoding.ts # 地理编码工具
│ │ ├── search.ts # 搜索工具
│ │ ├── routing.ts # 路径规划工具
│ │ └── utils.ts # 通用工具
│ ├── types/ # 类型定义
│ │ └── amap.ts # 高德地图 API 类型
│ └── utils/ # 工具函数
│ ├── api.ts # API 客户端
│ └── logger.ts # 日志工具
├── dist/ # 编译输出
├── package.json
├── tsconfig.json
└── README.md添加新功能
在
src/tools/目录下创建新的工具文件在
src/server.ts中注册新工具更新类型定义和文档
许可证
MIT License
贡献
欢迎提交 Issue 和 Pull Request!
相关链接
Available Tools
12 toolscoordinate_convertA
将其他坐标系的坐标转换为高德坐标系(GCJ02),支持GPS、百度、图吧等多种坐标系。
| Name | Required | Description | Default |
|---|---|---|---|
| coordsys | No | 原坐标系类型:gps=GPS坐标(WGS84),mapbar=图吧坐标,baidu=百度坐标(BD09),autonavi=高德坐标(GCJ02) | gps |
| locations | Yes | 需要转换的坐标,多个坐标用";"分隔,格式:"经度1,纬度1;经度2,纬度2",最多支持40个坐标点 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the conversion target (GCJ02) and supported input systems, which is useful. However, it does not mention output format, error behavior, or whether the operation is read-only (likely but not stated). For a simple conversion tool this is acceptable, but richer context (e.g., 'returns JSON with converted coordinates') would improve 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 a single, front-loaded sentence that conveys the essential purpose and scope. Every word earns its place; no fluff or repetition. It is concise yet informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and rich schema, the description is mostly complete. However, there is no output schema, and the description does not explain the return format (e.g., converted coordinates as a string or JSON). It also omits the 40-point batch limit, though that is in the schema. An agent would benefit from knowing what the response looks like, so completeness is adequate but not excellent.
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% and includes detailed parameter descriptions (e.g., coordsys enum meanings, locations format and 40-point limit). The tool description adds no parameter-specific information beyond what the schema already provides, so it neither compensates nor adds value. 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 function: converting coordinates from other systems (GPS, Baidu, Mapbar) to the AMap GCJ02 system. It uses a specific verb ('convert'), identifies the resource ('coordinates'), and distinguishes from sibling tools like geocoding or routing.
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: when you have coordinates in a non-GCJ02 system and need GCJ02. It lists supported source systems, but does not explicitly exclude alternatives or state conditions such as 'use this instead of search_poi when you need coordinate conversion'. Context is clear, but no explicit when-not-to-use guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
distance_calculateA
计算多个起点到一个终点的距离和时间,支持直线距离和驾车距离。
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | 距离类型:1=直线距离,3=驾车距离,默认1 | |
| origins | Yes | 起点坐标,多个起点用";"分隔,格式:"经度1,纬度1;经度2,纬度2",最多支持100个 | |
| destination | Yes | 终点坐标,格式为"经度,纬度" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It mentions support for straight-line and driving distance and includes time, but omits return format, units, accuracy limits, rate limits, or the 100-origin cap already noted in the schema. Behavioral caveats are absent.
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 redundancy. It efficiently conveys the primary action and supporting detail (distance types), earning its place without wasting tokens.
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 or annotations, and the description is minimal. It covers the core function but leaves unanswered return values, units, and when to prefer this over sibling tools. For a tool with 3 parameters and an enum, the description is adequate but not fully self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all three parameters, so the baseline is 3. The description adds no param-level detail beyond the schema; it does not specify coordinate order, units, or additional semantics beyond what is already documented in the input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb '计算' (calculate) and identifies the resource (distance/time) plus the scope (multiple origins to one destination). It clearly distinguishes from sibling routing tools like driving_route and walking_route by focusing on distance measurement rather than pathfinding.
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 distance/time queries but provides no explicit guidance on when to use this tool over routing alternatives. It does not mention exclusions or alternative tools, leaving the agent to infer applicability from the tool's name and purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
driving_routeA
计算两点间的驾车路径,提供详细的导航信息、距离、时间和费用估算。
| Name | Required | Description | Default |
|---|---|---|---|
| ferry | No | 是否使用轮渡:0=不使用,1=使用,默认1 | |
| plate | No | 车牌号,用于限行路段规避,如:"京A12345" | |
| origin | Yes | 起点坐标,格式为"经度,纬度",如:"116.397499,39.908722" | |
| cartype | No | 车辆类型:0=小车,1=货车,默认0 | |
| strategy | No | 路径策略:0=速度优先,1=费用优先,2=距离优先,3=不走高速,默认0 | |
| avoidroad | No | 避让道路名称,如:"京藏高速" | |
| waypoints | No | 途经点坐标,多个点用";"分隔,如:"116.45,39.95;116.46,39.96",最多支持16个 | |
| destination | Yes | 终点坐标,格式为"经度,纬度",如:"116.481499,39.990475" | |
| avoidpolygons | No | 避让区域,多边形坐标点,格式:"经度1,纬度1;经度2,纬度2;..." |
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 states that the tool provides navigation info, distance, time, and cost estimates, but it does not explicitly disclose whether the operation is read-only, any prerequisites, or side effects. This is insufficient for a tool with no annotations.
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 is front-loaded with the primary purpose and key outputs. There is no wasted content or unnecessary details.
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 has 9 parameters and no output schema, yet the description only captures the basic function and outputs. It does not mention the tool's advanced capabilities such as waypoints, avoidance areas, vehicle type, or strategies, which are significant features. While the schema covers these, the description lacks a high-level overview of the tool's full scope.
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 does not add meaning beyond the schema; it only refers to two points (origin and destination), while the schema already provides detailed descriptions for all parameters. No additional value is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates driving routes between two points and lists the types of output (navigation info, distance, time, cost estimates). It is specific and distinguishes from sibling tools like walking_route and transit_route by explicitly saying '驾车' (driving).
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 directions, as it mentions '驾车' (driving), but it does not explicitly state when to use it over alternatives like walking or transit. No exclusions or alternative tools are mentioned, so the guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geocodeB
将地址转换为经纬度坐标。支持结构化地址和地标名称。
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | 指定城市名称,可提高地址解析的准确性,如:"北京市" | |
| address | Yes | 要转换的地址,如:"北京市朝阳区阜通东大街6号"或"天安门" |
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 the input types and the conversion action; it does not describe the output format, coordinate system, error handling, or behavior when an address is ambiguous or not found. This is a significant gap for a geocoding 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 a single concise sentence that front-loads the core action ('将地址转换为经纬度坐标') and then adds a brief capability note. It contains no filler or redundant 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?
For a simple 2-parameter tool with no output schema or annotations, the description is adequate but not fully complete. It confirms the core operation and accepted input types, but omits behavioral expectations like return format and failure handling, and gives no usage context relative to 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?
Schema coverage is 100%, so the schema already documents both parameters with examples. The description's statement about supporting structured addresses and landmark names adds minor semantic clarification that aligns with the address parameter examples, but it does not provide additional detail beyond what the schema 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 clearly states the tool converts addresses to latitude/longitude coordinates, which is a specific verb+resource action. It also notes support for structured addresses and landmark names, which helps distinguish it from reverse_geocode and coordinate_convert, though it does not explicitly name alternatives.
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 siblings like reverse_geocode or search_poi. The mention of supporting structured addresses and landmark names implies accepted input types, but there is no context about when to prefer this tool, when not to use it, or what alternatives exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_poi_detailB
根据POI ID获取兴趣点的详细信息,包括营业时间、联系方式、评分等。
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | POI的唯一标识ID,通常从搜索结果中获取 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden. It reveals the type of content returned but does not state that this is a safe read operation, error behavior, or any prerequisites. Key behavioral aspects like response format and side effects are absent.
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 clearly communicates purpose without unnecessary detail. It is efficient 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 simple retrieval tool with one parameter and no output schema, this description covers the essentials: what it does and what data is included. However, without annotations, it would benefit from noting response format or error handling to be 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?
The schema already fully documents the single parameter 'id' with 100% coverage, so the description adds little beyond what is in the schema. The mention of using the ID is redundant; 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 the tool retrieves detailed POI information by ID, listing example fields like business hours, contact, and ratings. This aligns with the tool name and distinguishes it from sibling search tools, though it doesn't explicitly reference alternatives.
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 context is implied: use when you have a POI ID and need details, but there is no explicit guidance on when not to use it or what alternative to choose. No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
input_tipsB
根据用户输入的关键字提供搜索建议,类似搜索框的自动补全功能。
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | 指定城市,提高建议的准确性 | |
| datatype | No | 返回数据类型,all=全部,poi=兴趣点,bus=公交站,busline=公交线路,默认all | all |
| keywords | Yes | 输入的关键字,如:"北京大"、"星巴"等 | |
| citylimit | No | 是否限制在指定城市内,默认false |
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 only states the primary function without mentioning safety, rate limits, response format, or any constraints, offering minimal transparency about the tool's 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 a single concise, front-loaded sentence with no unnecessary words. It earns its place by clearly stating the purpose, though it could include a bit more context without becoming verbose.
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 has no output schema and the description does not explain the structure of returned suggestions, nor does it provide broader context for an agent deciding when to use it. This leaves significant gaps for a simple autocomplete 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 descriptions cover all parameters (100% coverage), so the description adds no extra parameter semantics. The baseline of 3 is appropriate since the schema handles the explanatory burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides search suggestions based on input keywords, using the autocomplete analogy to distinguish it from full search tools like search_poi. The verb and resource are specific, and the scope is well-defined.
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 autocomplete-style suggestions but does not explicitly contrast with sibling tools such as search_poi or search_around. There is no mention of when not to use it or alternatives, so guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reverse_geocodeA
将经纬度坐标转换为详细的地址信息,包括结构化地址、周边POI、道路信息等。
| Name | Required | Description | Default |
|---|---|---|---|
| radius | No | 搜索半径,单位:米,取值范围:0-3000,默认1000 | |
| location | Yes | 经纬度坐标,格式为"经度,纬度",如:"116.397499,39.908722" | |
| extensions | No | 返回结果详细程度,base=基础信息,all=详细信息(包含POI、道路等),默认all | all |
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 result includes structured address, surrounding POI, and road information, which adds some behavioral context. However, it does not mention that this is a read-only operation, any API requirements, rate limits, or error cases. For a conversion tool, this is moderately transparent but not fully 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, concise sentence that is front-loaded with the core purpose and includes relevant output details. Every word contributes meaning, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the fact that all parameters are fully described in the schema, the description is largely complete. It explains what the tool does and hints at the output richness. It lacks usage guidance and explicit read-only disclosure, but the schema and tool name cover much of the needed context. A 5 would require more detail on return format or edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all three parameters, so the baseline is 3. The description adds minimal context beyond the schema by stating output components (POI, roads) that relate to the 'extensions' and 'radius' parameters, but it does not delve into parameter syntax or additional meaning. The schema already provides clear descriptions and an example for location.
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: '将经纬度坐标转换为详细的地址信息' (convert latitude/longitude coordinates to detailed address information). It uses a specific verb 'convert' and identifies the resource (coordinates to address), and explicitly mentions outputs like structured address, surrounding POI, and road info. This distinguishes it from sibling 'geocode' (forward geocoding) and other POI search 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 description gives clear context: the tool converts coordinates to addresses, implying use when an agent has coordinates and needs a human-readable address. It does not explicitly mention alternatives or exclusions, but the contrast with 'geocode' and other siblings is clear from the reverse conversion nature. No explicit when-not-to-use guidance, so not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_aroundA
在指定坐标点周围搜索兴趣点,适用于"附近的餐厅"、"周边加油站"等场景。
| Name | Required | Description | Default |
|---|---|---|---|
| types | No | POI类型代码,如:"050000"(餐饮服务)等,多个用"|"分隔 | |
| radius | No | 搜索半径,单位:米,取值范围:0-50000,默认3000 | |
| keywords | No | 搜索关键字,如:"餐厅"、"ATM"、"医院"等,不填则搜索所有类型 | |
| location | Yes | 中心点坐标,格式为"经度,纬度",如:"116.397499,39.908722" | |
| page_num | No | 页码,从1开始,默认1 | |
| sortrule | No | 排序规则,distance=按距离排序,weight=按权重排序,默认distance | distance |
| page_size | No | 每页返回结果数量,取值范围:1-50,默认20 |
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 for behavioral disclosure. It only states the core search behavior and examples, without mentioning any limitations, result format, pagination behavior, or special conditions. This is a significant gap for a tool that likely has more nuanced 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 a single, concise sentence that front-loads the action (search around a point) and includes relevant scenario examples. There is no wasted information 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?
The description is minimal but sufficient for a simple search tool with fully documented parameters. It lacks explicit notes on return values (no output schema) and does not differentiate from sibling tools beyond the basic purpose, but the schema covers parameter details. The absence of any edge-case or behavior notes makes it only slightly above minimum viability.
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 all parameters are well-documented in the schema. The tool description adds no additional parameter semantics beyond what the schema already provides, making the baseline score of 3 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 function: searching for points of interest around a specified coordinate. It provides concrete scenario examples (nearby restaurants, gas stations) and distinguishes it from sibling search tools by emphasizing the coordinate-based search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage context with '适用于' (suitable for) and examples of when to use the tool. It does not explicitly mention alternatives or exclusions, but the scenario examples imply 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.
search_poiA
根据关键字搜索兴趣点(POI),如餐厅、酒店、景点等。支持按城市、类型筛选。
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | 指定搜索城市,如:"北京"、"上海"、"010"(城市编码)等 | |
| types | No | POI类型代码,如:"050000"(餐饮服务)、"060000"(购物服务)等,多个用"|"分隔 | |
| keywords | Yes | 搜索关键字,如:"肯德基"、"北京大学"、"加油站"等 | |
| page_num | No | 页码,从1开始,默认1 | |
| citylimit | No | 是否限制在指定城市内搜索,默认false | |
| page_size | No | 每页返回结果数量,取值范围:1-50,默认20 |
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 only lists capabilities and does not disclose behavioral traits like pagination limits, result ordering, error conditions, or side effects.
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 the main action, and contains no redundant or filler 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?
With 6 parameters and no output schema, the description is adequate for basic usage but lacks guidance on result structure, pagination behavior, and how it differs from spatial search variants. This makes it incomplete for nuanced tool selection.
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 parameters with detailed descriptions. The tool description adds minimal value beyond restating city and type filtering, so the 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?
The description clearly states the tool searches POIs by keyword, provides examples (restaurants, hotels, attractions), and mentions filtering by city and type. This distinguishes it from spatial search siblings like search_around and search_polygon.
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 keyword-based POI searches but does not explicitly contrast with sibling tools such as search_around or search_polygon. It also does not state when not to use the tool or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_polygonA
在指定多边形区域内搜索兴趣点,适用于特定区域范围的搜索。
| Name | Required | Description | Default |
|---|---|---|---|
| types | No | POI类型代码,多个用"|"分隔 | |
| polygon | Yes | 多边形顶点坐标,格式:"经度1,纬度1;经度2,纬度2;...",至少3个点,最多100个点 | |
| keywords | No | 搜索关键字 | |
| page_num | No | 页码,从1开始,默认1 | |
| page_size | No | 每页返回结果数量,取值范围:1-50,默认20 |
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 only states the basic function without revealing any behavioral traits such as result format, pagination handling, coordinate system, or edge-case behavior (e.g., polygon validation). This leaves the agent with limited insight into how the tool behaves beyond the initial action.
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, focused sentence that front-loads the verb and scope without any superfluous content. It is exemplary in its conciseness and clarity, achieving maximum information density with minimal 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?
The schema covers all parameters, but with no output schema, the description could have provided more context about the result format (e.g., a list of POIs) or pagination behavior. The description implicitly suggests an output (POIs) but does not confirm the structure, leaving room for ambiguity about what the agent can expect.
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 provides descriptions for all five parameters, so the baseline is 3. The description adds no additional parameter-level meaning, such as emphasizing that polygon is required or explaining how page_size is constrained. It relies entirely on the schema's existing documentation.
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 specifies the action (search), the resource (points of interest), and the scope (within a specified polygon area), making it distinct from sibling tools like search_around (radius-based) and search_poi (general keyword search). The phrase '在指定多边形区域内搜索兴趣点' unambiguously defines the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context with '适用于特定区域范围的搜索' (suitable for search in a specific area range), indicating when this tool should be preferred. However, it does not explicitly name alternative tools or state exclusion criteria, so it lacks the full compare-and-contrast guidance of the highest tier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transit_routeB
计算两点间的公交换乘方案,包括地铁、公交车等公共交通。
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | 城市名称或城市编码,如:"北京"或"010" | |
| date | No | 出发日期,格式:YYYY-MM-DD,默认当天 | |
| time | No | 出发时间,格式:HH:MM,默认当前时间 | |
| cityd | No | 终点城市,跨城查询时使用 | |
| origin | Yes | 起点坐标,格式为"经度,纬度" | |
| strategy | No | 公交策略:0=最快捷,1=最经济,2=最少换乘,3=最少步行,4=最舒适,5=不乘地铁,默认0 | |
| nightflag | No | 是否包含夜班车:0=不包含,1=包含,默认0 | |
| destination | Yes | 终点坐标,格式为"经度,纬度" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must fully disclose behavior. It only mentions that it calculates a transit plan, but does not describe return format, edge cases, or side effects (if any). The mention of including metro/bus adds slight context but is insufficient for behavioral 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 a single sentence with no filler words, making it concise. However, it is somewhat under-specified for an 8-parameter tool, which prevents a perfect score. There is no structural complexity, but it is not verbose.
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 has 8 parameters, no output schema, and no annotations. The one-line description does not explain output structure, handling of cross-city queries (cityd), or how it fits into the broader routing workflow. It is not complete enough for an agent to confidently invoke this tool without additional 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 the baseline is 3. The description does not add any parameter-specific meaning beyond what the schema already provides (e.g., coordinate format, strategy options, date/time defaults). It only loosely refers to 'two points' with no additional detail.
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 computes public transit transfer plans between two points, including metro and bus. This is a specific verb+resource and implicitly distinguishes it from sibling tools like driving_route or walking_route, though it does not explicitly name alternatives.
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 public transit planning (as opposed to driving or walking), but it does not explicitly state when to use this tool versus alternatives like driving_route or distance_calculate. No exclusions or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
walking_routeA
计算两点间的步行路径,提供步行导航信息和预计时间。
| Name | Required | Description | Default |
|---|---|---|---|
| origin | Yes | 起点坐标,格式为"经度,纬度" | |
| multipath | No | 是否返回多条路径:0=单条路径,1=多条路径,默认0 | |
| 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 transparency burden. It discloses that the tool provides walking navigation information and estimated time, which is useful but lacks details on return structure, errors, or multipath behavior. Adequate for a simple route 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 a single, concise sentence that front-loads the action and outputs. No wasted words or redundant detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple 3-parameter tool and high schema coverage, the description is largely complete. It states the purpose and expected outputs. However, it could explicitly mention multipath behavior or coordinate format, though these are covered by the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all three parameters, so the schema does the heavy lifting. The description adds no additional parameter semantics beyond what's already stated, and the mention of '预计时间' is output-related. 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 uses a specific verb '计算' and resource '两点间的步行路径', clearly stating it calculates walking routes and provides navigation info and estimated time. This distinguishes it from sibling tools like driving_route and transit_route.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for walking routes, but does not explicitly state when to use this tool versus driving_route or transit_route. No exclusions or alternatives are mentioned, though the '步行' terminology provides clear context.
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.
12 tool updates
v1.0.0- First observed
coordinate_convert - First observed
distance_calculate - First observed
driving_route - First observed
geocode - First observed
get_poi_detail - First observed
input_tips - First observed
reverse_geocode - First observed
search_around - First observed
search_poi - First observed
search_polygon - First observed
transit_route - First observed
walking_route
TDQS
Each tool targets a distinct operation: coordinate conversion, geocoding, POI search in different scopes, route planning by mode, and distance calculation. There is no functional overlap, so agents can easily select the correct tool.
All tool names use snake_case with a clear verb-prefix (e.g., search_poi, calculate_distance) or standard geospatial terms (geocode, reverse_geocode). The pattern is consistent and predictable.
12 tools is a well-scoped count for a mapping service. Each tool covers a necessary function without redundancy, making the server feel complete yet not bloated.
The toolset covers geocoding (both forward and reverse), POI search via keyword, radius, polygon, and detail lookup, plus driving/walking/transit routes, distance calculation, coordinate conversion, and search suggestions. There are no obvious gaps for a typical AMAP use case.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Provides AI assistants with direct access to Mapbox developer APIs and documentation.
Geospatial intelligence with Mapbox APIs like geocoding, POI search, directions, isochrones, etc.
TravelMind: 8 MCP tools for travel (12306 trains, flights, hotels, geocode, planning, policy).
The Google Maps MCP server is a fully-managed server provided by the Maps Grounding Lite API that connects AI applications to Google Maps Platform services. It provides three main tools for building LLM applications: searching for places, looking up weather information, and computing routes with details like distance and travel time. The server acts as a proxy that translates Google Maps data into a format that AI applications can understand, enabling agents to accurately answer real-world location and travel queries.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables location-based services through AMap/AutoNavi Maps API including geocoding, weather information, route planning, and POI searches. Supports multiple transportation modes and provides detailed geographic data for Chinese locations.123Mulan Permissive Software , Version 2
- FlicenseBqualityDmaintenanceEnables AI assistants to perform IP geolocation and nearby place searches using the Amap (Gaode Maps) API in China.212-
- FlicenseNot gradedqualityDmaintenanceProvides a suite of tools for location retrieval and multi-modal route planning within China using the Baidu Maps API. It enables AI agents to perform address-to-coordinate conversions, nearby place searches, and calculate directions for driving, transit, walking, and cycling.-
- 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-
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/luodora/mcp-amap'
If you have feedback or need assistance with the MCP directory API, please join our Discord server