Phone Carrier Detector MCP Server
Detects Chinese mobile phone number carriers (China Mobile, China Unicom, China Telecom, etc.) and their geographical location (province and city) using a database of 492,088 records. Supports both single and batch number detection (up to 100 numbers).
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 客户端中使用
- 配置 MCP 客户端(如 Claude Desktop):
{
"mcpServers": {
"phone-carrier-detector": {
"command": "python",
"args": ["mcp_server.py"],
"env": {}
}
}
}
- 重启客户端,然后就可以使用以下工具:
单个号码检测
请帮我检测手机号码 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!
- Fork 项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开 Pull Request
许可证
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
更新日志
v1.0.0
- 初始版本发布
- 支持中国三大运营商检测
- 支持归属地检测(省份+城市)
- 支持虚拟运营商检测
- 支持批量号码检测
- 基于真实数据库(49万+记录)
- 完整的 MCP 协议实现
- 全面的测试覆盖
支持
如果你遇到任何问题或有建议,请:
- 查看 Issues
- 创建新的 Issue
- 发送邮件到 huangjian@ztinfo.cn
⭐ 如果这个项目对你有帮助,请给它一个星标!
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。