There is quite a wide range of extensions available, if you need to access an external library it's pretty straightforward to wrap it with Swig (https://wiki.tcl-lang.org/page/Swig), and creating new commands in C is also fairly easy, so I'm doubtful that there is much that's really impossible in Tcl :-)