termlink
MCP server for shell and terminal operations
claude mcp add --transport stdio chu2bard-termlink node dist/index.js
How to use
termlink exposes a terminal-like interface to Claude (or any MCP client) with a set of built-in tools to inspect and interact with your host system. The server is started by running the Node entry, which is expected to compile to dist/index.js, and then Claude can connect to the termlink MCP server to issue commands. Available tools include run_command for executing shell commands, read_file and write_file for file I/O, list_directory and file_exists for navigating the filesystem, and process_info, get_env, and list_processes for gathering system information and environment details. Use cases include running lightweight commands, viewing and editing files, listing directories, and inspecting running processes, all within the constraints configured by the termlink.json settings.
To use termlink, add it to your Claude Desktop config under mcpServers with the provided command and arguments. Example: { "mcpServers": { "termlink": { "command": "node", "args": ["dist/index.js"] } } }
Once connected, you can issue tool calls such as run_command {"command": "ls -la"}, read_file {"path": "/etc/hosts"}, or process_info to retrieve system statistics. The server relies on a local configuration file termlink.json to set runtime options like blockedCommands, allowedCommands, timeout, and maxOutputSize to tailor security and performance.
How to install
Prerequisites:
- Node.js and npm installed on the host
- Access to build the project (if source is provided)
Install and build:
-
Install dependencies npm install
-
Build the project (if applicable) npm run build
-
Run the server (example) node dist/index.js
-
Configure the MCP connection in Claude Desktop by adding an MCP server named termlink with: command: node args: ["dist/index.js"]
-
Optional: create termlink.json in the working directory to customize runtime options (blockedCommands, allowedCommands, timeout, maxOutputSize). Example: { "blockedCommands": ["rm -rf /"], "allowedCommands": [], "timeout": 30000, "maxOutputSize": 524288 }
Additional notes
Notes and tips:
- The termlink.json file allows you to tighten or loosen command restrictions. Be mindful of blockedCommands to prevent dangerous operations.
- If you modify termlink.json, restart the MCP server so changes take effect.
- Ensure dist/index.js exists after building; if the build step changes, adjust the npm run build output path accordingly.
- The server exposes system information and filesystem access; consider running behind proper access controls and network restrictions to prevent leakage of sensitive data.
- If you encounter timeouts, increase timeout in termlink.json or ensure the host can complete long-running commands within the allowed window.
Related MCP Servers
CanvasMCPClient
Canvas MCP Client is an open-source, self-hostable dashboard application built around an infinite, zoomable, and pannable canvas. It provides a unified interface for interacting with multiple MCP (Model Context Protocol) servers through a flexible, widget-based system.
mcp-shell
Give hands to AI. MCP server to run shell commands securely, auditably, and on demand.
guildbridge
🏰 Remotely hosted MCP server for Discord
terminal
A minimal, zero-dependency terminal MCP (Model Context Protocol) client built for coding agents like OpenAI Codex.
mcp-turso
MCP server for interacting with Turso-hosted LibSQL databases
LiquidSoapMCP
MCP server for LiquidSoap 2.4.0 documentation and script assistance