技术博客
手机归属地查询:通过 MCP 在 AI 客户端直接查手机号归属地

手机归属地查询:通过 MCP 在 AI 客户端直接查手机号归属地

作者: 万维易源
2026-08-27
手机归属地查询MCPAI客户端ShowAPI
# 手机归属地查询:通过 MCP 在 AI 客户端直接查手机号归属地 > **接口**:手机归属地查询 `6-1` | **是否免费**:是(注册默认可免费调用,有使用档次限制)| **请求方式**:POST / GET(经 MCP 封装)| **返回格式**:JSON | **适用人群**:用 Cherry Studio / ChatBox 等 AI 客户端的开发者、想把接口变成 AI 工具的团队 | **阅读时间**:约 6 分钟 ## TL;DR - 易源为手机归属地查询(apiCode=6)提供了官方 **MCP 服务**,把 HTTP 接口变成 AI 客户端里"可直接调用的工具"。 - 你只需要在客户端里粘一段配置、把 `{your_appKey}` 换成自己的 AppKey,就能在对话里说"查一下 18908711111 是哪里的",AI 会自己发请求、读 `showapi_res_body`。 - MCP 配置覆盖**全部接入点**,手机归属地接口只有 `6-1` 一个接入点,配一次即可。 ## Why:为什么要用 MCP 而不是自己写代码? 过去你要查归属地,得写脚本、处理鉴权、解析 JSON、再自己把结果塞进某个流程。但很多场景你并不是在做一个产品,而是在**和 AI 对话时顺手想查一个号码**:客服坐席问"这个来电是哪里的"、风控同学问"这串号码是不是异常归属"、运营问"这批号主要分布在哪"。 MCP(Model Context Protocol)把这些 HTTP 接口"暴露"成 AI 客户端能理解的工具。你不用给 AI 写一堆 prompt 去拼 URL,也不用自己封装 SDK——只要客户端支持 MCP(Cherry Studio、ChatBox 等均已支持),把易源给的 MCP 服务地址配进去,AI 就能在对话中**自主决定调用**手机归属地接口,并把返回的省、市、运营商直接讲给你听。 对团队来说,这意味着:接口能力下沉到"人人可用",不需要每个人都懂 API 调用细节。 ## What:MCP 能力速览 | 项目 | 内容 | |------|------| | MCP 服务名 | `showapi-mcp-6` | | 服务地址 | `http://www.showapi.com.cn/mcp/6/{your_appKey}` | | 覆盖范围 | 手机归属地查询全部接入点(当前仅 `6-1`) | | 接入点 | `6-1`(同步请求-响应,无订阅/回调/批量) | | 鉴权方式 | URL 路径中的 `appKey`,替换 `{your_appKey}` 即可 | | 对话触发 | 自然语言,例如"查一下 18908711111 是哪里的" | | 返回内容 | 与直接调接口一致:`showapi_res_body` 内的省/市/运营商/邮编/区号 | | 计费 | 免费服务(注册默认可免费调用,设使用档次限制);失败时(`ret_code!=0`)不扣点数 | > 接口本身的事实(地址、参数、字段)与 [《5 分钟接入》](https://www.showapi.com/guides/phone-attribution-quickstart-6) 一致,MCP 只是换了一种"被调用"的方式。 ## How:在 AI 客户端配置 showapi-mcp-6 ### 步骤 1 · 拿到 AppKey 1. 打开 [易源官网](https://www.showapi.com) 注册账号(本接口免费,注册后默认可调用)。 2. 进入 [AppKey 管理页](https://www.showapi.com/console#/myApp),复制你的 AppKey。 3. 把下面配置里的 `{your_appKey}` 整体替换成它(**注意不是 `YOUR_APPKEY` 全大写,MCP 配置里用的是花括号占位符 `{your_appKey}`**,请按官方原样替换)。 ### 步骤 2 · 写入客户端 MCP 配置 下面是一段**完整、可直接粘贴**的 MCP 配置 JSON(官方原样,未改动任何 URL): ```json { "mcpServers": { "showapi-mcp-6": { "url": "http://www.showapi.com.cn/mcp/6/{your_appKey}" } } } ``` 不同客户端的落点略有差异,但内核都一样——找到"MCP 服务器 / MCP Servers"配置区,粘贴上面的 JSON: **Cherry Studio** 1. 打开 `设置 → MCP 服务器`。 2. 选择"编辑 JSON 配置"或新增一个 Server,把上面整段 JSON 粘进去。 3. 把 `{your_appKey}` 换成你的真实 AppKey,保存。 4. 在对话里启用 `showapi-mcp-6` 这个工具,开始提问。 **ChatBox(及其它兼容 MCP 的客户端)** 1. 找到客户端的 MCP / Tools 设置入口。 2. 同样粘贴上面的 JSON,替换 AppKey。 3. 在模型对话中确认工具已被加载(通常客户端会列出可用工具名 `showapi-mcp-6`)。 ### 步骤 3 · 对话式查询示例 配置生效后,你不用再写代码,直接在对话框里说: > 查一下 18908711111 是哪里的? AI 客户端会调用 `showapi-mcp-6`,底层实际请求的是 `6-1` 接入点,返回结果经 AI 整理后大概会说: > 这个号码归属地为**云南省 昆明市**,运营商是**电信**,手机号段 1890871,城市区号 0871,邮编 650000。 如果你想批量或连续查,也可以说: > 帮我查这几个号码的归属地:13800138000、18908711111、19912345678。 AI 会逐个调用并返回。注意:MCP 本身是单条同步请求-响应,**没有官方批量能力**,连续查是 AI 帮你"一条条发",不是一次性批量接口。 ## 返回示例与解析 无论用代码还是 MCP,底层返回都是同一个结构。以下是 `18908711111` 的真实返回(与直接调用完全一致): ```json { "showapi_res_code": 0, "showapi_res_error": "", "showapi_res_id": "ce135f6739294c63be0c021b76b6fbff", "showapi_res_body": { "num": 1890871, "prov": "云南", "ret_code": 0, "areaCode": "0871", "name": "电信", "cityCode": "530100", "postCode": "650000", "provCode": "530000", "type": 2, "city": "昆明" } } ``` | 字段 | 含义 | 本例值 | |------|------|--------| | `prov` | 省 | 云南 | | `city` | 市 | 昆明 | | `name` | 运营商名称 | 电信 | | `num` | 号段(前 7 位,Number) | 1890871 | | `type` | 运营商枚举(1移动/2电信/3联通/4广电/-1未知) | 2 | | `areaCode` | 城市区号 | 0871 | | `postCode` | 邮政编码(来源:返回示例/产品说明) | 650000 | | `provCode` | 省别编码(本省身份证前几位) | 530000 | | `cityCode` | 城市编码(本城市身份证前几位) | 530100 | | `ret_code` | 业务状态码,0 成功,其他失败 | 0 | > 字段完整定义见 [《手机归属地返回字段全解》](https://www.showapi.com/guides/phone-attribution-response-fields-6)。 ## 进阶 / 边界 - **MCP 覆盖全部接入点**:当前手机归属地只有 `6-1` 一个接入点,配置一次即可;若官方未来新增接入点,同一份 MCP 配置无需改动。 - **失败不扣点数**:当 `ret_code != 0`(如 `-2` 非 11 位、`-3` 含非数字、`-4` 格式错、`-5/-6` 找不到归属地)时,调用不消耗额度。AI 查到失败会如实告诉你,你不用担心"查错了还扣费"。 - **免费档位限制**:MCP 调用走的是同一接口、同一档位额度,频繁连续查会消耗免费档次上限;高并发场景建议配合本地缓存(见系列缓存篇)。 - **文档内部不一致的处理**:`areaCode` 参数表写过 `0810`、返回示例写 `0871`,昆明真实区号为 `0871`,以 `0871` 为准;`postCode` 参数表未登记但返回示例与产品说明有,列为真实字段并标注来源。这些不影响 MCP 使用,返回以官方实际值为准。 ## FAQ **Q1:MCP 配置里的 `{your_appKey}` 和代码里的 `YOUR_APPKEY` 是一回事吗?** 是同一个 AppKey,只是写法不同:MCP 配置按官方原样使用花括号占位符 `{your_appKey}`,代码里我们用全大写 `YOUR_APPKEY` 作替换提示。填入的都是你在 [AppKey 管理页](https://www.showapi.com/console#/myApp) 拿到的同一个值。 **Q2:哪些客户端支持这个 MCP?** 文中以 Cherry Studio、ChatBox 为例,凡是支持 MCP(Model Context Protocol)、允许粘贴 `mcpServers` JSON 的客户端都可以。具体入口名称可能叫"MCP 服务器""Tools"或"外部工具"。 **Q3:配置好了但 AI 说没有这个工具怎么办?** 先确认 JSON 是否完整、AppKey 是否替换成功;再检查客户端是否需要在对话中手动"启用"该工具。MCP 服务地址是 `http://www.showapi.com.cn/mcp/6/{你的AppKey}`,确认网络可访问。 **Q4:MCP 能批量查吗?** 接口本身**无官方批量能力**,MCP 也是单条同步请求-响应。所谓"批量"是 AI 在对话里帮你一条条发,不是一次传多个号码的批量接口。 **Q5:用 MCP 查会扣点数吗?** 免费服务,注册默认可调用(设使用档次限制)。失败时(`ret_code!=0`)不扣点数,成功调用计入免费档位用量。 **Q6:返回的城市区号到底是多少?** 以官方实际返回为准。文档参数表曾写 `0810`、返回示例写 `0871`,昆明真实区号是 `0871`,本文及示例均以 `0871` 为准。 ## 相关能力 / 下一步阅读 - [《5 分钟接入手机归属地查询:从注册到第一条返回》](https://www.showapi.com/guides/phone-attribution-quickstart-6) —— 不用 MCP、直接写代码跑通的最快路径 - [《导入 Apifox/Postman:用 OpenAPI 文档管理手机归属地接口》](https://www.showapi.com/guides/phone-attribution-openapi-6) —— API 治理团队用 OpenAPI 统一管理接口的玩法 - [《手机归属地返回字段全解:prov/city/type/postCode 一文读懂》](https://www.showapi.com/guides/phone-attribution-response-fields-6) —— 每个字段的类型、取值与坑位 - **本系列共 12 篇**:查看[手机归属地查询 · 官方指南总目录](https://www.showapi.com/guides/phone-attribution-guides-6)