mcp-uart
Enables AI agents to communicate with UART/serial devices, offering tools for port management, data read/write, and protocol handling.
README
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_waitcollects a full device response (silence detection),serial_wait_framereturns on first frame - Real-time Monitor: Auto-opens a terminal window showing TX/RX data live, like a serial assistant
- Time-aware Read:
sinceLastReadmode returns only new messages with timing metadata - File Logging:
serial_start_monitorlogs all data to a file, viewable withtail -f
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.