Skip to main content
Glama

MCP Server Control šŸ–„ļø

A production-grade MCP (Model Context Protocol) server that lets AI cloud services (Claude, ChatGPT, Gemini, Cursor, etc.) control and manage your Linux server securely via HTTP/SSE.

✨ Features

  • 20 MCP Tools — run commands, manage files, control services, manage users & SSH keys

  • 10 Security Layers — API key + JWT tokens + IP whitelist + rate limiting + audit logs + command blacklist + path sandboxing + HTTPS + Helmet + CORS

  • Role-Based Access — admin gets full control; user is sandboxed to their home directory

  • Per-User API Keys — issue scoped keys for different users/services

  • Audit Logging — every tool call logged with user, IP, duration, result (daily rotating JSON)

  • systemd Ready — auto-start on boot

Related MCP server: mcp-devtools

šŸš€ Quick Start

# 1. Clone
git clone https://github.com/MarketingLimited/mcp-server-control.git
cd mcp-server-control

# 2. Install dependencies
npm install

# 3. Setup (generates secrets, .env, optional TLS cert)
node setup.js

# 4. Start
npm start

# 5. Or run as system service
cp mcp-server.service /etc/systemd/system/
systemctl enable --now mcp-server

šŸ”— Connect Your AI Client

Claude Desktop

{
  "mcpServers": {
    "server-control": {
      "type": "sse",
      "url": "http://YOUR_SERVER_IP:4444/mcp",
      "headers": { "X-API-Key": "YOUR_ADMIN_KEY" }
    }
  }
}

Cursor / VS Code

{
  "mcpServers": {
    "server-control": {
      "url": "http://YOUR_SERVER_IP:4444/mcp",
      "type": "sse",
      "headers": { "X-API-Key": "YOUR_ADMIN_KEY" }
    }
  }
}

šŸ› ļø Available Tools

Category

Tools

System

run_command, get_system_info, get_processes, kill_process

Files

read_file, write_file, delete_file, list_directory, move_file, copy_file, get_file_info, search_files

Services

manage_service, get_service_status, list_services, get_journal_logs, manage_firewall

Users

list_users, get_user_info, create_user, delete_user, set_user_password, modify_user, manage_ssh_keys

šŸ” Security Architecture

AI Client → HTTPS → IP Whitelist → API Key/JWT → Rate Limit → Scope Check → Sandbox → Tool

Layer

Details

HTTPS/TLS

TLS 1.2+ with strong cipher suites

IP Whitelist

Per-key or global CIDR restrictions

API Key

64-byte cryptographically random hex keys

JWT Tokens

IP-bound, 8h expiry, issued per-session

Rate Limiting

60 req/min global, 10/15min auth

Command Guard

Blacklist of destructive patterns

Path Sandbox

Users restricted to /home/{username}

Audit Logs

Structured JSON, 30-day retention

šŸ“ Project Structure

ā”œā”€ā”€ server.js              # Main MCP server (Express + SSE)
ā”œā”€ā”€ security.js            # All auth & security middleware
ā”œā”€ā”€ audit.js               # Structured audit logging
ā”œā”€ā”€ keygen.js              # API key generator
ā”œā”€ā”€ setup.js               # First-time setup wizard
ā”œā”€ā”€ mcp-server.service     # systemd unit file
ā”œā”€ā”€ .env.example           # Config template
└── tools/
    ā”œā”€ā”€ system.js          # Shell commands, processes, system info
    ā”œā”€ā”€ files.js           # File system CRUD
    ā”œā”€ā”€ services.js        # systemd & firewall management
    └── users.js           # User & SSH key management

āš™ļø Configuration

Copy .env.example to .env and configure:

PORT=4444
USE_HTTPS=true
JWT_SECRET=<64-byte random hex>
ADMIN_API_KEY=<generated with keygen.js>
ALLOWED_IPS=203.0.113.10,192.168.1.0/24   # optional
RATE_LIMIT_MAX_REQUESTS=60
AUDIT_LOG_KEEP_DAYS=30

šŸ”‘ Generate API Keys

# Generate admin key
node keygen.js admin admin

# Generate scoped user key
node keygen.js alice user run_command,read_file,write_file

šŸ“Š Monitor

# Live audit log
tail -f logs/audit-$(date +%Y-%m-%d).log | jq

# View active sessions
curl http://localhost:4444/admin/sessions -H "X-API-Key: YOUR_KEY"

# Health check
curl http://localhost:4444/health

Requirements

  • Node.js 18+

  • Linux (systemd-based)

  • openssl (for HTTPS)

  • Root or sudo for full admin tools

License

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that gives AI assistants full SSH/SFTP remote operations — session management, command execution, interactive shells, file transfers, port forwarding, and system diagnostics.
    2
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Production-grade MCP server that gives AI agents safe access to your local dev environment: filesystem, databases, processes, and OpenAPI specs.
    15
    28 npm
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A production-ready MCP server that enables AI assistants to execute shell commands, manage files, monitor system resources, and automate complex workflows with advanced features like stock tracking and web automation.
    7
    18 npm
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    An MCP server for managing Ubuntu/Linux systems, enabling AI assistants to execute commands, manage services, files, logs, and packages via local or SSH connection.
    -