Skip to content
⚡ TENVO AI · LANGSUNG · v0.16.26 · TLS · Sertifikat per-perangkat · AGPL-3.0 · TINGKAT GRATIS · 30 PERANGKAT · INFRA HOSTING MANDIRI · GUNAKAN API KEY SENDIRI · MCP UNTUK CLAUDE & CURSOR
Kembali ke BlogTutorial

mcp remote desktop: menghubungkan server MCP — contoh kerja

Tenvo Editorial Team7 menit baca
mcp remote desktop: menghubungkan server MCP — contoh kerja

Anda membutuhkan saluran andal dari plane kontrol MCP ke mesin jarak jauh, dan panduan satu-kalimat yang ditemukan daring berhenti membantu saat NAT, firewall korporat, atau dialog privasi OS muncul. Panduan ini memberikan contoh pemasangan konkret, pemeriksaan operasional, dan mode kegagalan yang sering diabaikan.

Anda membutuhkan saluran yang andal dari plane kontrol MCP ke mesin jarak jauh, dan panduan satu-kalimat yang Anda temukan secara online berhenti berguna saat NAT, firewall korporat, atau dialog privasi OS muncul. Panduan ini membawa insinyur yang paham teknis melalui contoh penyambungan konkret, menunjukkan pemeriksaan operasional yang harus Anda jalankan, dan mendokumentasikan mode kegagalan terselubung yang sering dilewatkan kebanyakan dokumentasi.

Apa yang dicakup panduan ini

  • Jalur cepat dengan upaya minimal menggunakan managed relay Tenvo (direkomendasikan)
  • Contoh penyambungan server MCP yang di-host sendiri pada Ubuntu dengan TLS dan reverse proxy
  • Mode kegagalan yang jarang didokumentasikan — tipe NAT, captive portal, MTU, mismatch sertifikat, sleep, dan lainnya — beserta mitigasi konkret
  • Daftar periksa pemecahan masalah singkat dengan perintah yang dapat Anda jalankan sekarang

Quick path: managed relay Tenvo (direkomendasikan)

Jika kebutuhan Anda hanya untuk menjangkau mesin jarak jauh secara andal, opsi tercepat dan paling andal adalah managed relay Tenvo. Tenvo menyediakan klien native untuk Windows, macOS, dan Linux, klien browser (beta publik), dan managed relay multi-region sehingga sesi dapat fail over antar pusat data. Harga sederhana: Free $0 / Lite $2.99/mo / Pro $7.99/mo. Managed relay menghilangkan tanggung jawab pemeliharaan on-call, pembaruan sertifikat, dan pengelolaan kunci — operasi yang seringkali lebih mahal daripada biaya langganan kecil setelah memperhitungkan waktu dan risiko.

Catatan keamanan penting: Tenvo menggunakan TLS dengan sertifikat per-perangkat. Ketika koneksi peer-to-peer langsung tercapai, sesi bersifat end-to-end antara kedua perangkat. Jika trafik kembali melalui relay, TLS akan diakhiri di relay, sehingga pihak yang menjalankan relay dapat memeriksa trafik sesi. Tradeoff ini alasan kami merekomendasikan managed relay sebagai default pragmatis kecuali Anda memiliki persyaratan tertulis yang melarang infrastruktur pihak ketiga.

Menyambungkan server MCP: contoh kerja (di-host sendiri)

Bagian ini menunjukkan langkah penyambungan konkret ketika Anda memilih untuk meng-host sendiri server MCP. Host sendiri hanya jika memang diperlukan: mandat regulasi, jaringan terisolasi, atau aturan residensi data yang eksplisit. Contoh menggunakan Ubuntu 22.04 LTS pada VPS kecil (203.0.113.10), Caddy v2.6+ sebagai reverse proxy TLS, dan agen MCP pada mesin jarak jauh di balik NAT (192.168.1.42). Ganti hostname dan token dengan nilai Anda.

# Diagram (text)
# Public VPS (203.0.113.10)
#   - Caddy reverse proxy (443)
#   - MCP control API (127.0.0.1:8443 behind proxy)
# Remote machine (behind NAT)
#   - mcp-agent initiates outbound TLS to mcp.example.com:443 and registers itself
#   - If direct P2P works, control traffic flows peer-to-peer; otherwise control flows via proxy

