detect_carrierLABSCO SUMMARY
Everything is local, including the data.
Number-lookup services usually mean sending the number to someone else; here the range database ships with the server and is loaded into memory, so a batch of a hundred numbers never leaves the machine. The trade is freshness — the data is a file in the repository, and refreshing it means re-running the parser over a new source file.
What it is
An MCP server that resolves Chinese mobile numbers to their carrier and registered location. It answers from a local number-range database rather than an online lookup, so there is no API to call and no key to hold.
What you get
- Carrier and location for one 11-digit number, with province, city and matched prefix returned —
detect_carrier - The same lookup across a list, up to 100 numbers in one call —
batch_detect_carriers - The three main carriers plus China Broadnet (中国广电) and China Tietong (中国铁通), with the number ranges documented per carrier
- Virtual operator numbers recognised alongside the main carriers
- A local database of 492,088 records loaded into memory, so lookups do not leave the machine
Requirements
Python 3.8+ with a clone of the repository — the implementation uses the standard library, so there are no dependencies to install unless you want to run the tests. The documented client entry runs python mcp_server.py with an empty env block: no key, no account, no network call. parse_phone_data.py regenerates the database from the raw data file if you need to refresh it.
Setup effort
Build from source — git clone https://github.com/dahuangbaojian/sms-mcp-server.git
USE CASES
Checking which carrier a number belongs to
Ask about a single number and get carrier, province and city together.
Cleaning a list of contacts
Send up to a hundred numbers in one call and get a per-number result set back.
Routing messages by carrier
Resolve the carrier before deciding which channel or template to use.
Keeping customer numbers on your own machine
Use the local database rather than a lookup API that would receive the numbers.
2 tools
Listed in project docs. Your client may show a different list.
batch_detect_carriersBEFORE YOU INSTALL
What to know first
Tools you get
2 tools named in the project's documentation.
Requires
- python on PATH
- Python 3.8+
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/dahuangbaojian/sms-mcp-server.git
cd sms-mcp-serverMCP Clients
Claude Desktop
{
"mcpServers": {
"phone-carrier-detector": {
"command": "python",
"args": [
"<YOUR_PATH_TO_SMS_MCP_SERVER>/mcp_server.py"
],
"env": {}
}
}
}<YOUR_PATH_TO_SMS_MCP_SERVER> is the full path of your clone. The README's block passes just mcp_server.py, which only works if the client happens to start in the clone; Claude Desktop does not, so the path has to be absolute.