A mud client is a software used to connect to a MUD. Generally a mud client is a very basic telnet client that lacks VT100 terminal emulation and the capability to perform telnet negotations. On the other hand they are enhanced with features designed to specifically work well with mudding.
Standard features seen in most mud clients include ANSI color support, aliases, triggers and scripting. The client can often be extended almost indefinitely with its built-in scripting language. Most muds restrict the usage of scripts because it gives an unfair advantage, as well as the fear that the game will end up being played by fully automated clients instead of human beings.
The first mud client with any significant number of features was Tinytalk by Anton Rang in 1990, for Unix-like systems. This was followed in the same year by TinyFugue, originally by Greg Hudson and taken over by Ken Keys in 1991. TinyFugue has continued to evolve and remains one of the most popular clients today for Unix-like systems, and a Microsoft Windows version is also available.
Another early client was TinTin++ by Bill Reiss in 1993, which in turn was based on TinTin III, written by Peter Unold in 1992. From that point onwards mud clients slowly evolved, introducing concepts like data compression and auto mapping.
One of the most popular clients for Microsoft Windows is zMUD which is a commercial program. A nagware client for Windows is MUSHClient.