Alpha MCP server for server operations: deploy dry-runs, mail status, log analysis, and health checks.
ellmos-servercommander-mcp
Alpha MCP server for server operations: deployment dry-runs, mail status, access-log analysis, and HTTP health checks.
German README: README_de.md
Status
- Transport: stdio via the Python MCP SDK
- Package status: public alpha package under
ellmos-ai - Current core: MCP tool listing, MCP tool dispatch, config loading, HTTP health checks, richer access-log analysis
- Safe alpha handlers:
sc_deploybuilds local SHA256 manifests and configuration diagnostics in dry-run mode;sc_mail_*reports mail configuration gaps without IMAP/SMTP operations - i18n: localized MCP tool descriptions, input-schema field descriptions, and unknown-tool errors for
en,de,es,zh,ja,ruwith English fallback
Install
The npm package contains a Node wrapper that starts the Python server. You still need Python 3.10+ and the Python package mcp>=1.0.0.
npm install -g ellmos-servercommander-mcp@alpha
ellmos-servercommander
For local development:
cd "C:\Users\User\OneDrive\.TOPICS\.AI\.MCP\ellmos-servercommander-mcp"
$env:PYTHONIOENCODING = "utf-8"
python -m pip install -e ".[dev]"
python -m pytest -q
Do not create a .venv inside a OneDrive-synced folder. If you need an isolated environment, create it outside OneDrive.
Start From Source
$env:PYTHONPATH = "src"
python -m servercommander.server
Configuration
Example: config/servercommander.example.toml
Default paths:
%USERPROFILE%\.servercommander\config.toml%USERPROFILE%\.config\servercommander\config.toml- override with
SERVERCOMMANDER_CONFIG
Language can be configured with [server].language, SERVERCOMMANDER_LANG, or SERVERCOMMANDER_LOCALE.
[server]
name = "ellmos-servercommander"
language = "en" # en, de, es, zh, ja, ru
Secrets should be referenced through environment variables, for example $MAIL_PASSWORD or $SFTP_PASSWORD.
Tools
sc_health_check: checks HTTP endpoints and reports status code plus latencysc_logs_analyze: analyzes Apache/Nginx access logs from inline text or a local file, including status classes, bytes, referers, error paths, and suspicious request markerssc_deploy: creates a deployment plan with a local SHA256 manifest and profile diagnostics, but does not upload yetsc_deploy_status: shows configured deploy profiles, selected-profile diagnostics, and the current alpha history statussc_mail_list,sc_mail_read,sc_mail_send,sc_mail_search: safe alpha status responses with mail configuration diagnostics and no IMAP/SMTP connections
Development
$env:PYTHONIOENCODING = "utf-8"
$env:PYTHONDONTWRITEBYTECODE = "1"
python -m pytest -q
npm run smoke
npm pack --dry-run
Next useful step: add explicitly configured execution adapters for SFTP and IMAP/SMTP, keep dry-run defaults, and extend log analysis with persisted reports.