Termix

io.github.sujirodevPublished by GitHub account sujirodevv0.1.0Updated Oct 24, 2026

Manage hosts, snippets, dashboard, metrics and audit of a self-hosted Termix (SSH/RDP/VNC manager)

Overview

AI-generated overview

Lets an assistant browse and operate a self-hosted Termix SSH/RDP/VNC manager: hosts, snippets, metrics, dashboard, files, and audit trail.

What you can do
Wraps the Termix API through termix-sdk as a curated set of tools rather than a full API mirror. Read tools cover hosts, host metrics and status, dashboard summaries, snippets, audit events and session logs, system info, and API keys. Write tools can create, update, and delete hosts, snippets, credentials, alert rules, tunnels, and files, run snippets and automations, and start, stop, or restart containers. Tools are grouped into toolsets, with hosts, snippets, dashboard, metrics, system, and audit on by default.
When to use it
Use it when you run a self-hosted Termix instance and want an assistant to answer questions about registered hosts, metrics, and audit activity, or to perform routine management such as creating hosts, running snippets, or handling files. Read-only mode suits teams that only want visibility without letting the assistant change anything.
Requirements
Runs locally over stdio via uvx termix-mcp, pip, or the ghcr.io/sujirodev/termix-mcp image. Requires TERMIX_URL pointing at the Termix instance and a Termix API key in TERMIX_API_KEY; JWT and TOTP are not supported. Optional variables control read-only mode, toolsets, tool allow/deny lists, secret redaction, item limits, timeouts, TLS verification, and HTTP transport.
Before you install
The API key in TERMIX_API_KEY carries the permissions of its Termix role, so scope it to the minimum RBAC needed. Write tools can create, update, and delete hosts, snippets, credentials, alert rules, tunnels, and files, and can run snippets and automations on hosts; TERMIX_MCP_READ_ONLY hides and blocks these. Credential tools can reveal stored secrets, and the credentials, files, docker, tunnels, alerts, automations, and users toolsets are opt-in. Admin and dangerous toolsets are excluded…

Installation

In SourceWeft

  1. Open Termix in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

termix-mcp

[CI] [PyPI] [License] [Python] [Docker]

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).

[MCP Registry]

Install

bash
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):

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:

bash
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 sayWhat 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

VariableDefaultDescription
TERMIX_URLrequiredTermix base URL
TERMIX_API_KEYrequiredtmx_... API key (JWT/TOTP are not supported)
TERMIX_SERVICE_URLSemptyJSON {"database": "http://..."} for installs without a proxy
TERMIX_VERIFY_SSLtrueValidates the TLS certificate
TERMIX_TIMEOUT30Timeout per request (s)
TERMIX_MAX_RETRIES2Passed through to the SDK
TERMIX_MCP_READ_ONLYfalseHides and blocks write tools
TERMIX_MCP_TOOLSETSdefaultdefault, all, or a list hosts,snippets,files
TERMIX_MCP_ENABLED_TOOLSemptyAllowlist by tool name
TERMIX_MCP_DISABLED_TOOLSemptyDenylist by tool name
TERMIX_MCP_REDACT_SECRETStrueMasks secrets in all outputs
TERMIX_MCP_MAX_ITEMS50Default item limit for listings
TERMIX_MCP_TRANSPORTstdiostdio or http
TERMIX_MCP_HTTP_HOST / _PORT127.0.0.1 / 8765HTTP transport bind
TERMIX_MCP_HTTP_PATHgenerated and loggedSecret path of the HTTP endpoint
TERMIX_MCP_LOG_LEVELINFOLog 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)
ToolToolsetRead-onlyDestructiveFlags
termix_get_audit_forwardingadminyesnoadmin
termix_get_brandingadminyesnoadmin
termix_get_encryption_statusadminyesnoadmin
termix_get_host_defaultsadminyesnoadmin
termix_get_termix_id_statusadminyesnoadmin
termix_list_sso_providersadminyesnoadmin
termix_update_brandingadminnonoadmin
termix_acknowledge_alert_firingalertsnono-
termix_create_alert_rulealertsnono-
termix_delete_alert_rulealertsnoyes-
termix_list_alert_rulesalertsyesno-
termix_get_session_logaudityesno-
termix_list_audit_eventsaudityesno-
termix_list_session_logsaudityesno-
termix_get_automationautomationsyesno-
termix_list_automationsautomationsyesno-
termix_list_fleetsautomationsyesno-
termix_run_automationautomationsnonodata-access
termix_create_credentialcredentialsnono-
termix_delete_credentialcredentialsnoyes-
termix_get_credentialcredentialsyesno-
termix_list_credentialscredentialsyesno-
termix_reveal_credentialcredentialsyesnodata-access
termix_update_credentialcredentialsnono-
termix_get_dashboard_summarydashboardyesno-
termix_get_homepagedashboardyesno-
termix_list_open_tabsdashboardyesno-
termix_list_workspacesdashboardyesno-
termix_get_containerdockeryesnodata-access
termix_get_container_logsdockeryesnodata-access
termix_get_container_statsdockeryesnodata-access
termix_list_containersdockeryesnodata-access
termix_restart_containerdockernonodata-access
termix_start_containerdockernonodata-access
termix_stop_containerdockernonodata-access
termix_create_folderfilesnonodata-access
termix_delete_filefilesnoyesdata-access
termix_list_filesfilesyesnodata-access
termix_move_filefilesnonodata-access
termix_read_filefilesyesnodata-access
termix_rename_filefilesnonodata-access
termix_write_filefilesnonodata-access
termix_create_hosthostsnono-
termix_delete_hosthostsnoyes-
termix_disable_host_autostarthostsnono-
termix_enable_host_autostarthostsnono-
termix_get_hosthostsyesno-
termix_get_network_topologyhostsyesno-
termix_list_host_foldershostsyesno-
termix_list_host_tagshostsyesno-
termix_list_hostshostsyesno-
termix_update_hosthostsnono-
termix_get_host_metricsmetricsyesno-
termix_get_host_statusmetricsyesno-
termix_get_metrics_historymetricsyesno-
termix_get_proxmox_statsmetricsyesno-
termix_list_active_alertsmetricsyesno-
termix_list_host_statusesmetricsyesno-
termix_create_snippetsnippetsnono-
termix_delete_snippetsnippetsnoyes-
termix_get_snippetsnippetsyesno-
termix_list_snippetssnippetsyesno-
termix_run_snippetsnippetsnono-
termix_update_snippetsnippetsnono-
termix_get_preferencessystemyesno-
termix_get_system_infosystemyesno-
termix_list_api_keyssystemyesno-
termix_create_tunneltunnelsnonodata-access
termix_delete_tunneltunnelsnonodata-access
termix_get_tunneltunnelsyesno-
termix_list_tunnel_presetstunnelsyesno-
termix_list_tunnelstunnelsyesno-
termix_assign_roleusersnonoadmin
termix_get_userusersyesnoadmin
termix_list_credential_accessusersyesnoadmin
termix_list_folder_accessusersyesnoadmin
termix_list_rolesusersyesnoadmin
termix_list_usersusersyesnoadmin

Total: 78 tools.

Contributing

See CONTRIBUTING.md.

Security

See SECURITY.md for the threat model.

License

MIT

Source: README.md at commit 311eed7

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestSep 23, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts