ultranix-mcp
A Rust-based Model Context Protocol server for Linux desktop automation. It enables AI agents to interact with Wayland/Hyprland desktops through precision mouse control, keyboard input, OCR, icon finding, window management, and accessibility tree inspection, featuring audit logging and input sanitization.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Control mouse and keyboard input on a Linux desktop
- Perform OCR and icon finding on screen content
- Manage windows and inspect accessibility trees
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
ghcr.io/jxoesneon/ultranix-mcp:1.4.0
{
"transport": "stdio",
"identifier": "ghcr.io/jxoesneon/ultranix-mcp:1.4.0",
"runtimeHint": "docker",
"registryType": "oci",
"environmentVariables": [
{
"name": "ULTRANIX_MCP_API_KEY",
"description": "API key(s) (uxcp_*) for HTTP transport auth - required for --transport http (fail-closed), unused on stdio"
},
{
"name": "ULTRANIX_MCP_API_KEY_FILE",
"description": "Path to a 0600 file holding uxcp_* keys, one per line"
},
{
"name": "ULTRANIX_MCP_API_KEY_EXPIRES",
"description": "Optional RFC 3339 expiry for the env-sourced key (self-revoking)"
},
{
"name": "ULTRANIX_MCP_HISTORY_SECRET",
"description": "AES-256-GCM secret for encrypted action history (per-install generated if unset)"
},
{
"name": "ULTRANIX_MCP_SENTRY_DSN",
"description": "Optional Sentry DSN for error reporting (unset = disabled)"
},
{
"name": "ULTRANIX_MCP_AUDIT_SECRET",
"description": "Optional HMAC-SHA256 signing secret for audit.jsonl lines (tamper evidence for SIEM ingestion)"
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"ultranix-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ULTRANIX_MCP_API_KEY=<YOUR_ULTRANIX_MCP_API_KEY>",
"-e",
"ULTRANIX_MCP_API_KEY_FILE=<YOUR_ULTRANIX_MCP_API_KEY_FILE>",
"-e",
"ULTRANIX_MCP_API_KEY_EXPIRES=<YOUR_ULTRANIX_MCP_API_KEY_EXPIRES>",
"-e",
"ULTRANIX_MCP_HISTORY_SECRET=<YOUR_ULTRANIX_MCP_HISTORY_SECRET>",
"-e",
"ULTRANIX_MCP_SENTRY_DSN=<YOUR_ULTRANIX_MCP_SENTRY_DSN>",
"-e",
"ULTRANIX_MCP_AUDIT_SECRET=<YOUR_ULTRANIX_MCP_AUDIT_SECRET>",
"ghcr.io/jxoesneon/ultranix-mcp:1.4.0"
],
"env": {
"ULTRANIX_MCP_API_KEY": "<YOUR_ULTRANIX_MCP_API_KEY>",
"ULTRANIX_MCP_API_KEY_FILE": "<YOUR_ULTRANIX_MCP_API_KEY_FILE>",
"ULTRANIX_MCP_API_KEY_EXPIRES": "<YOUR_ULTRANIX_MCP_API_KEY_EXPIRES>",
"ULTRANIX_MCP_HISTORY_SECRET": "<YOUR_ULTRANIX_MCP_HISTORY_SECRET>",
"ULTRANIX_MCP_SENTRY_DSN": "<YOUR_ULTRANIX_MCP_SENTRY_DSN>",
"ULTRANIX_MCP_AUDIT_SECRET": "<YOUR_ULTRANIX_MCP_AUDIT_SECRET>"
}
}
}
}Cline
{
"mcpServers": {
"ultranix-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ULTRANIX_MCP_API_KEY=<YOUR_ULTRANIX_MCP_API_KEY>",
"-e",
"ULTRANIX_MCP_API_KEY_FILE=<YOUR_ULTRANIX_MCP_API_KEY_FILE>",
"-e",
"ULTRANIX_MCP_API_KEY_EXPIRES=<YOUR_ULTRANIX_MCP_API_KEY_EXPIRES>",
"-e",
"ULTRANIX_MCP_HISTORY_SECRET=<YOUR_ULTRANIX_MCP_HISTORY_SECRET>",
"-e",
"ULTRANIX_MCP_SENTRY_DSN=<YOUR_ULTRANIX_MCP_SENTRY_DSN>",
"-e",
"ULTRANIX_MCP_AUDIT_SECRET=<YOUR_ULTRANIX_MCP_AUDIT_SECRET>",
"ghcr.io/jxoesneon/ultranix-mcp:1.4.0"
],
"env": {
"ULTRANIX_MCP_API_KEY": "<YOUR_ULTRANIX_MCP_API_KEY>",
"ULTRANIX_MCP_API_KEY_FILE": "<YOUR_ULTRANIX_MCP_API_KEY_FILE>",
"ULTRANIX_MCP_API_KEY_EXPIRES": "<YOUR_ULTRANIX_MCP_API_KEY_EXPIRES>",
"ULTRANIX_MCP_HISTORY_SECRET": "<YOUR_ULTRANIX_MCP_HISTORY_SECRET>",
"ULTRANIX_MCP_SENTRY_DSN": "<YOUR_ULTRANIX_MCP_SENTRY_DSN>",
"ULTRANIX_MCP_AUDIT_SECRET": "<YOUR_ULTRANIX_MCP_AUDIT_SECRET>"
}
}
}
}VS Code
{
"servers": {
"ultranix-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ULTRANIX_MCP_API_KEY=<YOUR_ULTRANIX_MCP_API_KEY>",
"-e",
"ULTRANIX_MCP_API_KEY_FILE=<YOUR_ULTRANIX_MCP_API_KEY_FILE>",
"-e",
"ULTRANIX_MCP_API_KEY_EXPIRES=<YOUR_ULTRANIX_MCP_API_KEY_EXPIRES>",
"-e",
"ULTRANIX_MCP_HISTORY_SECRET=<YOUR_ULTRANIX_MCP_HISTORY_SECRET>",
"-e",
"ULTRANIX_MCP_SENTRY_DSN=<YOUR_ULTRANIX_MCP_SENTRY_DSN>",
"-e",
"ULTRANIX_MCP_AUDIT_SECRET=<YOUR_ULTRANIX_MCP_AUDIT_SECRET>",
"ghcr.io/jxoesneon/ultranix-mcp:1.4.0"
],
"env": {
"ULTRANIX_MCP_API_KEY": "<YOUR_ULTRANIX_MCP_API_KEY>",
"ULTRANIX_MCP_API_KEY_FILE": "<YOUR_ULTRANIX_MCP_API_KEY_FILE>",
"ULTRANIX_MCP_API_KEY_EXPIRES": "<YOUR_ULTRANIX_MCP_API_KEY_EXPIRES>",
"ULTRANIX_MCP_HISTORY_SECRET": "<YOUR_ULTRANIX_MCP_HISTORY_SECRET>",
"ULTRANIX_MCP_SENTRY_DSN": "<YOUR_ULTRANIX_MCP_SENTRY_DSN>",
"ULTRANIX_MCP_AUDIT_SECRET": "<YOUR_ULTRANIX_MCP_AUDIT_SECRET>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"ultranix-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ULTRANIX_MCP_API_KEY=<YOUR_ULTRANIX_MCP_API_KEY>",
"-e",
"ULTRANIX_MCP_API_KEY_FILE=<YOUR_ULTRANIX_MCP_API_KEY_FILE>",
"-e",
"ULTRANIX_MCP_API_KEY_EXPIRES=<YOUR_ULTRANIX_MCP_API_KEY_EXPIRES>",
"-e",
"ULTRANIX_MCP_HISTORY_SECRET=<YOUR_ULTRANIX_MCP_HISTORY_SECRET>",
"-e",
"ULTRANIX_MCP_SENTRY_DSN=<YOUR_ULTRANIX_MCP_SENTRY_DSN>",
"-e",
"ULTRANIX_MCP_AUDIT_SECRET=<YOUR_ULTRANIX_MCP_AUDIT_SECRET>",
"ghcr.io/jxoesneon/ultranix-mcp:1.4.0"
],
"env": {
"ULTRANIX_MCP_API_KEY": "<YOUR_ULTRANIX_MCP_API_KEY>",
"ULTRANIX_MCP_API_KEY_FILE": "<YOUR_ULTRANIX_MCP_API_KEY_FILE>",
"ULTRANIX_MCP_API_KEY_EXPIRES": "<YOUR_ULTRANIX_MCP_API_KEY_EXPIRES>",
"ULTRANIX_MCP_HISTORY_SECRET": "<YOUR_ULTRANIX_MCP_HISTORY_SECRET>",
"ULTRANIX_MCP_SENTRY_DSN": "<YOUR_ULTRANIX_MCP_SENTRY_DSN>",
"ULTRANIX_MCP_AUDIT_SECRET": "<YOUR_ULTRANIX_MCP_AUDIT_SECRET>"
}
}
}
}Let your agent find its tools
Find servers like ultranix-mcp from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.