Safe Terminal MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Safe Terminal MCP ServerList the files in the src folder"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Safe Terminal MCP Server
A secure, controlled terminal MCP server with strict command whitelisting and multiple safety layers.
π‘οΈ Security Features
Command Whitelisting: Only pre-approved commands are allowed
Pattern Blocking: Blocks shell metacharacters and dangerous patterns
Path Sanitization: Prevents directory traversal attacks
Dangerous Command Control: Requires explicit permission for risky commands
Resource Limits: Timeouts and output size limits
File Type Restrictions: Only safe file extensions allowed
Related MCP server: MCP Terminal Server
π Quick Setup
1. Install Dependencies
npm install2. Build Project
npm run build3. Test
npm startπ Project Structure
safe-terminal-mcp/
βββ src/
β βββ index.ts # Main server code
βββ dist/ # Compiled JavaScript (generated)
βββ package.json # Project dependencies
βββ tsconfig.json # TypeScript configuration
βββ README.md # This fileπ§ Configuration
Safe Commands (Built-in)
Read-only:
ls,pwd,cat,head,tail,find,grep,wcSystem info:
date,whoami,uname,df,free,uptimeDevelopment:
git,npm,node,python(requires allowDangerous)
Dangerous Commands
These require allowDangerous: true:
File modification:
touch,mkdir,cp,mv,rmNetwork access:
ping,curl,wgetCode execution:
node,python,npmSystem changes:
chmod,chown
π Claude Desktop Integration
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"safe-terminal": {
"command": "node",
"args": ["/absolute/path/to/safe-terminal-mcp/dist/index.js"]
}
}
}π¨ Available Tools
1. run_safe_command
Execute whitelisted commands with safety checks.
Parameters:
command(required): The command to executeallowDangerous(optional): Allow dangerous commands (default: false)workingDir(optional): Working directory (relative to server root)
Example:
{
"command": "ls -la",
"allowDangerous": false,
"workingDir": "src"
}2. list_safe_commands
List all available commands and their danger levels.
3. read_file
Safely read text files with extension checking.
Parameters:
path(required): File path to read
4. list_directory
List directory contents safely.
Parameters:
path(optional): Directory path (default: current directory)
π‘οΈ Safety Features Explained
Command Whitelisting
Only pre-approved commands in SAFE_COMMANDS are allowed. Each command is categorized as safe or dangerous.
Pattern Blocking
Blocks dangerous shell patterns:
Shell metacharacters:
;,&,|,`,$,(),{}Directory traversal:
..System directories:
/etc/,/var/,/usr/bin/Privilege escalation:
sudo,suFile redirection:
>,<
Path Sanitization
All file paths are resolved and checked to ensure they stay within the working directory.
Resource Limits
Timeout: 30 seconds max execution time
Output: 1MB max output size
File size: Files truncated at 1MB
π§ͺ Testing
Test the server manually:
# Start the server
npm start
# In another terminal, test with MCP inspector
npx @modelcontextprotocol/inspector node dist/index.jsπ Security Best Practices
Run in Isolation: Use in a sandboxed environment or VM
Monitor Commands: Review all command executions
Limit Dangerous Commands: Only enable when absolutely necessary
Regular Updates: Keep dependencies updated
Principle of Least Privilege: Only grant necessary permissions
β οΈ Important Notes
This is much safer than unrestricted terminal access, but still carries risks
Dangerous commands should only be enabled when necessary
Always review commands before execution in production
Consider running in a containerized environment for additional isolation
π Customization
You can easily customize the server by:
Adding new safe commands to
SAFE_COMMANDSModifying
DANGEROUS_PATTERNSfor additional blockingAdjusting resource limits in
CONFIGAdding new tools for specific use cases
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceA secure MCP server for executing whitelisted shell commands with resource and timeout controls, designed for integration with Claude and other MCP-compatible LLMs.Last updated203777MIT
- AlicenseBqualityDmaintenanceA secure terminal execution server that enables controlled command execution with security features and resource limits via the Model Context Protocol (MCP).Last updated17910MIT
- AlicenseAqualityDmaintenanceAn MCP server that enables secure execution of shell commands across Windows, macOS, and Linux with built-in whitelisting and approval mechanisms for enhanced security.Last updated915619MIT
- AlicenseCqualityDmaintenanceA secure server that implements the Model Context Protocol (MCP) to enable controlled execution of authorized shell commands with stdin support.Last updated1MIT
Related MCP Connectors
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
An MCP server for deep research or task groups
A MCP server built for developers enabling Git based project management with project and personalβ¦
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Kristos/safe-terminal-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server