Edgegap

resmi

Terapkan server game multipemain dari agen pengkodean Anda. Sepuluh alat yang membawa server khusus Unity, Unreal, atau Godot dari citra kontainer ke pemain yang terhubung.

Apa yang bisa Anda lakukan dengan Edgegap MCP?

  • Tulis Dockerfile — Minta agen Anda membuat Dockerfile untuk build server Unity, Unreal, Godot, atau lainnya, dengan flag headless dan port yang sesuai.
  • Validasi sebelum membangun — Periksa Dockerfile yang sudah ada, port, sumber daya, dan tag image untuk menemukan masalah seperti image ARM atau server yang terikat ke localhost.
  • Deploy server khusus — Daftarkan image sebagai versi aplikasi, pilih lokasi, deploy di dekat pemain, lalu dapatkan IP dan port server.
  • Diagnosis deployment yang gagal — Baca log container, detail crash, serta metrik CPU/memori untuk mengetahui penyebab server gagal atau crash.
  • Siapkan sesi relay — Buat relay untuk game host-client dan dapatkan alamat relay serta token otorisasi setiap pemain.

Server MCP Terhosting

npx add-mcp 'https://mcp.edgegap.dev/mcp'

Terpasang ke Claude Code, Codex, Cursor, dan lainnya

Dokumentasi

Edgegap MCP Server

Hubungkan agen coding AI ke Edgegap melalui MCP server kami. Agen Anda dapat menangani seluruh proses, mulai dari build server headless hingga pemain terhubung: menulis atau memeriksa Dockerfile, mengunggah image ke registry Edgegap privat Anda, men-deploy dedicated server otoritatif di dekat pemain, dan membaca log saat terjadi masalah.

Install in Cursor Install in VS Code

👉 Fitur yang Didukung

[!TIP] Menggunakan Unity, Unreal Engine, atau Godot? Panduan dan plugin Unity, Unreal Engine, dan Godot kami tetap menjadi cara tercepat untuk menggunakan engine tersebut. MCP server dapat digunakan bersama panduan dan plugin itu, atau secara mandiri untuk engine apa pun.

Gunakan MCP server kami untuk:

  • Mengemas server game dalam container - agen Anda menulis Dockerfile untuk build Anda (atau meninjau Dockerfile yang sudah ada) berdasarkan praktik terbaik, mengunggah image ke container registry privat kami, dan menghapus tag image lama yang tidak digunakan untuk mengosongkan kapasitas registry.
  • Men-deploy dedicated server - membuat dan memperbarui versi aplikasi, meninjau lokasi yang tersedia, men-deploy di dekat pemain, dan mendapatkan IP server beserta port untuk menguji koneksi klien.
  • Membangun pipeline CI/CD - menguji deployment dan teardown dari sistem build.
  • Memecahkan masalah server game - memeriksa versi aplikasi dan status deployment, membaca log container serta penggunaan CPU/memori, atau mereproduksi deployment yang gagal.
  • Menjalankan game client-host dan peer-to-peer - membuat sesi relay yang menyediakan NAT punchthrough dan menghindari pemblokiran koneksi. Tinjau Model Orkestrasi dan Dedicated Server atau Relay? sebelum menentukan pilihan.

[!WARNING] Di luar cakupan / tidak didukung oleh MCP: membangun executable server Linux; membuat, memulai, atau menghentikan matchmaker (unggah konfigurasi yang dihasilkan melalui dashboard); server browser; lobi; cluster terkelola; private fleet; atau penagihan.

[!NOTE] Jika Anda membutuhkan bantuan, hubungi kami melalui Discord. Untuk dukungan game live, lihat sistem tiket kami.

⚖️ Dedicated Server atau Relay?

Edgegap dapat meng-host game multipemain Anda dengan dua cara. Kami merekomendasikan dedicated server, begitu pula MCP server kami: agen Anda akan menggunakan dedicated server secara default dan hanya menggunakan relay jika Anda memilih konfigurasi host-client.

Dedicated server (direkomendasikan)Relay
Yang dijalankan EdgegapBuild server headless Anda, di dekat pemainHanya penerus lalu lintas, tanpa kode game
Yang menjalankan gameServerGame salah satu pemain (host)
KecuranganJauh lebih sulit, server memiliki otoritasHost dapat mengubah apa pun
KeadilanSetiap pemain terhubung langsung ke serverHost tidak mengalami latensi, pemain lain melewati dua hop
Saat host keluarPertandingan berlanjutPertandingan berakhir, kecuali game Anda mendukung migrasi host
Performa dibatasi olehCPU dan memori yang dialokasikan untuk serverPC host dan kecepatan unggah internet rumahnya
Yang Anda perlukanBuild server dalam container imageNetcode yang dibuat sebagai listen server (host-client)

[!NOTE] Belum punya image server? Itu bukan alasan untuk memilih relay. Agen Anda dapat menulis Dockerfile untuk build Anda dengan edgegap_generate_dockerfile. Pelajari lebih lanjut tentang relay di Distributed Relay.

🚀 Instalasi

Instalasi MCP server sangat mudah:

  1. Instal MCP server untuk Agen Populer atau dengan Integrasi Kustom.
  2. Buat dan lampirkan token API yang akan digunakan agen Anda dengan MCP server kami.

Buat (dan lihat) token rahasia untuk Edgegap API Anda di Dashboard - User Settings / Tokens.

Tambahkan token rahasia Anda ke setiap permintaan API sebagai header HTTP (sertakan kata token):

