Skip to main content
Glama

at-mcp

A native Python MCP server for talking to cellular modems and radio modules via AT commands over a serial port (pyserial). It lets LLM agents enumerate serial ports and run read-only diagnostics: modem identity, IMEI, signal quality, network registration.

AT commands are publicly standardized in 3GPP TS 27.007 (plus TS 27.005 for SMS), so this project contains no proprietary or GPL code. It is the serial-port sibling of sahara-mcp and follows the same design.

ALPHA — NOT TESTED. This server is not tested against real modems. The result-code decoders follow the 3GPP spec but have not been validated on hardware. Use at your own risk, treat output sceptically, and start with a USB dongle you don't mind restarting.

Features

  • at_list_ports — enumerate serial COM/ACM ports visible to pyserial

  • at_command — send any AT command, return raw result lines (guarded to AT / AT+ prefixes)

  • at_infoATI (manufacturer/model/rev) + AT+CGMR

  • at_identityAT+CGSN (IMEI), AT+CGMI, AT+CGMM

  • at_signalAT+CSQ (RSSI/BER) decoded; merges AT+CESQ if supported

  • at_networkAT+COPS? operator + AT+CREG?/AT+CGREG? registration state (home/roam/searching/denied/unknown/not registered)

  • at_powerAT+CFUN=0 / AT+CFUN=1 to toggle the radio (opt-in; this is the only tool that changes device state)

Related MCP server: UART MCP Server

Finding the modem's COM port

Windows Device Manager:

  1. Press Win+XDevice Manager.

  2. Expand Ports (COM & LPT) — the modem usually appears as "USB-SERIAL CH340 (COM3)", "USB-SERIAL CP210x (COM5)", "Standard Serial over Bluetooth link (COM7)", or the modem vendor's own name.

  3. The COM number in parentheses is the port argument (e.g. COM3).

USB dongles / radio modules (SIM7000/SIM7600, Quectel EC25/BG96, Sierra, u-blox, etc.): plug the module in, note the new port that appears under Ports (COM & LPT), and set a matching baud rate (115200 is the typical factory default). If no port appears, you may need the vendor USB driver or a USB‑to‑TTL adapter for bare radio modules.

Install

pip install -e .

This pulls in mcp and pyserial.

Usage

Start the MCP server and point an MCP client (e.g. opencode, Claude Desktop) at it:

python -m at_mcp_server          # stdio transport

Example tool calls:

at_list_ports()
at_info(port="COM3")
at_identity(port="COM3")
at_signal(port="COM3")
at_network(port="COM3")
at_power(port="COM3", state="off")   # drops calls/data!
at_power(port="COM3", state="on")

Reference

  • 3GPP TS 27.007 — AT command set for User Equipment (RTTI / AT+CSQ, AT+COPS?, AT+CREG?, AT+CGSN, AT+CFUN, …)

  • 3GPP TS 27.005 — SMS AT commands

License

GPL-3.0. Copyright (c) 2026 libertyrights. All code here is original; AT command semantics come from the public 3GPP specifications.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI assistants to interact with physical serial port devices across platforms (Windows COM/Linux tty) with support for asynchronous communication, URC pattern recognition, and structured logging.
    1
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to communicate with serial port devices, supporting port management, data transmission in text/binary modes, interactive terminal sessions, and automatic reconnection.
    14
    11
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables LLMs to communicate with hardware devices via serial ports. Provides tools for listing ports, opening/closing connections, reading/writing data, and controlling serial signals.
    8
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Allows AI agents to interact with serial devices via RS232/UART, enabling port listing, connection, read/write, control line manipulation, and protocol specification for automated debugging and testing.
    27
    16
    MIT

View all related MCP servers

Related MCP Connectors

  • Real physical SIMs for AI agents: SMS verification and rentals. 145+ countries, 2500+ services.

  • Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.

  • Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.

View all MCP Connectors

Latest Blog Posts

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/libertyrights/at-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server