Ubuntu Control MCP
Provides tools for managing an Ubuntu machine, including system status and usage monitoring, apt/snap package management, persistent terminals, desktop control (mouse, keyboard, windows, screenshots, OCR), file operations, and local or SSH remote execution.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Ubuntu Control MCPUpdate all packages and show system info."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Ubuntu Control MCP
Komplett Linux desktop agent MCP szerver. Nem csak „futtasd ezt a bash parancsot” – hanem „kezeld az Ubuntu gépet”: rendszerállapot, csomagkezelés, persistent terminálok (PTY / SSH), és teljes desktop control (egér, billentyűzet, ablakok, képernyőkép, OCR) – beépített, kétrétegű engedély-rendszerrel.
Lokális gép és tetszőleges számú távoli gép (SSH) egyszerre kezelhető.
Miért más, mint egy run_command(cmd) tool?
Sima megközelítés | Ubuntu Control MCP |
Egyetlen | ~50 fókuszált tool természetes munkamegosztással |
Vak hozzáférés |
|
| Valódi persistent PTY: |
Csak terminál | Egér / billentyűzet / ablakok / képernyőkép / OCR |
Csak lokális | Lokális + több távoli gép, SSH kulcs-generálással |
Related MCP server: Linux MCP Server
Engedély-modell
1. réteg – mód-kapu
A szerver egy módban fut (UBUNTU_CONTROL_MODE, alap: normal). Minden tool
deklarálja a szükséges minimális módot; alacsonyabb módban meg sem próbál lefutni.
Mód | Mit enged |
SAFE | fájl- és könyvtárolvasás, |
NORMAL | a fentiek + |
ADMIN | a fentiek + |
A mód lefelé bármikor állítható (set_mode), felfelé csak ADMIN-ból
vagy induláskor a környezeti változóval – a modell nem tudja saját magát feljebb emelni.
2. réteg – kockázat-kapu (ask_permission)
A módtól függetlenül interaktív megerősítést kér (MCP elicitation) minden
magas/közepes kockázatú művelet: rm -rf, mkfs/dd, reboot/shutdown,
felhasználó-kezelés, tűzfal, apt purge/remove/upgrade, curl … | bash,
rekurzív chmod/chown, fájl-felülírás, törlés, kényszerített ablak-bezárás, stb.
Ha a kliens nem támogatja az elicitet: a művelet elutasításra kerül, hacsak a
UBUNTU_CONTROL_AUTO_APPROVE=1 nincs bekapcsolva (csak zárt, megbízható környezetben).
Minden művelet auditálva van (stderr + opcionális naplófájl), a nyilvánvaló titkok maszkolva.
Telepítés
git clone git@github.com:Scofield81/ubuntu-control-mcp.git
cd ubuntu-control-mcp
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[pty]" # a [pty] extra a lokális terminálhoz kell (Linux)Ellenőrzés:
ubuntu-control-mcp --list-toolsHa ez kiírja a tool-listát, kész is vagy — irány a Futtatás szakasz.
Nincs SSH kulcsod a GitHub-hoz, vagy hibát kapsz a fenti lépések valamelyikén? A docs/INSTALL.md részletesen, lépésről lépésre leírja a letöltés minden módját (SSH kulcs beállítása,
ghCLI, jelszó helyett token) és a leggyakoribb hibák elhárítását.
Desktop control a célgépen (opcionális, csak amire szükség van):
sudo apt install -y xdotool wmctrl scrot tesseract-ocr
# Wayland alatt: grim (képernyőkép). Az xdotool/wmctrl X11-et igényel (XWayland részleges).Futtatás
UBUNTU_CONTROL_MODE=normal ubuntu-control-mcpMCP kliens (stdio) konfiguráció, pl. Claude Desktop claude_desktop_config.json:
{
"mcpServers": {
"ubuntu-control": {
"command": "/abszolut/ut/.venv/bin/ubuntu-control-mcp",
"env": {
"UBUNTU_CONTROL_MODE": "normal",
"UBUNTU_CONTROL_SUDO_PASSWORD": "…",
"UBUNTU_CONTROL_AUDIT_LOG": "~/.local/state/ubuntu-control-mcp/audit.log"
}
}
}
}HTTP transzport: UBUNTU_CONTROL_TRANSPORT=http UBUNTU_CONTROL_PORT=8000 ubuntu-control-mcp
(a szerver 127.0.0.1-re köt).
Konfiguráció
Alap hely: ~/.config/ubuntu-control-mcp/config.json (vagy UBUNTU_CONTROL_CONFIG).
Lásd config.example.json. A környezeti változók felülírják a fájlt:
UBUNTU_CONTROL_MODE, UBUNTU_CONTROL_AUTO_APPROVE, UBUNTU_CONTROL_AUDIT_LOG,
UBUNTU_CONTROL_DESKTOP_ENABLED, UBUNTU_CONTROL_SUDO_PASSWORD.
Titkok: a config fájl SOHA nem tárol jelszót. A hostoknál csak a környezeti változó nevét adod meg (
password_env,sudo_password_env).
Távoli gépek
host_generate_key → ed25519 kulcspár, a publikus kulcsot a távoli gépre másolod
host_add → gép felvétele (name, hostname, username, key_path / *_env)
host_test → kapcsolat + `id` / `uname -a`
host_list / host_removeEzután bármelyik tool host mezőjébe beírod a gép nevét; üresen hagyva a lokális gépen fut.
Az első csatlakozáskor a host-kulcs trust-on-first-use módon elmentődik és auditálódik.
Tool-katalógus (kivonat)
Kategória | Tool-ok |
Rendszer |
|
Csomagok |
|
Terminál |
|
Desktop |
|
Fájlok |
|
Gépek / shell |
|
Teljes lista: ubuntu-control-mcp --list-tools
Példák
„Frissítsd az Ubuntut.”
apt_update→apt_list_upgradable(megmutatja) → (megerősítés) →apt_upgrade→ hátralévő frissítések ellenőrzése
„Indítsd el a dev szervert és hagyd futni.”
terminal_open→terminal_write("npm run dev\n")→terminal_wait(pattern="localhost:\\d+")
„SSH-zz be a prod gépre és nézd meg az api logját.”
terminal_open(host="prod")→terminal_write("journalctl -u api -n 100 -f\n")→terminal_read
„Készíts képernyőképet és mondd meg, mi van a képen.”
screenshot→ (a kép visszakerül a válaszban) /desktop_ocr
Fejlesztés
pip install -e ".[dev]"
python -m py_compile $(git ls-files '*.py')
ruff check .Kiértékelés: evaluation.xml – 10 kérdés, ami a szerver
használhatóságát teszteli egy referencia Ubuntu környezeten.
Visszajelzés, hibajelentés, ötletek
Ha hibát találsz, vagy javaslatod van egy új funkcióhoz/tool-hoz, nyiss egy GitHub Issue-t ebben a repóban. Kód-hozzájárulást (pull request) egyelőre nem fogadunk — lásd CONTRIBUTING.md és a Licenc szakaszt.
Licenc
A forráskód nyilvánosan olvasható ezen a repón, de nem MIT/nyílt forráskódú licenc alatt áll.
Letölthető, telepíthető és szabadon használható, de továbbterjesztése, kereskedelmi
forgalomba hozatala és módosított változatának közzététele a szerző előzetes, írásos engedélye
nélkül nem megengedett. A teljes feltételek: LICENSE.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Agent payments, API key vaulting, and governed mandates. Agents spend within user-defined limits.
Connect, monitor, and control AI agents — tasks, approvals, schedules, and governance.
Scoped, audited SSH exec, sessions, and SFTP on your saved servers without exposing credentials
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceOn-server agent for managing PostgreSQL, Redis, Keycloak, and NGINX on Ubuntu infrastructure with real-time monitoring, automated maintenance, and distributed command execution.-
- AlicenseBqualityDmaintenanceProvides AI assistants with the ability to control Linux desktop environments through tools for file management, application launching, and system operations like clipboard access. It includes a multi-level security model to manage permissions for safe, elevated, and restricted actions.6MIT
- AlicenseNot gradedqualityDmaintenanceEnables full Linux desktop control including windows, mouse, keyboard, clipboard, audio, screenshots, OCR, accessibility, and system management through MCP-compatible AI agents.1MIT
- AlicenseAqualityBmaintenanceEnables AI agents to interact with the Linux desktop through desktop notifications, interactive dialogs, shell command execution, and privileged command execution.1215MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Scofield81/ubuntu-control-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server