mcp-conserver
MCP server for interacting with serial consoles managed by a conserver daemon.
Allows AI agents (e.g. Claude) to connect to serial consoles, send commands, read output, and manage console sessions through the Model Context Protocol.
Features
- Connect to a console in attach, spy (read-only), or force mode
- Send commands and read output interactively
- Send control characters (Ctrl-C, Ctrl-D, etc.)
- Query who is connected to consoles
- Disconnect users from consoles
- SSL/TLS and GSSAPI/Kerberos authentication
Installation
python -m venv venv
source venv/bin/activate
pip install -e .
Configuration
The server reads ~/.consolerc for default master server, port,
and username:
config * {
master conserver.example.com;
port 782;
username myuser;
}
All defaults can be overridden per tool call.
Usage with Claude Code
Activate the virtual environment before starting Claude Code:
source /path/to/mcp-conserver/venv/bin/activate
claude
Then add to .mcp.json in your project directory (see
mcp.json.example):
{
"mcpServers": {
"conserver": {
"command": "mcp-conserver"
}
}
}
Tools
| Tool | Description |
|---|---|
console_connect |
Connect to a console (attach/spy/force) |
console_close |
Disconnect and close a session |
console_list_sessions |
List active sessions |
console_send |
Send text and return output |
console_read |
Read latest console output |
console_send_control |
Send control characters |
console_who |
Show who is connected |
Architecture
Uses libconserver.py, a pure Python implementation of the conserver
client protocol, supporting SSL/TLS (anonymous DH), GSSAPI/Kerberos
authentication, and multi-hop server redirects.
Each console session runs a background reader thread that continuously drains the socket into a buffer, ensuring no data is lost between tool calls.
License
GPLv2 - see LICENSE.
Metadata
Release files for mcp-conserver 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mcp_conserver-0.1.0.tar.gz | 18.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_conserver-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 37.4 kB
Release files / mcp_conserver-0.1.0.tar.gz
| Download URL | mcp_conserver-0.1.0.tar.gz |
|---|---|
| Size | 18.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
773b8f6fdae48ccc162917e8adde2f0ff088afb48d9f98b8b6d62cdb21238c47
|
|
BLAKE2b-256 checksum How to use checksums |
8ea2ad3dbc504e95f19f57655339002e2bff3bcd70685d7443bfd57d76486d73
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 1, 2026.
Transparency logRelease files / mcp_conserver-0.1.0-py3-none-any.whl
| Download URL | mcp_conserver-0.1.0-py3-none-any.whl |
|---|---|
| Size | 19.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
48250915771e6e648ece3f22fe2715e8d0188d481ea63c3e8685326728f3d8b0
|
|
BLAKE2b-256 checksum How to use checksums |
8df7e4567821fb4ef4444950723e5e84ad293aa9f7695b2184489c1bac8d154a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 1, 2026.
Transparency log