Ryan Malloy a8fbd71e0c Initial mctelnet MCP server
Telnet client capabilities for LLMs with expect-style automation:
- Multi-connection management with connection IDs
- Basic send/read operations with auto-response
- expect() for pattern matching across multiple patterns
- expect_send() for classic expect-style interactions
- run_script() for full automation sequences
- Password hiding for sensitive data
2026-02-06 16:59:28 -07:00
2026-02-06 16:59:28 -07:00
2026-02-06 16:59:28 -07:00
2026-02-06 16:59:28 -07:00
2026-02-06 16:59:28 -07:00
2026-02-06 16:59:28 -07:00

mctelnet

MCP server providing telnet client capabilities for LLMs. Connect to BBSes, MUDs, network devices, and any telnet-accessible system.

Installation

uvx mctelnet

Or add to Claude Code:

claude mcp add mctelnet "uvx mctelnet"

Features

  • Multi-connection management - Handle multiple simultaneous telnet sessions
  • Expect-style automation - Pattern matching for interactive prompts
  • Script execution - Run complete login/automation sequences
  • Password hiding - Redact sensitive data from outputs

Tools

Tool Description
connect Establish telnet connection, returns connection ID
send Send text to connection (auto-reads response)
read Read available data from connection
expect Wait for one of multiple patterns
expect_send Wait for pattern, then send text
run_script Execute expect-style automation script
list_connections Show all active connections
disconnect Close a connection
disconnect_all Close all connections

Usage Examples

Basic Interaction

# Connect to a server
conn = await connect("bbs.example.com", 23)
# conn returns {"id": "abc123", ...}

# Send a command
await send("abc123", "help")

# Disconnect
await disconnect("abc123")

Expect-Style Login

# Connect and wait for login prompt
conn = await connect("server.example.com", 23)

# Handle login sequence
await expect_send(conn_id, "login:", "myuser")
await expect_send(conn_id, "Password:", "mypass", hide_send=True)
await expect_send(conn_id, "$ ", "ls -la")

Scripted Automation

await run_script(conn_id, [
    {"expect": "login:", "send": "admin"},
    {"expect": "Password:", "send": "secret", "hide": True},
    {"expect": "$ ", "send": "show version"},
    {"expect": "$ ", "send": "show interfaces"},
    {"expect": "$ ", "send": "exit"}
])

Use Cases

  • Connecting to retro BBSes and MUDs
  • Network device configuration (routers, switches)
  • Legacy system automation
  • Interactive service testing
  • Terminal-based game playing

License

MIT

Description
Telnet client/server MCP for LLMs - connect to BBSes, MUDs, network devices, or host telnet services
Readme 52 KiB
Languages
Python 100%