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
Part of the ellmos-ai family.
Discoverability: Published on npm as ellmos-servercommander-mcp and maintained in the ellmos-ai organization.
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.
Option 1: Install From npm
npm install -g ellmos-servercommander-mcp@alpha
ellmos-servercommander
Option 2: Install From Source
git clone https://github.com/ellmos-ai/ellmos-servercommander-mcp.git
cd ellmos-servercommander-mcp
$env:PYTHONIOENCODING = "utf-8"
python -m pip install -e ".[dev]"
python -m pytest -q
Avoid creating a .venv inside cloud-synced folders if your sync client locks files. If you need an isolated environment, create it outside that folder.
Start From Source
$env:PYTHONPATH = "src"
python -m servercommander.server
MCP Client Configuration
Global npm Install
{
"mcpServers": {
"servercommander": {
"command": "ellmos-servercommander"
}
}
}
Source Checkout
{
"mcpServers": {
"servercommander": {
"command": "python",
"args": ["-m", "servercommander.server"],
"env": {
"PYTHONPATH": "/absolute/path/to/ellmos-servercommander-mcp/src"
}
}
}
}
Replace /absolute/path/to/ellmos-servercommander-mcp with your local checkout path.
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.