xtell-serial
Officialxtell-serial
About XTELL (www.xtell.cn)
Shenzhen XTELL Future Technology delivers true full-stack development: software, circuit design, mold development and mass production, all from one team. Our work spans embedded software and hardware, cloud platforms and backends, AI algorithms, IoT solutions and mobile internet technology. We provide the full lifecycle from concept design to mass-production delivery, and the close collaboration between hardware and software helps clients bring products to market quickly and succeed commercially.
A serial terminal with a GUI that your AI assistant can drive through MCP. You watch the log scroll in a normal desktop window; Claude, Cursor or any MCP client reads the same log and sends commands to the same port.
Status: early preview (v0.1). Windows only for now. The full MCP setup guide and tool reference is in docs/MCP_SETUP.md (also available in Chinese).

The log in the upper pane, the filter (here ERR) highlighting matches and listing them below. The log is demo data.
What it is
A full serial terminal: baud rates up to 10 Mbaud, UTF-8 / GBK / GB2312 / ASCII, HEX view and send, timestamps, line numbers.
Live filtering by substring or regular expression, with highlighting and a separate filtered view.
Repeat-send, send history, save-to-file with append mode, a 100,000-line buffer with a usage bar.
English and Chinese user interface: use the language item in the menu bar, next to File (ENG / 中文), to switch; the choice is remembered (the first run follows the Windows display language).
Several windows at once, each with its own name, for bench setups with more than one board. The first window acts as a local hub; if it closes, another one takes over.
An MCP server (
xtell-serial-mcp) that exposes 14 tools to AI clients: list ports, connect, send, auto-send, read received / sent / filtered data (with optional time ranges), set a filter, save to file, clear buffers, check buffer status.
The GUI and the MCP server talk over a local TCP hub on 127.0.0.1:50016 (override with XTELL_SERIAL_HUB_PORT). Nothing listens on a public interface.
Related MCP server: sbl-probe
More screenshots


Run from source
pip install -r requirements.txt
python xtell_serial.pyBuild executables (Windows)
pip install pyinstaller
build_exe.batThis produces dist\xtell-serial.exe (the GUI) and dist\xtell-serial-mcp.exe (the MCP server).
Connect an AI client
Register xtell-serial-mcp.exe (not the GUI) as an MCP server. For Claude Code:
claude mcp add xtell-serial C:\path\to\xtell-serial-mcp.exeFor Claude Desktop, Cursor and others, add this to the client's MCP configuration (see mcp_config.example.json):
{
"mcpServers": {
"xtell-serial": {
"command": "C:\\path\\to\\xtell-serial-mcp.exe",
"args": []
}
}
}The full tool reference is in docs/MCP_SETUP.md.
Then ask your assistant something like: "Connect to COM3 at 115200, send AT+GMR, and tell me what version the module reports."
Safety notes
The assistant can send arbitrary bytes to whatever device is on the port. Do not connect it to hardware where an unexpected command could cause harm.
The local hub accepts connections from
127.0.0.1only.
License
Apache License 2.0, see LICENSE.
Built by XTELL, an embedded hardware and software design house in Shenzhen.
Available Tools
14 toolsclear_data_buffersC
Clear the text buffers of a window.
Inputs: port (required), target.
connect_serialA
Connect a serial port. If every existing window is already using another port, a new window is opened for this one.
Inputs: port (required), baudrate (required).
disconnect_serialC
Disconnect a serial port.
Inputs: port (required).
get_buffer_statusB
Report how many lines the window buffer holds, its limit and the percentage used.
Inputs: port (required).
list_serial_portsA
List the serial ports on this computer.
Inputs: no named parameters.
read_filtered_dataC
Read the last N lines that match the current filter.
Inputs: port (required), end_time, start_time, lines_count.
read_received_dataA
Read the last N lines of the main receive window. Optional start and end timestamps filter the range (format: yyyy-mm-dd HH:MM:SS.mmm).
Inputs: port (required), end_time, start_time, lines_count.
read_sent_dataC
Read the last N lines of the send history.
Inputs: port (required), end_time, start_time, lines_count.
send_serial_dataA
Send one message to a serial port. The port must already be connected with connect_serial.
Inputs: data (required), port (required), hex_mode.
set_filterC
Set the live filter of a window.
Inputs: port (required), keyword (required), enable, is_regex.
start_auto_sendC
Start sending data repeatedly on a timer.
Inputs: data (required), port (required), interval_ms (required), hex_mode.
start_saving_fileC
Start saving the data received on a port to a local file. The path must be absolute.
Inputs: port (required), filepath (required).
stop_auto_sendC
Stop the repeating send.
Inputs: port (required).
stop_saving_fileC
Stop saving and close the file.
Inputs: port (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 14 tools
Each tool targets a clear action on the serial session: connect/disconnect, send, auto-send timer, file saving, filtering, and distinct read variants (received/sent/filtered). The only mild overlap is between send_serial_data and start_auto_send (both transmit) and between set_filter and read_filtered_data, but the descriptions make the boundaries clear.
All 14 tools use a consistent snake_case verb_noun pattern (list_serial_ports, connect_serial, start_auto_send, read_received_data, get_buffer_status). Start/stop and read_* pairs are named symmetrically, making the convention highly predictable.
14 tools is well within the ideal 3-15 range and each tool maps to a distinct operation in the serial-port workflow. Nothing appears redundant or padded.
The set covers the full session lifecycle: enumerate, connect, send (single and auto), receive/read, filter, save to file, and buffer diagnostics. Minor gaps exist around serial port configuration (baud rate, parity, etc.) and clearing the filter, but these are workable omissions.
Maintenance
Related MCP Connectors
Remote MCP server exposing your Node Command fleet (files, shell, processes, browser) to AI hosts.
Connect ChatGPT and Claude to your Mac, Windows or Linux with secure MCP remote access.
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Real-time chat for AI agents. Claude Code, Cursor, Cline and Codex join channels over MCP.
Related MCP Servers
- AlicenseBqualityBmaintenanceMCP server that lets LLMs talk to serial devices: microcontrollers, routers, modems, embedded Linux, anything with a UART.2455 PyPI7MIT

sbl-probeofficial
AlicenseNot gradedqualityDmaintenanceSerial communication and protocol analysis MCP server that gives AI coding assistants direct access to serial ports for reading, writing, decoding, and capturing embedded device output.MIT- AlicenseNot gradedqualityDmaintenanceEnables humans and AI agents to collaboratively control serial ports via MCP tools or Web UI, with real-time data sharing across all participants.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with serial port devices by sending commands, capturing output, and managing connections, with real-time browser-based terminal monitoring.1MIT