mcpField
P
phone carrier detector

phone carrier detector

本地服务
github.com/dahuangbaojian通信协作070 周前更新

关于 phone carrier detector

phone carrier detector 是用于查询中国手机号码运营商和归属地的 MCP 服务,适合需要识别号码信息的客户端。它提供单号与批量查询,并返回省市及号码段等详情。

主要功能

  1. 01识别中国运营商及虚拟运营商
  2. 02查询省份和城市归属地
  3. 03批量检测最多 100 个号码
  4. 04返回运营商、归属地和前缀信息

适用场景

  1. 01核验单个号码的运营商与归属地
  2. 02批量整理号码归属信息

MCP 相关

它通过 MCP 向客户端提供单号检测和批量检测工具,返回运营商及归属地详情。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

来自项目 README

Phone Carrier Detector MCP Server

一个用于检测中国手机号码运营商和归属地的 MCP (Model Context Protocol) 服务器。

功能特性

  • 🔍 运营商检测: 支持中国三大运营商(中国移动、中国联通、中国电信)的号码识别
  • 📍 归属地检测: 提供省份和城市级别的归属地信息
  • 📱 虚拟运营商: 支持虚拟运营商号码识别
  • 🚀 批量处理: 支持批量检测多个手机号码(最多100个)
  • 📊 详细信息: 提供运营商、归属地、前缀等详细信息
  • 🎯 高精度: 基于真实的中国运营商号码段数据库(492,088条记录)
  • ⚡ 高性能: 内存数据库,查询速度极快

支持的运营商

运营商主要号段
中国移动134-139, 147, 150-152, 157-159, 172, 178, 182-184, 187-188, 198
中国联通130-132, 145, 155-156, 166, 175-176, 185-186
中国电信133, 149, 153, 173, 177, 180-181, 189, 199
中国广电192
中国铁通174

安装

方法1: 从源码安装
git clone https://github.com/dahuangbaojian/sms-mcp-server.git
cd sms-mcp-server
方法2: 直接使用

项目使用 Python 标准库实现,无需额外依赖。如需运行测试:

pip install pytest

使用方法

在 MCP 客户端中使用
  1. 配置 MCP 客户端(如 Claude Desktop):
{
  "mcpServers": {
    "phone-carrier-detector": {
      "command": "python",
      "args": ["mcp_server.py"],
      "env": {}
    }
  }
}
  1. 重启客户端,然后就可以使用以下工具:
单个号码检测
请帮我检测手机号码 13812345678 的运营商和归属地信息
批量号码检测
请帮我批量检测这些号码的运营商和归属地:13812345678, 18687654321, 13312345678

API 工具

1. detect_carrier

检测单个手机号码的运营商和归属地信息。

参数:

  • phone_number (string): 要检测的手机号码(11位数字)

示例输出:

{
  "success": true,
  "phone_number": "13812345678",
  "carrier": "China Mobile",
  "carrier_cn": "移动",
  "province": "江苏",
  "city": "连云港",
  "prefix": "1381234"
}
2. batch_detect_carriers

批量检测多个手机号码的运营商和归属地信息。

参数:

  • phone_numbers (array): 要检测的手机号码列表(最多100个)

示例输出:

{
  "success": true,
  "total": 3,
  "results": [
    {
      "success": true,
      "phone_number": "13812345678",
      "carrier": "China Mobile",
      "province": "江苏",
      "city": "连云港"
    }
  ]
}

数据来源

项目使用真实的中国手机号归属地数据库,包含:

  • 492,088 条记录
  • 覆盖所有主要运营商
  • 精确到城市级别
  • 实时更新

开发

运行测试
# 运行所有测试
python tests/run_tests.py --all

# 运行单元测试
python tests/run_tests.py --unit

# 运行集成测试
python tests/run_tests.py --integration

# 运行数据解析器测试
python tests/run_tests.py --data
解析数据
# 从原始数据文件生成数据库
python parse_phone_data.py
本地测试
python mcp_server.py

项目结构

.
├── mcp_server.py              # MCP协议主服务
├── parse_phone_data.py        # 数据解析脚本
├── data/                      # 数据目录
│   ├── 手机号归属地1219.txt   # 原始数据文件
│   └── phone_database.json    # 解析后的数据库
├── tests/                     # 测试目录
│   ├── test_mcp_server.py     # 单元测试
│   ├── test_mcp_integration.py # 集成测试
│   ├── test_data_parser.py    # 数据解析测试
│   └── run_tests.py           # 测试运行器
├── package.json               # MCP配置
├── mcp-metadata.json          # MCP元数据
└── README.md                  # 项目说明

技术栈

  • Python 3.8+
  • MCP Protocol 2024-11-05
  • JSON-RPC 2.0
  • 正则表达式 - 号码格式验证
  • 内存数据库 - 高性能查询

性能特点

  • 内存占用: ~100MB(包含49万条记录)
  • 查询速度: O(1) 哈希表查找
  • 并发支持: 异步处理,支持高并发
  • 错误处理: 完善的错误处理和参数验证

贡献

欢迎提交 Issue 和 Pull Request!

  1. Fork 项目
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开 Pull Request

许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

更新日志

v1.0.0
  • 初始版本发布
  • 支持中国三大运营商检测
  • 支持归属地检测(省份+城市)
  • 支持虚拟运营商检测
  • 支持批量号码检测
  • 基于真实数据库(49万+记录)
  • 完整的 MCP 协议实现
  • 全面的测试覆盖

支持

如果你遇到任何问题或有建议,请:

  1. 查看 Issues
  2. 创建新的 Issue
  3. 发送邮件到 [email protected]

⭐ 如果这个项目对你有帮助,请给它一个星标!

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。