Authorization: token xxxxxxxx-e458-4592-b607-c2c28afd8b62

[!CAUTION] Jangan integrasikan endpoint Edgegap API ke dalam klien game, karena token API Anda memberikan akses tanpa batas ke akun Anda. Lihat Integrasi untuk endpoint dan fungsi API yang aman untuk klien.

[!TIP] Jika token rahasia Anda disusupi atau bocor, hapus dan buat ulang token tersebut dari dashboard.

Token ini berlaku untuk seluruh organisasi dan tidak dapat dibatasi hanya untuk satu aplikasi. Baca DESIGN.md sebelum memberikannya kepada agen yang berjalan tanpa pengawasan.

Agen Populer

Instal Edgegap MCP server di IDE agentic pilihan Anda menggunakan tombol Cursor atau VS Code di bagian atas halaman ini, lalu tambahkan token Anda ke header Authorization.

Claude Code

claude mcp add --transport http edgegap https://mcp.edgegap.dev/mcp \
  -H "Authorization: token xxxxxxxx-e458-4592-b607-c2c28afd8b62" --scope user

ChatGPT Codex

Codex membaca token dari variabel lingkungan dan mengirimkannya sebagai Authorization: Bearer <token>, yang diterima oleh endpoint yang di-host. Di ~/.codex/config.toml:

[mcp_servers.edgegap]
url = "https://mcp.edgegap.dev/mcp"
bearer_token_env_var = "EDGEGAP_API_TOKEN"

Lalu tetapkan EDGEGAP_API_TOKEN ke token Anda di lingkungan tempat Codex dijalankan.

Claude Desktop dan claude.ai

Konektor kustom di claude.ai dan Claude Desktop tidak dapat mengirim header Authorization, sehingga endpoint yang di-host tidak pernah menerima token Anda dari keduanya: konektor akan terlihat terhubung, tetapi setiap pemanggilan tool gagal. Gunakan Local Server.

Di Claude Desktop, buka Settings → Developer → Edit Config dan tambahkan server lokal ke claude_desktop_config.json:

{
  "mcpServers": {
    "edgegap": {
      "command": "npx",
      "args": ["-y", "@edgegap/mcp"]
    }
  }
}

Jangan sertakan token; Anda akan diminta memasukkannya saat pertama kali digunakan. claude.ai di browser tidak dapat menjalankan server lokal, sehingga tidak dapat menggunakan Edgegap MCP sampai endpoint yang di-host mendukung OAuth.

Cursor

Tombol Cursor di bagian atas halaman ini akan menginstalnya; untuk melakukannya secara manual, tambahkan ini ke ~/.cursor/mcp.json (atau .cursor/mcp.json di dalam proyek):

{
  "mcpServers": {
    "edgegap": {
      "url": "https://mcp.edgegap.dev/mcp",
      "headers": { "Authorization": "token xxxxxxxx-e458-4592-b607-c2c28afd8b62" }
    }
  }
}

VS Code (mode agen Copilot)

Tombol VS Code di bagian atas halaman ini akan menginstalnya; untuk melakukannya secara manual, tambahkan ini ke .vscode/mcp.json (VS Code menggunakan servers, bukan mcpServers):

{
  "servers": {
    "edgegap": {
      "type": "http",
      "url": "https://mcp.edgegap.dev/mcp",
      "headers": { "Authorization": "token xxxxxxxx-e458-4592-b607-c2c28afd8b62" }
    }
  }
}

Windsurf

Di ~/.codeium/windsurf/mcp_config.json, jalankan Local Server, yang berfungsi di setiap klien yang memulai MCP server sebagai perintah:

{
  "mcpServers": {
    "edgegap": {
      "command": "npx",
      "args": ["-y", "@edgegap/mcp"],
      "env": { "EDGEGAP_API_TOKEN": "xxxxxxxx-e458-4592-b607-c2c28afd8b62" }
    }
  }
}

mcp.json

Sebagian besar IDE agentic juga mendukung integrasi dengan menempelkan konfigurasi JSON:

{
    "mcpServers": {
        "Edgegap": {
            "type": "http",
            "url": "https://mcp.edgegap.dev/mcp",
            "headers": {
                "Authorization": "token xxxxxxxx-e458-4592-b607-c2c28afd8b62"
            }
        }
    }
}

Integrasi Kustom

Instal Edgegap MCP server jarak jauh di lingkungan virtual agen Anda (jangan pernah di proyek Anda!):

Node, menggunakan paket npx mcp-remote

{
  "command": "npx",
  "args": ["-y", "mcp-remote", "https://mcp.edgegap.dev/mcp", "--transport", "http-only"]
}

Python, menggunakan paket uvx mcp-proxy

{
  "command": "uvx",
  "args": ["mcp-proxy", "--transport", "streamablehttp", "https://mcp.edgegap.dev/mcp"]
}

Instalasi Sekali Klik (Claude Desktop)

Unduh edgegap-mcp.mcpb lalu buka: Claude Desktop akan menginstal server lokal sebagai ekstensi dan meminta token API Anda, yang disimpan di penyimpanan aman sistem operasi. Pengaturan ekstensi juga mencakup mode hanya-baca, daftar aplikasi yang diizinkan, batas maksimum durasi, dan batas deployment (variabel di bawah). Setiap rilis menyertakan bundle yang dibuat dari kode rilis tersebut. Aplikasi lain yang menginstal bundle MCPB bekerja dengan cara yang sama.

Local Server

