serial-mcp-server
A stateful serial port Model Context Protocol (MCP) server that allows AI agents to interact with serial devices. It enables listing ports, opening connections, reading and writing data, manipulating control lines like DTR, and supporting protocol specs for embedded systems and hardware debugging.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- List available serial ports
- Connect to microcontrollers
- Send commands and read responses
- Reset device via DTR
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
serial-mcp-server 0.1.3
{
"version": "0.1.3",
"transport": "stdio",
"identifier": "serial-mcp-server",
"registryType": "pypi",
"environmentVariables": [
{
"name": "SERIAL_MCP_MAX_CONNECTIONS",
"format": "string",
"description": "Maximum simultaneous open serial connections (default 10)"
},
{
"name": "SERIAL_MCP_PLUGINS",
"format": "string",
"description": "Plugin policy: 'all' or comma-separated plugin names. Unset = disabled."
},
{
"name": "SERIAL_MCP_MIRROR",
"format": "string",
"description": "PTY mirror mode: 'off' (default), 'ro' (read-only), or 'rw' (read-write). macOS/Linux only."
},
{
"name": "SERIAL_MCP_MIRROR_LINK",
"format": "string",
"description": "Base path for PTY symlinks (default /tmp/serial-mcp when mirror is enabled). Connections get numbered: /tmp/serial-mcp0, /tmp/serial-mcp1, etc."
},
{
"name": "SERIAL_MCP_TOOL_SEPARATOR",
"format": "string",
"description": "Tool name separator character (default '.'). Set to '_' for clients that reject dots (e.g. Cursor)."
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"serial-mcp-server": {
"command": "uvx",
"args": [
"serial-mcp-server==0.1.3"
],
"env": {
"SERIAL_MCP_MAX_CONNECTIONS": "<YOUR_SERIAL_MCP_MAX_CONNECTIONS>",
"SERIAL_MCP_PLUGINS": "<YOUR_SERIAL_MCP_PLUGINS>",
"SERIAL_MCP_MIRROR": "<YOUR_SERIAL_MCP_MIRROR>",
"SERIAL_MCP_MIRROR_LINK": "<YOUR_SERIAL_MCP_MIRROR_LINK>",
"SERIAL_MCP_TOOL_SEPARATOR": "<YOUR_SERIAL_MCP_TOOL_SEPARATOR>"
}
}
}
}Cline
{
"mcpServers": {
"serial-mcp-server": {
"command": "uvx",
"args": [
"serial-mcp-server==0.1.3"
],
"env": {
"SERIAL_MCP_MAX_CONNECTIONS": "<YOUR_SERIAL_MCP_MAX_CONNECTIONS>",
"SERIAL_MCP_PLUGINS": "<YOUR_SERIAL_MCP_PLUGINS>",
"SERIAL_MCP_MIRROR": "<YOUR_SERIAL_MCP_MIRROR>",
"SERIAL_MCP_MIRROR_LINK": "<YOUR_SERIAL_MCP_MIRROR_LINK>",
"SERIAL_MCP_TOOL_SEPARATOR": "<YOUR_SERIAL_MCP_TOOL_SEPARATOR>"
}
}
}
}VS Code
{
"servers": {
"serial-mcp-server": {
"type": "stdio",
"command": "uvx",
"args": [
"serial-mcp-server==0.1.3"
],
"env": {
"SERIAL_MCP_MAX_CONNECTIONS": "<YOUR_SERIAL_MCP_MAX_CONNECTIONS>",
"SERIAL_MCP_PLUGINS": "<YOUR_SERIAL_MCP_PLUGINS>",
"SERIAL_MCP_MIRROR": "<YOUR_SERIAL_MCP_MIRROR>",
"SERIAL_MCP_MIRROR_LINK": "<YOUR_SERIAL_MCP_MIRROR_LINK>",
"SERIAL_MCP_TOOL_SEPARATOR": "<YOUR_SERIAL_MCP_TOOL_SEPARATOR>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"serial-mcp-server": {
"command": "uvx",
"args": [
"serial-mcp-server==0.1.3"
],
"env": {
"SERIAL_MCP_MAX_CONNECTIONS": "<YOUR_SERIAL_MCP_MAX_CONNECTIONS>",
"SERIAL_MCP_PLUGINS": "<YOUR_SERIAL_MCP_PLUGINS>",
"SERIAL_MCP_MIRROR": "<YOUR_SERIAL_MCP_MIRROR>",
"SERIAL_MCP_MIRROR_LINK": "<YOUR_SERIAL_MCP_MIRROR_LINK>",
"SERIAL_MCP_TOOL_SEPARATOR": "<YOUR_SERIAL_MCP_TOOL_SEPARATOR>"
}
}
}
}Let your agent find its tools
Find servers like serial-mcp-server from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.