1) Obtain a stable DNS name and certificates: mcp.example.com should point to your VPS public IP (203.0.113.10). For TLS we use Caddy for automatic TLS and reverse proxy. Caddy v2.6+ is a practical choice because it automates Let's Encrypt and HTTP/2/3 configuration.

# Caddyfile (example)
mcp.example.com {
    reverse_proxy 127.0.0.1:8443
}
# Run Caddy as a system service; Caddy will provision managed certificates

2) Run your MCP control API locally on the VPS bound to 127.0.0.1:8443. Keep the control plane on loopback so only the reverse proxy exposes it publicly.

# Example systemd unit (mcp-control.service)
[Unit]
Description=MCP control API
After=network.target

[Service]
ExecStart=/usr/local/bin/mcp-control --listen 127.0.0.1:8443 --db /var/lib/mcp/control.db
Restart=on-failure

[Install]
WantedBy=multi-user.target

3) Open firewall rules on the VPS: allow inbound 443/tcp and outbound necessary traffic. UFW minimal example:

sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status numbered

4) Configure the agent on the remote machine so it initiates the connection (important - agents should outgoing-only in most environments). Example agent configuration (mcp-agent.conf):

{
  "server": "https://mcp.example.com",
  "register_token": "REPLACE_WITH_LONG_TOKEN",
  "heartbeat_interval": 30,
  "local_port": 5900
}

# Start agent as a system service on the remote machine so it survives reboots

5) Verify TLS and registration from the remote machine:

# Check DNS
dig +short mcp.example.com

# Verify TLS handshakes and served certificate
openssl s_client -connect mcp.example.com:443 -servername mcp.example.com

# Check agent logs (journalctl or the agent's log file)
journalctl -u mcp-agent -f

6) Confirm connectivity from the control plane: the control API should list the agent and show its last heartbeat. Typical steps: call the control API locally (loopback) and inspect device state.

# Example local curl check on the VPS
curl --unix-socket /run/mcp-control.sock "http://localhost/api/v1/devices" | jq '.devices[] | {id,hostname,last_seen}'

Mode kegagalan yang jarang didokumentasikan

  • Pemblokiran keluar oleh firewall ketat: Banyak lingkungan korporat hanya mengizinkan HTTP/HTTPS melalui proxy eksplisit. Agen yang hanya mendukung TLS langsung akan gagal. Mitigasi: buat agen Anda mendukung proxy HTTP CONNECT atau gunakan managed relay.
  • Captive portal: Jaringan hotel atau kedai kopi yang meminta browser untuk menerima syarat akan memecah proses registrasi otomatis. Deteksi dengan memeriksa endpoint HTTP yang dikenal seperti http://detectportal.firefox.com/; jika Anda mendapat pengalihan HTML ke halaman login, anggap itu sebagai captive portal.
  • Symmetric NAT: NAT yang menulis ulang pemetaan port per-destinasi merusak UDP hole punching dan beberapa optimisasi relay. Akibatnya: terpaksa relay TCP, latensi lebih tinggi. Mitigasi: pastikan relay Anda mendukung fallback TCP dan tingkatkan frekuensi keepalive untuk menghindari kadaluarsa pemetaan NAT.
  • DNS intermiten atau split-horizon DNS: Jika nama plane kontrol Anda ter-resolve berbeda di dalam jaringan korporat atau cache DNS ISP mengembalikan IP lama, agen akan terhubung ke host yang salah atau server kadaluarsa. Gunakan TTL rendah saat melakukan rolling dan pantau propagasi DNS.
  • Mismatch sertifikat TLS atau kesalahan SNI: Agen yang memvalidasi sertifikat akan gagal jika SNI hilang atau sertifikat tidak mencakup hostname. Periksa dengan openssl s_client -servername dan dengan curl --resolve atau --cacert saat pengujian.
  • MTU dan fragmentasi pada VPN: Path MTU black hole dapat mematikan negosiasi protokol, terutama untuk UDP. Jika pengguna melaporkan handshake sebagian, coba kurangi ukuran payload UDP atau paksa TCP.
  • Privasi dan izin OS: macOS mengharuskan izin screen-recording dan accessibility untuk kontrol jarak jauh; prompt UAC di Windows memblok input capture di beberapa konfigurasi. Ini bukan bug jaringan tetapi terlihat seperti sesi yang tidak dapat dijangkau.
  • Sleep, fast startup, dan manajemen daya: Laptop yang suspend tidak akan merespons sampai bangun. Konfigurasikan wake-on-LAN untuk server atau gunakan heartbeat keluar persisten untuk mendeteksi sesi usang dengan cepat.
  • Overload relay dan failover satu-region: Jika Anda meng-host sebuah relay tunggal tanpa failover multi-region, outage wilayah cloud atau DoS akan memutus kontrol. Managed relay multi-region Tenvo dirancang untuk mengurangi risiko ini.

