Skip to main content
Glama
SamyiHu

mcp-uart

by SamyiHu

mcp-uart

Serial Port MCP Server for AI agents. Lets Claude, Cline, Cursor, and other MCP-compatible AI tools talk to UART/serial devices.

Features

  • 11 Tools: list ports, open, write, read, wait (single frame / full response), reconfigure, status, close, monitor start/stop, list encodings, list protocols

  • 12 Encodings: UTF-8, ASCII, Latin-1, GBK, GB2312, GB18030, Big5, Shift_JIS, EUC-KR, Hex, Base64, Binary

  • 6 Protocols: Raw, Line (newline), Custom delimiter, Modbus RTU, Hex frame, SLIP (RFC 1055)

  • Smart Wait: serial_wait collects a full device response (silence detection), serial_wait_frame returns on first frame

  • Real-time Monitor: Auto-opens a terminal window showing TX/RX data live, like a serial assistant

  • Time-aware Read: sinceLastRead mode returns only new messages with timing metadata

  • File Logging: serial_start_monitor logs all data to a file, viewable with tail -f

Related MCP server: UART MCP Server

Install

From npm

npm install -g mcp-uart

From source

git clone https://github.com/yourname/mcp-uart.git
cd mcp-uart
npm install
npm run build

Setup

Claude Code

claude mcp add uart -- mcp-uart

Or add to ~/.claude/settings.json:

{
  "mcpServers": {
    "uart": {
      "command": "mcp-uart"
    }
  }
}

Cline (VS Code)

Open Cline -> MCP Servers -> Edit Configuration, add:

{
  "mcpServers": {
    "uart": {
      "command": "mcp-uart"
    }
  }
}

Cursor

Add to Cursor MCP settings:

{
  "mcpServers": {
    "uart": {
      "command": "mcp-uart"
    }
  }
}

From source (not installed globally)

If running from a local clone instead of npm install -g:

{
  "mcpServers": {
    "uart": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-uart/dist/index.js"]
    }
  }
}

Usage

Once configured, talk to your AI naturally:

"List available serial ports"
"Open COM3 at 115200 baud with GBK encoding and Modbus RTU protocol"
"Send 01030000000A in hex"
"Wait for the device to finish responding"
"Read any new data since my last read"
"Switch to 9600 baud"
"Close the connection"

Tools Reference

Tool

Description

serial_list_ports

Discover available serial ports

serial_open

Open a port (auto-opens monitor terminal)

serial_write

Write data (text/hex/base64)

serial_read

Read buffered messages (supports sinceLastRead)

serial_wait

Wait for complete device response (silence detection)

serial_wait_frame

Wait for a single data frame

serial_reconfigure

Change settings on the fly

serial_status

View connection status

serial_close

Close a connection

serial_start_monitor

Start logging to file

serial_stop_monitor

Stop file logging

serial_list_encodings

List supported encodings

serial_list_protocols

List supported protocols

Standalone Serial Monitor

Run directly from the terminal (no AI needed):

# Global install
serial-monitor COM3 115200 utf8

# From source
node dist/monitor.js COM3 115200 utf8

Type and press Enter to send. Ctrl+C to exit.

Supported Encodings

Encoding

Description

utf8

UTF-8 (default)

ascii

7-bit ASCII

latin1

ISO-8859-1 Western European

gbk

GBK Simplified Chinese (Windows)

gb2312

GB2312 Simplified Chinese (basic)

gb18030

GB18030 Simplified Chinese (full)

big5

Big5 Traditional Chinese

shift_jis

Shift_JIS Japanese

euc-kr

EUC-KR Korean

hex

Hexadecimal string

base64

Base64 encoded

binary

Raw hex bytes

Supported Protocols

Protocol

Description

raw

No parsing, raw byte stream

line

Newline-delimited (\r\n)

delimiter

Custom hex delimiter (e.g. 0D0A)

modbus-rtu

Modbus RTU frame detection by silence gap

hex-frame

Extract between configurable start/end markers

slip

SLIP RFC 1055 de-framing

License

MIT

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

  • Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.

  • Give your agent live data from Twitter, Reddit, the web and GitHub. No API keys, no scraping stack.

  • Build, validate, and deploy multi-agent AI solutions from any AI environment.

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/SamyiHu/mcp-uart'

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