Termix
Manage hosts, snippets, dashboard, metrics and audit of a self-hosted Termix (SSH/RDP/VNC manager)
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
termix-mcpclaude mcp add termix -e 'TERMIX_URL=<TERMIX_URL>' -e 'TERMIX_API_KEY=<your termix_api_key>' -e 'TERMIX_MCP_TOOLSETS=default' -e 'TERMIX_MCP_READ_ONLY=false' -- uvx termix-mcp==0.1.0
{
"mcpServers": {
"termix": {
"command": "uvx",
"args": [
"termix-mcp==0.1.0"
],
"env": {
"TERMIX_URL": "<TERMIX_URL>",
"TERMIX_API_KEY": "<your termix_api_key>",
"TERMIX_MCP_TOOLSETS": "default",
"TERMIX_MCP_READ_ONLY": "false"
}
}
}
}
Variables d'environnement
TERMIX_URLobligatoire Base URL of the Termix instanceTERMIX_API_KEYobligatoire secret Termix API key (tmx_...)TERMIX_MCP_TOOLSETSdefault, all, or a comma-separated list (hosts,snippets,files,...)TERMIX_MCP_READ_ONLYHide and block every write tool
ghcr.io/sujirodev/termix-mcp:0.1.0claude mcp add termix -e 'TERMIX_URL=<TERMIX_URL>' -e 'TERMIX_API_KEY=<your termix_api_key>' -- docker run -i --rm ghcr.io/sujirodev/termix-mcp:0.1.0
{
"mcpServers": {
"termix": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/sujirodev/termix-mcp:0.1.0"
],
"env": {
"TERMIX_URL": "<TERMIX_URL>",
"TERMIX_API_KEY": "<your termix_api_key>"
}
}
}
}
Variables d'environnement
TERMIX_URLobligatoire Base URL of the Termix instanceTERMIX_API_KEYobligatoire secret Termix API key (tmx_...)
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Sommaire
termix-mcp
MCP server for Termix, the self-hosted SSH/RDP/VNC manager. Lets an agent (Claude Desktop, Claude Code, Cursor, VS Code...) list and operate your Termix's hosts, snippets, dashboard, metrics and audit trail, built on top of termix-sdk.
Not a 1:1 wrapper of the Termix API: it's a curated set of tools, secure by default (no secrets, no persistent SSH session, no destructive tools outside of explicit toolsets).
Install
uvx termix-mcp
Alternatives: pip install termix-mcp or the ghcr.io/sujirodev/termix-mcp image.
Requires a Termix API key (tmx_...) with the minimum RBAC permissions for what the agent will do - see SECURITY.md.
Configure in your client
Claude Desktop / Claude Code (claude_desktop_config.json or .mcp.json):
{
"mcpServers": {
"termix": {
"command": "uvx",
"args": ["termix-mcp"],
"env": {
"TERMIX_URL": "https://termix.example.com",
"TERMIX_API_KEY": "tmx_xxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}
}
Cursor / VS Code: same format, in each one's MCP configuration file.
Install via the MCP Registry
termix-mcp is published in the official MCP Registry under the name io.github.sujirodev/termix-mcp, with both a PyPI (uvx) package and an OCI (Docker) image listed - see server.json.
Clients that support registry-based discovery can find and install it directly from there instead of hand-writing the JSON config above:
curl -s "https://registry.modelcontextprotocol.io/v0/servers?search=io.github.sujirodev/termix-mcp"
Then follow your client's own "add from registry" flow, searching for io.github.sujirodev/termix-mcp. You'll still need to set TERMIX_URL and TERMIX_API_KEY yourself - the registry entry doesn't carry your credentials.
You say / what happens
| You say | What the tool does |
|---|---|
| "what hosts do I have registered?" | termix_list_hosts |
| "show me the metrics for host X" | termix_get_host_metrics |
| "run snippet Y on host X" | termix_run_snippet (blocked in read-only mode) |
| "create a new host for this server" | termix_create_host (blocked in read-only mode) |
| "what audit activity happened this week?" | termix_list_audit_events |
Environment variables
| Variable | Default | Description |
|---|---|---|
TERMIX_URL | required | Termix base URL |
TERMIX_API_KEY | required | tmx_... API key (JWT/TOTP are not supported) |
TERMIX_SERVICE_URLS | empty | JSON {"database": "http://..."} for installs without a proxy |
TERMIX_VERIFY_SSL | true | Validates the TLS certificate |
TERMIX_TIMEOUT | 30 | Timeout per request (s) |
TERMIX_MAX_RETRIES | 2 | Passed through to the SDK |
TERMIX_MCP_READ_ONLY | false | Hides and blocks write tools |
TERMIX_MCP_TOOLSETS | default | default, all, or a list hosts,snippets,files |
TERMIX_MCP_ENABLED_TOOLS | empty | Allowlist by tool name |
TERMIX_MCP_DISABLED_TOOLS | empty | Denylist by tool name |
TERMIX_MCP_REDACT_SECRETS | true | Masks secrets in all outputs |
TERMIX_MCP_MAX_ITEMS | 50 | Default item limit for listings |
TERMIX_MCP_TRANSPORT | stdio | stdio or http |
TERMIX_MCP_HTTP_HOST / _PORT | 127.0.0.1 / 8765 | HTTP transport bind |
TERMIX_MCP_HTTP_PATH | generated and logged | Secret path of the HTTP endpoint |
TERMIX_MCP_LOG_LEVEL | INFO | Log level (stderr on stdio, stdout on http) |
Toolsets
Enabled by default: hosts, snippets, dashboard, metrics, system, audit.
Opt-in (TERMIX_MCP_TOOLSETS=hosts,files,docker,...): credentials, files, docker, tunnels, alerts, automations, users.
Disabled and explicit (never included in all): admin, dangerous.
TERMIX_MCP_READ_ONLY=true hides and blocks every tool that isn't read-only, in any toolset.
Tools
Full tool list (generated by scripts/generate_tool_docs.py)
| Tool | Toolset | Read-only | Destructive | Flags |
|---|---|---|---|---|
termix_get_audit_forwarding | admin | yes | no | admin |
termix_get_branding | admin | yes | no | admin |
termix_get_encryption_status | admin | yes | no | admin |
termix_get_host_defaults | admin | yes | no | admin |
termix_get_termix_id_status | admin | yes | no | admin |
termix_list_sso_providers | admin | yes | no | admin |
termix_update_branding | admin | no | no | admin |
termix_acknowledge_alert_firing | alerts | no | no | - |
termix_create_alert_rule | alerts | no | no | - |
termix_delete_alert_rule | alerts | no | yes | - |
termix_list_alert_rules | alerts | yes | no | - |
termix_get_session_log | audit | yes | no | - |
termix_list_audit_events | audit | yes | no | - |
termix_list_session_logs | audit | yes | no | - |
termix_get_automation | automations | yes | no | - |
termix_list_automations | automations | yes | no | - |
termix_list_fleets | automations | yes | no | - |
termix_run_automation | automations | no | no | data-access |
termix_create_credential | credentials | no | no | - |
termix_delete_credential | credentials | no | yes | - |
termix_get_credential | credentials | yes | no | - |
termix_list_credentials | credentials | yes | no | - |
termix_reveal_credential | credentials | yes | no | data-access |
termix_update_credential | credentials | no | no | - |
termix_get_dashboard_summary | dashboard | yes | no | - |
termix_get_homepage | dashboard | yes | no | - |
termix_list_open_tabs | dashboard | yes | no | - |
termix_list_workspaces | dashboard | yes | no | - |
termix_get_container | docker | yes | no | data-access |
termix_get_container_logs | docker | yes | no | data-access |
termix_get_container_stats | docker | yes | no | data-access |
termix_list_containers | docker | yes | no | data-access |
termix_restart_container | docker | no | no | data-access |
termix_start_container | docker | no | no | data-access |
termix_stop_container | docker | no | no | data-access |
termix_create_folder | files | no | no | data-access |
termix_delete_file | files | no | yes | data-access |
termix_list_files | files | yes | no | data-access |
termix_move_file | files | no | no | data-access |
termix_read_file | files | yes | no | data-access |
termix_rename_file | files | no | no | data-access |
termix_write_file | files | no | no | data-access |
termix_create_host | hosts | no | no | - |
termix_delete_host | hosts | no | yes | - |
termix_disable_host_autostart | hosts | no | no | - |
termix_enable_host_autostart | hosts | no | no | - |
termix_get_host | hosts | yes | no | - |
termix_get_network_topology | hosts | yes | no | - |
termix_list_host_folders | hosts | yes | no | - |
termix_list_host_tags | hosts | yes | no | - |
termix_list_hosts | hosts | yes | no | - |
termix_update_host | hosts | no | no | - |
termix_get_host_metrics | metrics | yes | no | - |
termix_get_host_status | metrics | yes | no | - |
termix_get_metrics_history | metrics | yes | no | - |
termix_get_proxmox_stats | metrics | yes | no | - |
termix_list_active_alerts | metrics | yes | no | - |
termix_list_host_statuses | metrics | yes | no | - |
termix_create_snippet | snippets | no | no | - |
termix_delete_snippet | snippets | no | yes | - |
termix_get_snippet | snippets | yes | no | - |
termix_list_snippets | snippets | yes | no | - |
termix_run_snippet | snippets | no | no | - |
termix_update_snippet | snippets | no | no | - |
termix_get_preferences | system | yes | no | - |
termix_get_system_info | system | yes | no | - |
termix_list_api_keys | system | yes | no | - |
termix_create_tunnel | tunnels | no | no | data-access |
termix_delete_tunnel | tunnels | no | no | data-access |
termix_get_tunnel | tunnels | yes | no | - |
termix_list_tunnel_presets | tunnels | yes | no | - |
termix_list_tunnels | tunnels | yes | no | - |
termix_assign_role | users | no | no | admin |
termix_get_user | users | yes | no | admin |
termix_list_credential_access | users | yes | no | admin |
termix_list_folder_access | users | yes | no | admin |
termix_list_roles | users | yes | no | admin |
termix_list_users | users | yes | no | admin |
Total: 78 tools.
Contributing
See CONTRIBUTING.md.
Security
See SECURITY.md for the threat model.
License
Questions fréquentes
Qu'est-ce que Termix ?
Manage hosts, snippets, dashboard, metrics and audit of a self-hosted Termix (SSH/RDP/VNC manager)
Comment installer Termix ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add termix -e 'TERMIX_URL=<TERMIX_URL>' -e 'TERMIX_API_KEY=<your termix_api_key>' -e 'TERMIX_MCP_TOOLSETS=default' -e 'TERMIX_MCP_READ_ONLY=false' -- uvx termix-mcp==0.1.0. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour Termix ?
Oui. Il attend TERMIX_URL, TERMIX_API_KEY, à renseigner dans sa configuration.
Termix est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient Termix ?
Il est publié par sujirodev. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.