Daftar periksa pemecahan masalah praktis & perintah

  1. Konfirmasi DNS dan TLS: dig +short mcp.example.com; openssl s_client -connect mcp.example.com:443 -servername mcp.example.com
  2. Periksa log agen: journalctl -u mcp-agent -f atau tail -F /var/log/mcp-agent.log — cari pesan registrasi dan heartbeat
  3. Inspeksi koneksi aktif: ss -tnp | grep 443 atau netstat -anp | grep ESTAB untuk melihat apakah agen memiliki socket outbound yang established
  4. Test captive portal: curl -I http://detectportal.firefox.com/ — respons 200 dengan body sederhana diharapkan; pengalihan menunjukkan captive portal
  5. Capture paket untuk sesi yang gagal: sudo tcpdump -i any host mcp.example.com and port 443 -w capture.pcap — buka di Wireshark untuk memeriksa status handshake TLS
  6. Konfirmasi SNI dan kecocokan sertifikat: openssl s_client -connect mcp.example.com:443 -servername mcp.example.com | sed -n '1,80p'
  7. Periksa isu tipe NAT: Jika agen Anda dapat menjalankan tes STUN, lakukan. Jika tidak, paksa tes hanya-TCP untuk menentukan apakah UDP hole punching bermasalah.
  8. Verifikasi izin OS: Di macOS periksa System Settings → Privacy & Security → Screen Recording; di Windows periksa UAC dan manifest aplikasi untuk kebutuhan UIAccess

Kapan harus meng-host sendiri server MCP

Meng-host sendiri server MCP masuk akal hanya jika Anda memiliki persyaratan tertulis: aturan kepatuhan melarang relay pihak ketiga, jaringan terisolasi tanpa egress, atau persyaratan residensi data yang ketat. Jika tidak, hitung biaya operasional: siklus hidup sertifikat, patching OS dan aplikasi, penjagaan kunci, failover multi-region, monitoring, waktu on-call, dan biaya outage satu-region. Untuk tinjauan yang seimbang dan jujur lihat tulisan lebih mendalam kami di Remote Desktop yang Di-host Sendiri: Mengapa, Bagaimana, dan Apa yang Rusak.

Tautan dan bacaan terkait

Penutup — runbook dan langkah selanjutnya

Ringkasan runbook: mulai dengan managed relay Tenvo kecuali Anda memiliki pembatasan yang didokumentasikan; jika harus meng-host sendiri, gunakan reverse proxy (Caddy) untuk menangani TLS, ikat control API ke loopback, persyaratkan koneksi outbound yang diinisiasi agen, dan pantau heartbeat. Saat terjadi kegagalan, jalankan daftar periksa DNS/TLS/log-agen/capture-paket di atas. Kegagalan terselubung — captive portal, symmetric NAT, izin OS, dan MTU — umum, dapat diulang, dan dapat diperbaiki setelah Anda tahu untuk mengujinya.

Siap mencoba jalur cepat? Unduh klien Tenvo dan uji dengan managed relay kami: Unduh Tenvo. Jika Anda membutuhkan panduan self-hosting lebih mendalam, mulailah dengan panduan remote desktop yang di-host sendiri kami dan kembali ke sini untuk daftar periksa wiring dan buku permainan mode kegagalan.

Dapatkan Tenvo

Siap mencoba sendiri?

Gratis untuk 30 perangkat, tanpa kartu kredit. Siap dan tersambung dalam dua menit.