Untuk menyimpan token API di komputer Anda sendiri, jalankan server secara lokal. Jangan sertakan token; agen akan meminta token saat pertama kali digunakan dan hanya menyimpannya di memori selama sesi tersebut:

{
  "mcpServers": {
    "Edgegap": {
      "command": "npx",
      "args": ["-y", "@edgegap/mcp"],
      "env": { "EDGEGAP_API_TOKEN": "xxxxxxxx-e458-4592-b607-c2c28afd8b62" }
    }
  }
}

Memerlukan Node 18+. Tetapkan versi tertentu untuk penggunaan produksi (@edgegap/mcp@0.15.4), bukan menggunakan versi latest yang terus berubah. Terdaftar di registry MCP resmi sebagai dev.edgegap/mcp.

Server lokal juga dapat membatasi tindakan yang dapat dilakukan agen. Variabel ini tidak berpengaruh pada endpoint yang di-host di mcp.edgegap.dev:

VariabelDefaultTujuan
EDGEGAP_API_TOKEN(diminta)Token API. Opsional: jangan sertakan, dan Anda akan diminta memasukkannya saat pertama kali digunakan. Awalan token akan ditambahkan secara otomatis. Jangan pernah meneruskannya sebagai argumen baris perintah.
EDGEGAP_READ_ONLY0Tetapkan ke 1 agar tool yang mengubah sesuatu (ditandai ● di Tools) tidak pernah didaftarkan, sehingga agen tidak dapat dibujuk untuk memanggilnya.
EDGEGAP_APP_ALLOWLIST(kosong)Nama aplikasi yang dipisahkan koma. Membatasi aplikasi yang dapat dibuat dan di-deploy oleh agen. Pembacaan (mencantumkan aplikasi dan versi) tidak dibatasi, begitu pula tindakan terhadap deployment yang sedang berjalan. Lihat DESIGN.md.
EDGEGAP_MAX_DURATION_MINUTES60Batas atas untuk max_duration yang dapat ditetapkan agen pada suatu versi. edgegap_deploy juga menolak versi yang nilai max_duration-nya melebihi batas ini, atau tidak terbatas, kecuali agen meneruskan allow_long_running: true setelah meminta persetujuan Anda.
EDGEGAP_MAX_AGENT_DEPLOYMENTS5edgegap_deploy menolak permintaan saat jumlah deployment bertanda edgegap-mcp yang sedang berjalan mencapai angka ini. 0 menonaktifkan batas tersebut.
EDGEGAP_MAX_DEPLOYS_PER_RUN20Jumlah proses server yang dapat dikirimkan. Termasuk proses yang gagal. Mulai ulang server untuk mengatur ulang hitungan. 0 menonaktifkannya.
EDGEGAP_STOP_OWN_ONLY0Tetapkan ke 1 agar edgegap_stop_deployment hanya menghentikan deployment bertanda edgegap-mcp, sehingga agen tidak dapat menghentikan server yang tidak dimulainya.
EDGEGAP_ENABLE_SKILLS_UPDATE0Tetapkan ke 1 agar edgegap_update_skills menjalankan npx skills@1.7.4 update atau claude plugin update dengan apply: true. Jika tidak, perintah tersebut akan ditampilkan untuk Anda jalankan. Skill yang disalin secara manual akan ditulis ulang dari bundle dalam kedua kondisi. Updater hanya mendapatkan pengaturan path, home, temp, locale, proxy, dan npm, tidak pernah variabel EDGEGAP_* atau apa pun yang namanya menyerupai token, secret, password, atau key.
EDGEGAP_TIMEOUT_MS30000Batas waktu HTTP per permintaan.
EDGEGAP_SKILLS_CHECKonTetapkan ke off agar tool skill tidak pernah membaca versi skill terbaru dari GitHub.

Windows

Server lokal berjalan di Windows dengan Node.js 18 atau yang lebih baru, dan CI menjalankan build serta pengujian stdio di Windows.

  • Banyak klien MCP Windows tidak dapat memulai npx secara langsung karena file tersebut adalah skrip .cmd. Mulai melalui cmd /c: "command": "cmd", "args": ["/c", "npx", "-y", "@edgegap/mcp"]. Di Claude Code: claude mcp add Edgegap --env EDGEGAP_API_TOKEN=<token> -- cmd /c npx -y @edgegap/mcp.
  • Di PowerShell, ketik npx.cmd alih-alih npx untuk menjalankannya secara manual: instalasi Windows baru memblokir skrip PowerShell npx ("running scripts is disabled on this system").
  • Saat pertama kali dijalankan, paket akan diunduh dan prosesnya mungkin memerlukan waktu; proses berikutnya akan berlangsung cepat.
  • edgegap_update_skills menemukan skill yang terinstal di %USERPROFILE%, sama seperti di macOS dan Linux.

📚 Skills

