Rust MCP server for Linux desktop automation — Wayland/Hyprland-first, UltraWin skeleton, UltraMac surface
接入配置
选择客户端,复制配置,再按项目文档补齐环境变量。
claude mcp add ultranix --env ULTRANIX_MCP_API_KEY='<ULTRANIX_MCP_API_KEY>' --env ULTRANIX_MCP_HISTORY_SECRET='<ULTRANIX_MCP_HISTORY_SECRET>' --env ULTRANIX_MCP_SENTRY_DSN='<ULTRANIX_MCP_SENTRY_DSN>' --env ULTRANIX_MCP_AUDIT_SECRET='<ULTRANIX_MCP_AUDIT_SECRET>' -- docker run -i --rm -e ULTRANIX_MCP_API_KEY -e ULTRANIX_MCP_HISTORY_SECRET -e ULTRANIX_MCP_SENTRY_DSN -e ULTRANIX_MCP_AUDIT_SECRET ghcr.io/jxoesneon/ultranix-mcp:1.4.0~/.codex/config.toml
[mcp_servers.ultranix]
command = "docker"
args = ["run", "-i", "--rm", "-e", "ULTRANIX_MCP_API_KEY", "-e", "ULTRANIX_MCP_HISTORY_SECRET", "-e", "ULTRANIX_MCP_SENTRY_DSN", "-e", "ULTRANIX_MCP_AUDIT_SECRET", "ghcr.io/jxoesneon/ultranix-mcp:1.4.0"]
env = { ULTRANIX_MCP_API_KEY = "<ULTRANIX_MCP_API_KEY>", ULTRANIX_MCP_HISTORY_SECRET = "<ULTRANIX_MCP_HISTORY_SECRET>", ULTRANIX_MCP_SENTRY_DSN = "<ULTRANIX_MCP_SENTRY_DSN>", ULTRANIX_MCP_AUDIT_SECRET = "<ULTRANIX_MCP_AUDIT_SECRET>" }
# codex mcp add ultranix --env ULTRANIX_MCP_API_KEY='<ULTRANIX_MCP_API_KEY>' --env ULTRANIX_MCP_HISTORY_SECRET='<ULTRANIX_MCP_HISTORY_SECRET>' --env ULTRANIX_MCP_SENTRY_DSN='<ULTRANIX_MCP_SENTRY_DSN>' --env ULTRANIX_MCP_AUDIT_SECRET='<ULTRANIX_MCP_AUDIT_SECRET>' -- docker run -i --rm -e ULTRANIX_MCP_API_KEY -e ULTRANIX_MCP_HISTORY_SECRET -e ULTRANIX_MCP_SENTRY_DSN -e ULTRANIX_MCP_AUDIT_SECRET ghcr.io/jxoesneon/ultranix-mcp:1.4.0~/.cursor/mcp.json
{
"mcpServers": {
"ultranix": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ULTRANIX_MCP_API_KEY",
"-e",
"ULTRANIX_MCP_HISTORY_SECRET",
"-e",
"ULTRANIX_MCP_SENTRY_DSN",
"-e",
"ULTRANIX_MCP_AUDIT_SECRET",
"ghcr.io/jxoesneon/ultranix-mcp:1.4.0"
],
"env": {
"ULTRANIX_MCP_API_KEY": "<ULTRANIX_MCP_API_KEY>",
"ULTRANIX_MCP_HISTORY_SECRET": "<ULTRANIX_MCP_HISTORY_SECRET>",
"ULTRANIX_MCP_SENTRY_DSN": "<ULTRANIX_MCP_SENTRY_DSN>",
"ULTRANIX_MCP_AUDIT_SECRET": "<ULTRANIX_MCP_AUDIT_SECRET>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"ultranix": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ULTRANIX_MCP_API_KEY",
"-e",
"ULTRANIX_MCP_HISTORY_SECRET",
"-e",
"ULTRANIX_MCP_SENTRY_DSN",
"-e",
"ULTRANIX_MCP_AUDIT_SECRET",
"ghcr.io/jxoesneon/ultranix-mcp:1.4.0"
],
"env": {
"ULTRANIX_MCP_API_KEY": "<ULTRANIX_MCP_API_KEY>",
"ULTRANIX_MCP_HISTORY_SECRET": "<ULTRANIX_MCP_HISTORY_SECRET>",
"ULTRANIX_MCP_SENTRY_DSN": "<ULTRANIX_MCP_SENTRY_DSN>",
"ULTRANIX_MCP_AUDIT_SECRET": "<ULTRANIX_MCP_AUDIT_SECRET>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"ultranix": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ULTRANIX_MCP_API_KEY",
"-e",
"ULTRANIX_MCP_HISTORY_SECRET",
"-e",
"ULTRANIX_MCP_SENTRY_DSN",
"-e",
"ULTRANIX_MCP_AUDIT_SECRET",
"ghcr.io/jxoesneon/ultranix-mcp:1.4.0"
],
"env": {
"ULTRANIX_MCP_API_KEY": "<ULTRANIX_MCP_API_KEY>",
"ULTRANIX_MCP_HISTORY_SECRET": "<ULTRANIX_MCP_HISTORY_SECRET>",
"ULTRANIX_MCP_SENTRY_DSN": "<ULTRANIX_MCP_SENTRY_DSN>",
"ULTRANIX_MCP_AUDIT_SECRET": "<ULTRANIX_MCP_AUDIT_SECRET>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"ultranix": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ULTRANIX_MCP_API_KEY",
"-e",
"ULTRANIX_MCP_HISTORY_SECRET",
"-e",
"ULTRANIX_MCP_SENTRY_DSN",
"-e",
"ULTRANIX_MCP_AUDIT_SECRET",
"ghcr.io/jxoesneon/ultranix-mcp:1.4.0"
],
"env": {
"ULTRANIX_MCP_API_KEY": "<ULTRANIX_MCP_API_KEY>",
"ULTRANIX_MCP_HISTORY_SECRET": "<ULTRANIX_MCP_HISTORY_SECRET>",
"ULTRANIX_MCP_SENTRY_DSN": "<ULTRANIX_MCP_SENTRY_DSN>",
"ULTRANIX_MCP_AUDIT_SECRET": "<ULTRANIX_MCP_AUDIT_SECRET>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"ultranix": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ULTRANIX_MCP_API_KEY",
"-e",
"ULTRANIX_MCP_HISTORY_SECRET",
"-e",
"ULTRANIX_MCP_SENTRY_DSN",
"-e",
"ULTRANIX_MCP_AUDIT_SECRET",
"ghcr.io/jxoesneon/ultranix-mcp:1.4.0"
],
"env": {
"ULTRANIX_MCP_API_KEY": "<ULTRANIX_MCP_API_KEY>",
"ULTRANIX_MCP_HISTORY_SECRET": "<ULTRANIX_MCP_HISTORY_SECRET>",
"ULTRANIX_MCP_SENTRY_DSN": "<ULTRANIX_MCP_SENTRY_DSN>",
"ULTRANIX_MCP_AUDIT_SECRET": "<ULTRANIX_MCP_AUDIT_SECRET>"
}
}
}
}需要的环境变量
ULTRANIX_MCP_API_KEYULTRANIX_MCP_HISTORY_SECRETULTRANIX_MCP_SENTRY_DSNULTRANIX_MCP_AUDIT_SECRET
把占位值换成你自己的密钥;不要把密钥提交到代码仓库。