Serwer MCP
Zarządzanie Public Cloud hostd z agenta AI (Cursor, Claude Code) przez Model Context Protocol.
Serwer MCP hostd pozwala agentowi AI pracować z Twoim Public Cloud w Twoim imieniu: wyświetlać projekty i obrazy systemów, dodawać klucze SSH, tworzyć VM i zarządzać nimi, konfigurować firewall, kopie zapasowe i wysoką dostępność oraz ustawiać rekordy PTR. Korzysta z tego samego API i tego samego klucza API.
Endpoint: https://mcp.hostd.cloud/mcp (Streamable HTTP).
Podłączenie
Utwórz klucz API w portalu w Ustawienia → Klucze API. Dobrym wyborem jest osobny klucz dla agenta – możesz go w każdej chwili usunąć bez wpływu na inne integracje.
Cursor – dodaj do ~/.cursor/mcp.json (lub .cursor/mcp.json w projekcie):
{
"mcpServers": {
"hostd": {
"url": "https://mcp.hostd.cloud/mcp",
"headers": { "Authorization": "Bearer <your-api-key>" }
}
}
}Claude Code:
claude mcp add --transport http hostd https://mcp.hostd.cloud/mcp \
--header "Authorization: Bearer <your-api-key>"Dostęp
Agent działa z Twoim kluczem API, więc ma taki sam dostęp jak klucz: dla każdego projektu Read, Write (wszystko oprócz usuwania) lub Full (dodatkowo usuwanie VM, projektu i publicznych adresów IP) oraz dostęp do kluczy SSH wybrany dla klucza, nigdy ponad Twoją rolę w projekcie (szczegóły). Projektów spoza dostępu klucza agent nie widzi; z dostępem Read może jedynie czytać. Usunięcie VM (razem ze wszystkimi jej kopiami zapasowymi) wymaga Full.
Przed ryzykownymi działaniami – usunięciem VM, reinstalacją, trybem ratunkowym, przywróceniem kopii, cofnięciem do migawki, zmianą rozmiaru lub zmianą firewalla – agent pokazuje, co się stanie, i czeka na Twoją akceptację.
Przykład
W projekcie web utwórz VM o nazwie git. Zainstaluj Dockera i uruchom Gitea. Na firewallu zezwól na HTTP i HTTPS zewsząd, a na SSH tylko z security group management.
Agent znajduje projekt, Twój klucz SSH i tę grupę. Proponuje obraz i rozmiar wystarczający dla Gitea oraz cenę za godzinę. VM powstaje dopiero, gdy się zgodzisz.
Czeka, aż VM wystartuje, łączy się przez SSH z Twojego komputera i instaluje Dockera oraz Gitea. hostd nie dostaje klucza prywatnego. Hasło, którego sam nie podałeś, trafia do notatek VM w portalu i nie pojawia się w czacie.
Potem otwiera HTTP i HTTPS, podpina management, żeby SSH szło według reguł tej grupy, i pyta jeszcze raz, zanim włączy firewall i odetnie resztę ruchu przychodzącego.
Narzędzia
Czterdzieści pięć narzędzi.
| Narzędzie | Co robi |
|---|---|
hostd_list_clusters | Strefy i ceny godzinowe |
hostd_list_projects | Projekty, do których ten klucz ma dostęp |
hostd_get_project | Jeden projekt: limity i ceny godzinowe |
hostd_create_project | Utworzenie projektu, po Twojej zgodzie; klucz musi mieć prawo tworzenia projektów |
hostd_get_account_usage | Zużycie CPU, RAM i dysku konta wobec limitów |
hostd_list_os_images | Obrazy systemów dostępne dla nowych VM w projekcie |
hostd_list_ssh_keys | Publiczne klucze SSH na koncie |
hostd_create_ssh_key | Dodanie publicznego klucza SSH |
hostd_list_vms | VM w projekcie: status, rozmiar i bieżące obciążenie |
hostd_get_vm | Jedna VM: status, adresy, notatki i użytkownik cloud-init |
hostd_get_vm_metrics | CPU, RAM, sieć i dysk w ciągu godziny, dnia, tygodnia lub miesiąca |
hostd_list_project_tasks | Ostatnie zadania w projekcie |
hostd_create_vm | Utworzenie VM, gdy się zgodzisz |
hostd_wait_vm_ready | Czekanie, aż VM wystartuje, i zwrot jej adresów |
hostd_power_vm | Start, zamknięcie, zatrzymanie, restart albo reset |
hostd_resize_vm | Zmiana vCPU, RAM, dysku lub klasy CPU, gdy się zgodzisz |
hostd_reinstall_vm | Reinstalacja systemu zatrzymanej VM, gdy się zgodzisz |
hostd_enable_rescue | Uruchomienie zatrzymanej VM Linux z tymczasowej kopii jej systemu, gdy się zgodzisz. Wysoka dostępność musi być wyłączona |
hostd_disable_rescue | Usunięcie tego tymczasowego dysku i start z dysku systemowego, gdy się zgodzisz |
hostd_delete_vm | Usunięcie zatrzymanej VM i jej kopii; wymaga Full i Twojej zgody |
hostd_list_vm_snapshots | Migawka VM |
hostd_manage_vm_snapshot | Utworzenie, usunięcie albo cofnięcie tej migawki |
hostd_list_vm_backups | Kopie zapasowe VM |
hostd_create_vm_backup | Kopia zapasowa VM teraz |
hostd_restore_vm_backup | Przywrócenie kopii na zatrzymaną VM, gdy się zgodzisz |
hostd_list_backup_jobs | Zaplanowane zadania kopii i VM, których żadne nie obejmuje |
hostd_manage_backup_job | Utworzenie, zmiana albo usunięcie zadania, albo dodanie i zdjęcie VM |
hostd_get_project_ha | Które VM mają wysoką dostępność, i reguły rozmieszczenia |
hostd_set_vm_ha | Włączenie albo wyłączenie wysokiej dostępności VM |
hostd_manage_ha_rule | Utworzenie, zmiana albo usunięcie reguły rozmieszczenia |
hostd_get_vm_firewall | Opcje firewalla VM, reguły i podpięte grupy |
hostd_set_vm_firewall_options | Włączenie albo wyłączenie firewalla VM i ustawienie polityk |
hostd_manage_vm_firewall_rules | Dodanie, zmiana, usunięcie albo zmiana kolejności reguł firewalla VM |
hostd_list_ip_sets | IP sets, ich elementy i miejsca użycia |
hostd_manage_ip_set | Utworzenie IP set, zmiana komentarza albo usunięcie |
hostd_manage_ip_set_members | Dodanie albo usunięcie adresów w IP set |
hostd_list_security_groups | Security groups, ich reguły i VM, które ich używają |
hostd_manage_security_group | Utworzenie, zmiana nazwy albo usunięcie security group |
hostd_manage_security_group_rules | Dodanie, zmiana, usunięcie albo zmiana kolejności reguł security group |
hostd_list_private_networks | Sieci prywatne albo wolne adresy jednej z nich |
hostd_create_private_network | Utworzenie sieci prywatnej, po Twojej zgodzie |
hostd_manage_vm_network | Dodanie lub usunięcie interfejsu sieci prywatnej VM albo włączenie i wyłączenie jej sieci publicznej; usunięcie i zmiany sieci publicznej tylko po Twojej zgodzie |
hostd_list_public_ips | Publiczne adresy zarezerwowane w projekcie |
hostd_update_ptr | Ustawienie rekordu PTR publicznego adresu |
hostd_get_current_agent_ip | Publiczny adres, z którego przychodzi to połączenie MCP |
Limity
Serwer MCP stosuje limity API. Dodatkowo reguluje tempo agenta: powtarzane wywołania chwilę czekają zamiast kończyć się błędem, a po osiągnięciu limitu agent otrzymuje czas, po którym może ponowić próbę.