Server ini menyertakan skill agen Edgegap: alur kerja langkah demi langkah yang telah diuji untuk menjalankan game multipemain secara online, lengkap dengan templat (Dockerfile, konfigurasi matchmaker, komponen siap pakai Unity C# dan Unreal C++) serta kendala yang umum terjadi. Semua agen yang terhubung ke Edgegap MCP mendapatkannya tanpa instalasi terpisah dan tanpa token, serta diarahkan untuk memuat skill yang sesuai sebelum mengerjakan proyek game.

SkillUntuk
edgegapMulai di sini untuk pertanyaan tentang engine selain Unity atau Unreal Engine, atau tentang platform. Mengarahkan ke skill lainnya.
edgegap-unityUnity dari awal hingga akhir: build server, matchmaker, klien, pengujian menyeluruh.
edgegap-ngoUnity dengan Netcode for GameObjects dari awal hingga akhir: server mulai dan berhenti sendiri, panel Find Match, adapter Boss Room, matchmaker.
edgegap-fishnetUnity dengan FishNet dari awal hingga akhir: server headless, Bayou/WebGL, matchmaker, pengujian menyeluruh.
edgegap-purrnetUnity dengan PurrNet dari awal hingga akhir: dedicated server, panel koneksi, matchmaker, pengujian menyeluruh.
edgegap-fusionUnity dengan Photon Fusion 2 dari awal hingga akhir: server Linux IL2CPP, server yang terikat ke 0.0.0.0, deployment Edgegap, kit BR200.
edgegap-fusion-simplefpsSampel Simple FPS Photon di dedicated server Edgegap.
edgegap-godotGodot 4 dengan dedicated server Godot: ekspor headless, ENet atau WebSocket, matchmaker.
edgegap-colyseusServer Colyseus di Edgegap, secara langsung atau melalui matchmaker.
edgegap-nakamaNakama sebagai backend, yang memulai server Edgegap untuk match-nya.
edgegap-playfabPlayFab Matchmaking dengan server Edgegap.
edgegap-threejsThree.js dan game browser lainnya dengan server Node.js sendiri.
edgegap-matchmakingDesain matchmaking untuk engine apa pun: siapa yang mengelolanya, profil, party, pemilihan region, backfill, matchmaker pihak ketiga.
edgegap-manusGame browser yang dibuat dengan Manus: matchmaking backend, login Steam, token join bertanda tangan, server WebSocket Node.
edgegap-unrealUnreal Engine dari awal hingga akhir: engine dari source, server Linux, matchmaker, pengujian menyeluruh.
edgegap-eos-voiceObrolan suara untuk game Unreal di Edgegap dengan EOS Voice: token room sisi server, room match dan tim.
edgegap-server-designDesain server otoritatif dan siklus hidup deployment.
edgegap-containerizeKontrak container, Dockerfile, registry, versi aplikasi.
edgegap-local-testingPengujian paritas di mesin Anda, lalu satu deployment uji asap.
edgegap-troubleshootError pull, crash loop, kehabisan memori, klien yang tidak bisa terhubung.
edgegap-deployments-apiKode backend yang men-deploy server: webhook, pembersihan, Nakama, PlayFab, UGS, EOS.
edgegap-launchDaftar periksa peluncuran, rollout, caching, pengendalian biaya.

Skill ini disediakan melalui tiga cara agar dapat diakses oleh setiap klien MCP:

  • Tools: edgegap_list_skills dan edgegap_get_skill, yang memuat SKILL.md milik sebuah skill, atau salah satu dokumen referensi maupun templatnya dengan file.
  • Prompts: deploy-game-server ("Deploy my game server to Edgegap") adalah titik awal: prompt ini menemukan engine dan netcode, memuat skill yang sesuai, lalu memandu Anda melalui jalur utama, termasuk pembersihan. Ada juga satu prompt untuk setiap skill, dengan nama yang sama seperti skill tersebut. Di Claude Code, prompt ini muncul sebagai perintah garis miring, misalnya /mcp__edgegap__deploy-game-server.
  • Resources: SKILL.md setiap skill tercantum di edgegap-skill://<skill>/SKILL.md; setiap file lainnya dibaca melalui templat edgegap-skill://{skill}/{+path}, misalnya edgegap-skill://edgegap-unity/references/deploy.md.

Setiap rilis menyertakan skill pada commit yang ditetapkan di scripts/skills-pin.txt; edgegap_context melaporkan pack yang dimuat. edgegap_list_skills juga membaca versi pack terbaru dari GitHub (satu nomor versi, di-cache selama satu jam; EDGEGAP_SKILLS_CHECK=off menonaktifkannya) dan memberi tahu jika ada versi yang lebih baru, sedangkan edgegap_get_skill menambahkan catatan yang sama di bawah header skill.

Menjaga skill yang terpasang tetap terbaru. Jika Anda juga memasang skill di agen Anda (plugin Claude Code edgegap@edgegap, npx skills add edgegap/llm-agent-skills, atau folder yang disalin ke ~/.claude/skills), edgegap_update_skills membandingkan masing-masing dengan versi terbaru di GitHub. Di server lokal, tool ini menemukan sendiri instalasi tersebut; dengan apply: true, tool ini menjalankan npx skills update (hanya skill Edgegap) atau claude plugin update, lalu menulis ulang skill yang disalin secara manual dari file yang disertakan dalam rilis ini, sambil mempertahankan file yang Anda tambahkan dan membiarkan symlink serta checkout git apa adanya. Tool ini tidak pernah mengunduh teks skill. Server yang di-host tidak dapat mengakses disk Anda: berikan versi yang telah Anda muat di installed_versions, lalu tool ini akan memberi tahu mana yang sudah usang dan cara memperbaruinya.

🧰 Tools

Agen Anda memilih tool yang tepat berdasarkan permintaan Anda. Anda tidak perlu menyebutkan namanya, tetapi mengetahui tool yang tersedia akan membantu Anda mengajukan permintaan. Tool bertanda ● mengubah sesuatu di akun Anda, memerlukan dry_run, dan disembunyikan saat EDGEGAP_READ_ONLY=1.

ToolFungsinya
edgegap_contextMenampilkan API yang digunakan server ini, versinya, apakah server lokal atau di-host, serta batasan yang berlaku. Tidak melakukan panggilan API; token tidak pernah ditampilkan.

Sebelum Deployment Pertama Anda

ToolFungsinya
edgegap_generate_dockerfileMenulis Dockerfile untuk build server Anda: folder build, biner server atau skrip mulai, port, dan argumen peluncuran, dengan flag headless yang tepat (Unity -batchmode -nographics, Godot --headless), pengguna non-root untuk Unreal, dan port yang sesuai. Mencantumkan hal-hal yang terpaksa diasumsikan agar agen Anda dapat mengonfirmasinya. Berfungsi untuk Unity, Unreal Engine, Godot, dan engine lainnya.
edgegap_validate_server_configMemeriksa Dockerfile, port, resource, dan tag image yang sudah ada sebelum Anda melakukan build. Mendeteksi image ARM atau Windows (Edgegap menjalankan linux/amd64), server Unreal yang berjalan sebagai root, -batchmode -nographics Unity yang tidak ada, server yang terikat ke localhost, port yang tidak cocok dengan transport netcode Anda, serta tag latest.
edgegap_get_registry_credentials ●Mengembalikan kredensial push untuk private container registry Edgegap Anda, beserta perintah docker login, build, dan push yang tepat. Edgegap hanya memberikan kredensial ini melalui token quick-start plugin Unity/Unreal; dengan token API biasa, tool ini meminta agen Anda untuk meminta login dari halaman Container Registry di dashboard.
edgegap_list_registry_tagsMemastikan image Anda berhasil di-push sebelum Anda mendaftarkannya. Hanya memerlukan nama image, misalnya my-game-server: project diambil dari token Anda.
edgegap_delete_registry_tag ●Menghapus satu tag beserta image yang ditunjuknya untuk membersihkan build lama. Satu tag persis per panggilan; latest, wildcard, dan daftar ditolak.

Dedicated Server (Direkomendasikan)

ToolFungsinya
edgegap_list_appsMencantumkan aplikasi Anda.
edgegap_create_app ●Membuat aplikasi.
edgegap_update_app ●Mengaktifkan atau menonaktifkan aplikasi untuk deployment baru.
edgegap_list_app_versionsMencantumkan versi beserta image, resource, port (dengan TLS Upgrade), dan informasi apakah login registry telah diatur.
edgegap_get_app_versionMembaca detail lengkap satu versi: image, resource, port, durasi maksimum, caching image, kebijakan restart, dan nama variabel env (nilainya tidak pernah ditampilkan).
edgegap_create_app_version ●Mendaftarkan container image sebagai versi yang dapat di-deploy. Mendukung TLS Upgrade pada port WS dan HTTP, yang diperlukan klien browser (WebGL) untuk wss://.
edgegap_update_app_version ●Mengubah versi yang sudah ada: tag image baru, aktif/nonaktif, CPU dan memori (keduanya sekaligus), durasi maksimum, login registry, caching image (force_cache), masa tenggang shutdown, port, variabel env, dan Endpoint Storage tempat log disimpan. Hanya kolom yang diberikan yang berubah, tetapi ports dan env mengganti seluruh daftar. Deployment yang sedang berjalan tetap menggunakan pengaturan lama.
edgegap_delete_app_version ●Menghapus satu versi untuk membersihkan versi pengujian. Ditolak jika deployment versi tersebut masih berjalan. Image registry tetap disimpan.
edgegap_delete_app ●Menghapus aplikasi beserta versinya. Ditolak jika ada deployment-nya yang masih berjalan, atau jika jumlah versinya melebihi max_versions (default 0).
edgegap_list_locationsMencantumkan kota tempat Edgegap melakukan deployment, atau, untuk satu versi, hanya kota yang saat ini memiliki kapasitas.
edgegap_list_ping_beaconsMencantumkan beacon ping yang digunakan klien game untuk mengukur latensi ke setiap region.
edgegap_deploy ●Men-deploy dedicated server otoritatif di dekat pemain Anda. Selalu diberi tag edgegap-mcp, dan melaporkan kapan Edgegap akan menghentikannya. Opsional: CPU dan memori khusus untuk deployment ini, webhook yang dipanggil Edgegap saat server siap, gagal, atau berakhir, require_cached_locations untuk memulai lebih cepat, dan private_host_ids untuk menempatkannya terlebih dahulu di private fleet Anda.
edgegap_list_fleet_hostsMencantumkan host di salah satu private fleet Anda, beserta status dan lokasinya, untuk men-deploy server ke sana.
edgegap_wait_for_deploymentMenunggu hingga server siap dan mengembalikan alamat koneksi.
edgegap_get_deploymentMembaca status deployment.
edgegap_list_deploymentsMencantumkan deployment yang sedang berjalan, difilter berdasarkan aplikasi, versi, status, tag, dan lainnya, serta diurutkan berdasarkan usia. Menemukan server yang masih berjalan; only_agent_deployments: true mencantumkan semua server yang dimulai oleh agen. Lihat Filter Deployment.
edgegap_get_deployment_logsMembaca log container dan detail crash saat deployment berjalan. Setelah deployment berhenti, log hanya disimpan jika Endpoint Storage telah disiapkan.
edgegap_get_deployment_metricsMerangkum penggunaan CPU, throttling CPU, memori, dan jaringan (terbaru, rata-rata, puncak), untuk menentukan ukuran versi atau memeriksa crash.
edgegap_stop_deployment ●Menghentikan satu deployment berdasarkan request ID yang persis. Tidak ada penghentian massal.
edgegap_tag_deployment ●Menambahkan atau menghapus tag pada deployment yang sedang berjalan, misalnya untuk menandai match. Tag edgegap-mcp tetap ada.
edgegap_report_deployment ●Melaporkan deployment ke Edgegap beserta alasannya, untuk backend moderasi studio. Deployment tetap berjalan.

Log dan File (Endpoint Storage)

Log container akan hilang bersama deployment kecuali diekspor ke bucket yang kompatibel dengan S3 milik Anda.

ToolFungsinya
edgegap_list_endpoint_storageMencantumkan bucket Endpoint Storage dan profil pull Anda. Kunci rahasia tidak pernah dikembalikan.
edgegap_create_endpoint_storage ●Mendaftarkan bucket (AWS S3, Cloudflare R2, DigitalOcean Spaces…) untuk ekspor log. Atur endpoint_storage pada versi untuk mengaktifkan ekspor. Kunci rahasia tidak pernah ditampilkan kembali.
edgegap_create_pull_profile ●Menyalin file atau folder dari bucket ke dalam container saat boot (map, konfigurasi, aset berukuran besar).
edgegap_link_pull_profile ●Menautkan profil pull ke versi, atau melepas tautannya.
edgegap_delete_pull_profile ●Menghapus satu profil pull. Bucket dan file di dalamnya tetap ada.
edgegap_delete_endpoint_storage ●Menghapus satu Endpoint Storage; ditolak jika masih memiliki profil pull, kecuali max_pull_profiles mengizinkannya. Bucket dan log di dalamnya tetap ada.

Relay (Hanya untuk Game Host-Client)

Relay bukan server game: relay meneruskan lalu lintas saat game salah satu pemain menjadi host match. Lihat Dedicated Server atau Relay?.

ToolFungsinya
edgegap_create_relay_session ●Membuat sesi relay untuk pemain Anda dan mengembalikan alamat relay serta token otorisasi setiap pemain.
edgegap_get_relay_sessionMembaca sesi relay.
edgegap_list_relay_sessionsMencantumkan sesi relay yang terbuka untuk menemukan sesi yang masih berjalan. Tidak ada token otorisasi.
edgegap_authorize_relay_user ●Menambahkan pemain yang bergabung belakangan.
edgegap_revoke_relay_user ●Menghapus satu pemain dari sesi relay.
edgegap_delete_relay_session ●Menutup sesi relay.

[!WARNING] Deployment dan sesi relay dikenai biaya selama berjalan. Minta agen Anda menghentikan deployment pengujian dan menghapus sesi relay pengujian setelah selesai.

Contoh Prompt

  • "Tulis Dockerfile untuk build server Unity saya, lalu push dan deploy server di dekat saya."
  • "Periksa Dockerfile saya untuk Edgegap dan perbaiki masalah apa pun."
  • "Deployment saya gagal. Baca log dan beri tahu penyebabnya."
  • "Berapa banyak CPU dan memori yang digunakan match terakhir saya? Sesuaikan ukuran versi saya."
  • "Game saya menggunakan jaringan host-client. Siapkan relay Edgegap untuk dua pemain."

🛡️ Batasan Pengamanan

Token API Anda dapat melakukan apa saja di organisasi Anda, jadi server ini menambahkan batasannya sendiri terhadap tindakan agen. Batasan ini berlaku baik di server lokal maupun endpoint yang di-host.

PengamanFungsinya
Uji cobaSetiap alat yang mengubah sesuatu menggunakan dry_run: true: alat tersebut mengembalikan metode, host, jalur, dan isi yang persis, dengan token, token registry, dan nilai env disamarkan, serta tidak mengirim apa pun. Pemeriksaan lokal tetap dijalankan.
Tidak ada token di dalam containerDeploy atau versi ditolak tanpa mengirim apa pun jika token API Anda muncul dalam nama atau nilai variabel env, tag, atau URL webhook. Nilai env tidak pernah ditampilkan kembali.
Tag agenSetiap deployment diberi tag edgegap-mcp, bahkan saat agen meneruskan tag miliknya sendiri. edgegap_list_deployments dengan only_agent_deployments: true akan menemukan semuanya.
Berhenti otomatisSetiap deploy melaporkan kapan Edgegap akan menghentikannya: nilai max_duration versi tersebut, dibatasi hingga EDGEGAP_MAX_DURATION_MINUTES (default 60) untuk versi yang dibuat agen. Edgegap tidak memiliki batas waktu per deployment, jadi deploy versi dengan max_duration di atas batas tersebut atau tanpa batas (versi yang dibuat di tempat lain memiliki default 1440 menit) akan ditolak kecuali agen meneruskan allow_long_running: true, yang hanya akan diperintahkan untuk dilakukan setelah bertanya kepada Anda.
Deploy per prosesServer lokal mengirim paling banyak EDGEGAP_MAX_DEPLOYS_PER_RUN (default 20) deploy per proses, termasuk yang gagal, karena deploy yang ditolak tetap dapat membuat deployment. Jika API menolak deploy tetapi tetap membuat deployment, kesalahan akan menyebutkan namanya agar agen dapat menghentikannya.
Tidak menggunakan tag image yang berubah-ubahedgegap_create_app_version menolak latest (huruf besar/kecil apa pun), tag kosong, atau tag yang akan ditolak Docker, tanpa mengirim apa pun: Edgegap menyimpan image dalam cache berdasarkan tag, sehingga tag yang di-push ulang dapat men-deploy build yang sudah usang. Deploy versi yang sudah ada di latest juga ditolak, begitu pula permintaan perintah push registry untuk latest.
Pemeriksaan referensi imagedocker_image yang juga memuat host registry, tag, atau digest (misalnya registry.edgegap.com/proj/server:v2) akan ditolak, dan kesalahan akan memberikan pemisahan docker_repository / docker_image / docker_tag yang benar. edgegap_validate_server_config menandai hal yang sama.
Batas deploymentedgegap_deploy ditolak saat EDGEGAP_MAX_AGENT_DEPLOYMENTS (default 5) deployment bertag edgegap-mcp sudah berjalan, sehingga agen yang terus mengulang tidak dapat menumpuk server yang menimbulkan biaya. Penolakan tersebut menjelaskan cara mencantumkan dan menghentikannya.
Variabel env rahasia tersembunyiVariabel env dengan nama yang tampak seperti rahasia (TOKEN, SECRET, PASSWORD, API_KEY, CREDENTIAL, AUTH…) dikirim dengan is_hidden, sehingga dashboard tidak menampilkan nilainya dalam teks biasa.
Penghentian ketatedgegap_stop_deployment menghentikan satu deployment berdasarkan ID permintaan yang persis. ID kosong, wildcard, dan daftar akan ditolak. Tidak ada penghentian massal. Dengan EDGEGAP_STOP_OWN_ONLY=1, hanya deployment bertag edgegap-mcp yang dihentikan.
Penghapusan yang cermatedgegap_delete_app_version dan edgegap_delete_app menerima satu nama persis, dan akan ditolak jika deployment untuk nama tersebut sedang berjalan. Aplikasi yang memiliki versi hanya dihapus jika max_versions mencakup versi-versi tersebut.
URL webhook dan bucketWebhook deploy dan endpoint Endpoint Storage harus berupa URL https tanpa kredensial, dan akan ditolak jika memuat token API Anda.
Host pada setiap hasilSetiap hasil diawali dengan host API, misalnya [api.edgegap.com], atau [custom · host] saat EDGEGAP_BASE_URL mengarah ke tempat lain. URL dasar yang menyebut api.edgegap.com harus persis https://api.edgegap.com, atau server akan menolak untuk dimulai.
PenyensoranToken dihapus dari setiap kesalahan sebelum diteruskan ke agen.

Server mengidentifikasi dirinya dengan User-Agent: edgegap-mcp/<version> (<MCP client name>) pada setiap panggilan API.

Analitik penggunaan. Server lokal dan image Docker yang di-host sendiri tidak mengirim apa pun selain panggilan API itu sendiri. Endpoint yang di-host di mcp.edgegap.dev menggunakan PostHog MCP Analytics (@posthog/mcp) dan mengirim peristiwa penggunaan ke PostHog Edgegap: klien MCP yang terhubung, alat, prompt, atau sumber daya skill yang digunakan, nama (bukan nilai) argumen yang diteruskan, apakah panggilan berhasil, kode kesalahannya, tahap kegagalannya dan status API Edgegap, durasi prosesnya, apakah itu uji coba, beberapa fakta tentang panggilan tersebut (hasil penantian deployment, hasil validasi, skill yang dimuat), langkah golden path yang dicapai, serta versi server dan kode negara Cloudflare. Jika panggilan gagal, pesan kesalahan juga dikirim setelah token Anda, nilai argumen yang Anda teruskan, dan apa pun yang menyerupai kredensial, alamat IP, atau ID dihapus; pesan dipotong hingga 300 karakter. ID deployment hanya dikirim sebagai hash berkunci. Hanya properti metadata bernama yang diizinkan. Token, nilai argumen alat (alamat IP, variabel env, nama aplikasi atau image), maupun hasil tidak pernah dikirim, dan GeoIP dinonaktifkan. Tidak ada parameter yang ditambahkan ke alat. Peristiwa dari satu token dikelompokkan berdasarkan hash token berkunci yang tidak dapat dibalik. Daftar lengkapnya ada di docs/analytics.md. Untuk memilih keluar, kirim header X-Edgegap-Telemetry: off (atau DNT: 1), atau gunakan server lokal.

🚨 Pemecahan Masalah

Tinjau kode kesalahan umum dan pelajari cara membuka akses integrasi Anda.

401 Unauthorized

Kemungkinan besar integrasi MCP Anda tidak menyertakan header Authorization dengan benar.

Tool Call Failed

Klien Anda tidak memiliki token Edgegap. Hal ini terjadi pada claude.ai dan konektor khusus Claude Desktop, yang tidak dapat mengirim header Authorization. Lihat Claude Desktop dan claude.ai untuk alternatifnya.

[!WARNING] Ini adalah batasan yang sudah diketahui dan akan segera diatasi. Nantikan pembaruan!

403 Forbidden

Kemungkinan integrasi MCP Anda menggunakan token templat atau token yang telah dihapus. Pastikan nilai token yang digunakan integrasi Anda sama persis dengan token yang ditampilkan di dashboard.

424 Image Could Not Be Pulled

Edgegap tidak dapat menarik image container Anda. Periksa repositori, nama image, dan tag, serta pastikan tag tersebut sudah di-push (minta agen Anda mencantumkan tag registry). Untuk image di registry Edgegap, nama image harus menyertakan proyek Anda, misalnya my-project/my-game-server.

Registry Credentials Unavailable

Edgegap hanya memberikan kredensial registry kepada token quick-start yang digunakan plugin Unity dan Unreal. Karena itu, dengan token API biasa, agen Anda tidak dapat mengambilnya dan akan memintanya kepada Anda. Salin Project, Username, dan Token dari dashboard di bagian Container Registry, atau push ke registry lain yang dapat diakses Edgegap (Docker Hub, GitHub, AWS ECR, GCP, GitLab). Lihat Registry Eksternal.

"status": "empty" atau "not_configured"

Ini bukan kesalahan. Daftar yang kosong (belum ada aplikasi, tidak ada deployment yang berjalan, image belum pernah di-push) atau fitur yang belum disiapkan organisasi ini (relay, registry yang tidak dapat dibaca token ini) akan dikembalikan sebagai hasil normal dengan status dan next_step. Agen Anda seharusnya melanjutkan ke langkah berikutnya, bukan mencoba lagi.

Belum Ada Token

Skill (edgegap_list_skills, edgegap_get_skill), edgegap_context, edgegap_generate_dockerfile, dan edgegap_validate_server_config dapat digunakan tanpa token, sehingga agen dapat menyiapkan build server terlebih dahulu. Buat akun di app.edgegap.com dan token di User Settings → Tokens. edgegap_context dengan check_token: true menunjukkan apakah token sesi tersedia dan diterima, serta menampilkan empat karakter terakhirnya agar Anda dapat menemukannya di halaman tersebut.

Berjalan Secara Lokal tetapi Tidak di Edgegap

Minta agen Anda memvalidasi konfigurasi server atau membuat Dockerfile baru. Penyebab yang paling umum adalah image yang dibuat di Apple Silicon tanpa docker build --platform linux/amd64, server yang mendengarkan port berbeda dari yang diekspos versi tersebut, atau transport UDP yang dikonfigurasi sebagai TCP.

Kesalahan API Lainnya

Silakan lihat Referensi API untuk kemungkinan respons kesalahan pada setiap endpoint API.

[!NOTE] Jika Anda memerlukan bantuan, silakan hubungi kami melalui Discord. Untuk dukungan game live, lihat sistem tiket kami.

🛠️ Hosting Mandiri

Endpoint yang di-host di mcp.edgegap.dev berjalan sebagai Cloudflare Worker (lihat worker/INSTALL.md). Untuk menjalankan server HTTP stateless yang sama di infrastruktur Anda sendiri, gunakan image Docker:

docker build -t edgegap-mcp .
docker run --rm -p 8080:8080 edgegap-mcp

Klien terhubung ke http://<host>:8080/mcp dengan header Authorization milik mereka sendiri, sama seperti saat terhubung ke endpoint yang di-host. Image ini tidak menyimpan kredensial, dan /health merespons tanpa kredensial. PORT, HOST, EDGEGAP_READ_ONLY, EDGEGAP_APP_ALLOWLIST, EDGEGAP_MAX_DURATION_MINUTES, EDGEGAP_MAX_AGENT_DEPLOYMENTS, dan EDGEGAP_STOP_OWN_ONLY berlaku; teruskan masing-masing dengan -e NAME=value. Jangan pernah meneruskan token API ke container: setiap klien mengirim tokennya sendiri pada setiap permintaan. Baca worker/DECISION.md sebelum mengeksposnya di luar jaringan privat.

Image siap pakai untuk linux/amd64 dan linux/arm64 dipublikasikan ke ghcr.io/edgegap/llm-mcp-server (dan, untuk konfigurasi yang sudah ada, nama lama ghcr.io/edgegap/edgegap-mcp), dengan tag main dan sha-<commit> pada setiap push ke main, serta versi pada tag v*:

docker run --rm -p 8080:8080 ghcr.io/edgegap/llm-mcp-server:main

Pengembangan

Lihat CONTRIBUTING.md untuk pemeriksaan yang harus dilalui suatu perubahan, CHANGELOG.md untuk perubahan pada setiap versi, dan SECURITY.md untuk melaporkan kerentanan.

npm ci
npm run build
npm test                  # mock-API tests; none reach Edgegap
npm run typecheck:worker

Untuk memperbarui skill yang disertakan ke commit terbaru llm-agent-skills, lalu merilis seperti biasa:

npm run sync-skills -- --ref main
npm run check-skills      # exit 1 if src/skills.generated.ts differs from the pin
PengujianCakupan
test/unit.test.mjsPengujian unit untuk aturan tag, image, nama rahasia, URL, dan penyensoran
test/package.mjsPengemasan: satu bin, dependensi runtime, versi dalam step
test/skills.mjsSkill melalui MCP: alat, prompt, sumber daya, keamanan jalur, bundle sesuai dengan pin
test/smoke.mjsHandshake, pendaftaran alat, mode hanya-baca
test/guards.mjsValidasi lokal dan penerapan allowlist
test/elicit.mjsPrompt token: menerima, menolak pengakuan, menolak, tidak didukung
test/newtools.mjsValidator, generator Dockerfile, registry, deployment, alat relay dan matchmaker terhadap API mock lokal
test/http.mjsServer HTTP yang di-host sendiri: discovery tanpa token, token per permintaan, kredensial asing
test/spec.mjsSetiap endpoint dan kolom isi permintaan yang dikirim server tercantum di spec/ (alat tulis diperiksa dengan uji coba)
test/snapshot.mjsNama, deskripsi, skema alat, dan instruksi sesuai dengan test/tools.snapshot.json; npm run snapshot:update setelah perubahan yang disengaja
test/live-check.mjsTidak ada di npm test. Dijalankan terhadap API sungguhan dengan token dari organisasi nonproduksi

Keputusan desain, model keamanan, dan hal-hal yang sengaja tidak dicakup dijelaskan di DESIGN.md.