Remote Server MCP

Remote Server MCP

A security-first MCP server that gives AI assistants controlled, safe access to manage remote servers via SSH with whitelisted operations and no generic command execution.

Category
Visit Server

README

Remote Server MCP

Python 3.11+ License: MIT

A security-first MCP server that gives AI assistants controlled, safe access to manage remote servers via SSH.

Design principle: Whitelist operations, don't blacklist commands. No generic command execution — only 13 validated tools.

┌───────────────┐    ┌──────────────────────────────┐    ┌──────────────┐
│  AI Assistant │───▶│        MCP Server            │───▶│  SSH to      │
│  (Qwen Code)  │◀───│      (Secure Tools Only)     │◀───│  Remote      │
└───────────────┘    │                              │    │  Server      │
                     │  Safe Tools:                 │    └──────────────┘
                     │  • list_services()           │
                     │  • get_service_logs()        │
                     │  • get_service_status()      │
                     │  • restart/start/stop        │
                     │  • get_service_file()        │
                     │  • list_service_files()      │
                     │  • search_service_logs()     │
                     │  • get_server_health()       │
                     │  • query_influxdb()          │
                     │  • query_prometheus()        │
                     │  • get_prometheus_targets()  │
                     └──────────────────────────────┘
                                │
                     All commands validated
                     against security policy
                     before execution

Quick Start

uv pip install -e . --python .venv
cp config.example.yaml config.yaml   # edit with your SSH details
uv run pytest tests/ -v

See Getting Started for full setup instructions and Qwen Code integration.

Architecture

This project is a thin MCP server layer built on top of server-management-lib, which provides the core security validation, SSH management, and HTTP clients:

remote-server-mcp/          # This project — MCP server layer
├── src/remote_server_mcp/
│   ├── __init__.py         # Entry point
│   └── server.py           # MCP tool definitions (13 tools)
└── tests/

server-management-lib/      # Shared library (separate repo)
├── security.py             # Security validator
├── ssh_manager.py          # SSH connection handler
├── http_clients.py         # InfluxDB + Prometheus clients
└── config.py               # Configuration loader

Security Model 🛡️

  • ❌ No arbitrary command execution
  • ❌ No file access outside /srv/{service}/
  • ❌ No sensitive files (.env, .git/, *.key, secrets)
  • ✅ Only specific, validated Docker operations
  • ✅ All inputs sanitized against injection, traversal, and encoding bypasses

See Security Model for the full threat model and controls.

Available Tools

Tool Purpose
list_services List services in /srv/
get_service_logs Docker container logs
get_service_status Status + resource usage
restart_service Restart container
start_service Start container
stop_service Stop container
get_service_file Read files in /srv/{service}/
list_service_files List service directory
search_service_logs Search logs (plain text)
get_server_health CPU / memory / disk metrics
query_influxdb Query InfluxDB v3 via SQL (read-only)
query_prometheus Query Prometheus via PromQL
get_prometheus_targets List Prometheus scrape targets

See Tools for detailed descriptions.

Development

uv run ruff check . && uv run ruff format . && uv run ty check && uv run pytest tests/ -v

See Development for project structure, pre-commit hooks, and how to add new tools safely.

License

This tool is licensed under the terms of MIT license.

See LICENSE for more information.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured