LocalCan
resmiMemberikan agen AI URL publik (tunnel) untuk localhost, inspeksi lalu lintas HTTP langsung, publikasi snapshot, dan kontrol akses.
Apa yang bisa Anda lakukan dengan LocalCan MCP?
- Memeriksa lalu lintas yang ditangkap — Minta pertukaran terbaru dengan
list_traffic, filter berdasarkan host, proyek, metode, atau kode status, lalu telusuri detailnya denganget_exchange. - Kelola URL Publik — Buat tunnel dengan
create_public_urlatauadd_public_url, periksa status melaluiget_public_url_status, dan jeda, lanjutkan, atau hapus sesuai kebutuhan. - Terbitkan dan segarkan Snapshot — Gunakan
publish_snapshotuntuk membagikan folder di URL baru, atauupdate_snapshotuntuk menerbitkan ulang snapshot yang sudah ada agar tetap dapat diakses secara offline. - Kontrol perlindungan akses — Lindungi URL Publik dengan kata sandi menggunakan
set_password, periksa perlindungan saat ini melaluiget_access_status, atau hapus denganclear_access. - Pantau status penangkapan — Periksa apakah penangkapan lalu lintas aktif dan berapa banyak yang di-buffer dengan
get_status, dan aktifkan melaluienable_capturesaat diperlukan.
Dokumentasi
Server MCP
Jalankan server Model Context Protocol LocalCan dan hubungkan ke host MCP Anda, dengan referensi lengkap alat dan sakelar.
localcan mcp menjalankan server Model Context Protocol melalui stdio. Host MCP (Claude Code, Codex, Cursor, Claude Desktop, dan lainnya) meluncurkannya dan memanggil alat LocalCan untuk membaca lalu lintas yang ditangkap, mengelola Public URL (terowongan), dan menerbitkan Snapshot. LocalCan harus berjalan agar alat dapat mengembalikan data, jadi buka aplikasi desktop atau jalankan localcan start -d terlebih dahulu.
Alat
Server mengekspos dua puluh alat. Pembacaan berfungsi langsung. Sebelas alat yang mengubah sesuatu memerlukan akses tulis, yang nonaktif secara default (lihat sakelar di bawah). Membuat atau menambahkan Public URL memerlukan lisensi aktif. Menerbitkan Snapshot dan melindungi URL dengan kata sandi memerlukan paket berlangganan, sehingga lisensi abadi ditolak meskipun masih dapat membuka Public URL. Tanpa lisensi, alat yang dibatasi mengembalikan pesan aktivasi yang jelas, sementara menjeda, melanjutkan, dan menghapus URL yang ada tetap berfungsi.
Traffic:
| Alat | Fungsinya | Parameter |
|---|---|---|
| get_status | Melaporkan apakah penangkapan aktif dan berapa banyak lalu lintas yang di-buffer. | tidak ada |
| enable_capture | Mengaktifkan penangkapan. Penangkapan nonaktif secara default dan disetel ulang saat daemon dimulai ulang. | tidak ada |
| list_traffic | Mencantumkan pertukaran terbaru, yang terbaru terlebih dahulu. | last (default 20), substring host, project id, method, status (kode pasti atau kelas seperti 5xx) |
| get_exchange | Mengembalikan satu pertukaran berdasarkan id. | id wajib (id lengkap atau awalan unik apa pun), format salah satu dari markdown, curl, http, har, json (default markdown), include_response (default true) |
Pertukaran adalah permintaan yang diteruskan LocalCan ke backend Anda, bukan salinan byte-per-byte dari permintaan asli klien. Lihat Traffic untuk model data.
Public URLs:
| Alat | Fungsinya | Parameter |
|---|---|---|
| list_services | Mencantumkan layanan yang dilayani LocalCan, masing-masing dengan pegangan /, target lokalnya, dan jumlah titik akhir. | tidak ada |
| list_public_urls | Mencantumkan Public URL Anda, termasuk yang dijeda, masing-masing dengan statusnya (aktif, dijeda, error, mulai, nonaktif) dan apa yang dilayaninya (live, snapshot, none). Setiap baris juga memuat akses: none, password, link, atau nama kebijakan tim. URL yang diparkir yang melayani Snapshot terbaca statusnya paused tetapi menyajikan snapshot, jadi jawab "apakah tautannya aktif?" berdasarkan penyajian, bukan status. | tidak ada |
| get_public_url_status | Melaporkan status satu Public URL, apa yang dilayaninya (live, snapshot, none), dan perlindungan aksesnya, dengan kosakata yang sama dengan daftar. | url wajib |
| create_public_url | Membuat Public URL untuk port lokal dalam proyek baru dan mengembalikan alamat yang ditetapkan, seperti my-app-12.localcan.dev. Memerlukan beberapa detik. Jika terowongan ditolak (misalnya batas Public URL paket Anda) atau waktu habis, upaya dibatalkan dan tidak ada yang tertinggal. Untuk tautan yang tetap dapat dijangkau setelah mesin Anda offline, tambahkan Snapshot dengan add_snapshot. | port wajib, name opsional (membentuk alamat), protocol http atau tcp (default http) |
| add_public_url | Menambahkan Public URL ke layanan yang sudah Anda konfigurasikan. Protokol mengikuti target layanan, sehingga target tcp:// mendapat terowongan TCP. Pembatalan yang sama saat gagal seperti create. | pegangan service wajib |
| pause_public_url | Membawa Public URL offline sambil mempertahankan alamatnya, sehingga dapat dilanjutkan nanti. Alamat *.localcan.dev yang dibuat tetap dicadangkan selama 7 hari saat dijeda, domain kustom tidak pernah kedaluwarsa. | url wajib |
| resume_public_url | Mengembalikan Public URL yang dijeda ke online di alamat yang sama. | url wajib |
| remove_public_url | Menghapus Public URL secara permanen. Alamat yang dibuat dilepaskan, domain kustom tetap milik Anda dan dapat ditambahkan lagi. Menghapus titik akhir terakhir layanan juga menghapus layanan dan proyek yang kosong. Untuk mempertahankan alamat tetapi berhenti menyajikan Snapshot, gunakan remove_snapshot. Ditandai destruktif, sehingga host biasanya meminta konfirmasi. | url wajib |
Snapshot (lihat Snapshots):
| Alat | Fungsinya | Parameter |
|---|---|---|
| publish_snapshot | Menerbitkan folder sebagai Snapshot di Public URL baru, sehingga tetap dapat dijangkau setelah mesin Anda offline. Arahkan ke output statis yang sudah dibangun jika memungkinkan, atau ke akar proyek agar LocalCan membangunnya (dependensi harus sudah terinstal). Mengembalikan alamat baru. Selalu membuat URL baru, jadi untuk menyegarkan pratinjau yang ada gunakan update_snapshot. | path wajib (absolut), name opsional (membentuk alamat) |
| add_snapshot | Menambahkan Snapshot ke Public URL yang sudah Anda miliki, sehingga tautan yang ada tetap menyajikan konten offline. Mengarah ke update_snapshot jika URL sudah memilikinya. | url dan path wajib |
| update_snapshot | Menerbitkan ulang Snapshot di Public URL. Hapus path untuk membangun ulang dari sumber yang sama, atau berikan untuk mengarahkan ulang ke folder lain. Mengarah ke add_snapshot jika URL tidak memilikinya. | url wajib, path opsional |
| remove_snapshot | Menghapus Snapshot dari Public URL. URL tetap dicadangkan dan terus menyajikan live selama terowongan Anda aktif. Ditandai destruktif. | url wajib |
| get_snapshot_status | Melaporkan Snapshot Public URL: folder sumbernya, kapan diterbitkan, apakah sumber berubah sejak itu (stale), dan apakah URL menyajikan live atau snapshot saat ini. | url wajib |
Kontrol akses (lihat Access control):
| Tool | Apa yang dilakukannya | Parameter |
|---|---|---|
| set_password | Melindungi URL Publik dengan kata sandi sehingga hanya orang yang memiliki kata sandi tersebut yang dapat membukanya. Diberlakukan di server LocalCan, sehingga juga mencakup Snapshot pada URL tersebut. Menghasilkan kata sandi yang kuat jika Anda tidak memberikannya, dan mengembalikannya agar dapat dibagikan. Membutuhkan paket berlangganan. | url wajib, password opsional (kosongkan untuk membuat satu) |
| clear_access | Menghapus perlindungan kata sandi, menjadikan URL kembali publik. Tidak menghapus URL atau Snapshot-nya. Ditandai sebagai tindakan destruktif, sehingga host biasanya meminta konfirmasi. | url wajib |
| get_access_status | Melaporkan perlindungan URL Publik dan mengembalikan kata sandinya saat ini jika URL tersebut dilindungi kata sandi. Kata sandi tidak pernah dikembalikan oleh list_public_urls, hanya di sini. | url wajib |
Menghubungkan agen
Cara menghubungkan bergantung pada bagaimana agen berjalan. Agen terminal (Claude Code, Codex) mewarisi PATH shell Anda, sehingga perintah localcan polos sudah berfungsi. Aplikasi GUI (Cursor, Claude Desktop, VS Code, dan lainnya) tidak memuat PATH shell Anda, sehingga mereka memerlukan jalur absolut ke biner, misalnya /Users/you/.localcan/bin/localcan. Pengaturan aplikasi desktop dapat menyalin konfigurasi siap pakai dengan jalur yang sudah diisi, yang juga merupakan cara yang andal di Windows.
Claude Code
Shell
Salin
claude mcp add --scope user localcan -- localcan mcp
Bendera --scope user mendaftarkan server untuk setiap proyek. Hapus untuk mendaftarkannya hanya di proyek saat ini.
Codex
Shell
Salin
codex mcp add localcan -- localcan mcp
Ini menulis server ke ~/.codex/config.toml. Untuk aplikasi desktop Codex atau ekstensi IDE, berikan jalur absolut sebagai pengganti localcan.
Cursor, Claude Desktop, dan Windsurf
Ketiganya berbagi format mcpServers yang sama:
JSON
Salin
{
"mcpServers": {
"localcan": {
"command": "/Users/you/.localcan/bin/localcan",
"args": ["mcp"]
}
}
}
Tambahkan ke file yang benar, lalu muat ulang:
- Cursor:
~/.cursor/mcp.json, lalu aktifkan server di Pengaturan. - Claude Desktop:
claude_desktop_config.json(Settings, Developer, Edit Config), lalu keluar dan buka lagi. - Windsurf:
~/.codeium/windsurf/mcp_config.json, lalu segarkan panel MCP.
VS Code
VS Code (mode agen Copilot) menggunakan kunci servers dengan tipe eksplisit. Tambahkan ini ke .vscode/mcp.json di ruang kerja Anda:
JSON
Salin
{
"servers": {
"localcan": {
"type": "stdio",
"command": "/Users/you/.localcan/bin/localcan",
"args": ["mcp"]
}
}
}
Anda juga dapat menjalankan code --add-mcp dengan objek server yang sama.
Zed
Zed menggunakan context_servers di settings.json:
JSON
Salin
{
"context_servers": {
"localcan": {
"source": "custom",
"command": "/Users/you/.localcan/bin/localcan",
"args": ["mcp"]
}
}
}
Anda juga dapat menambahkannya dari pengaturan Panel Agen.
Akses agen, redaksi, dan akses tulis
Ketiganya dikendalikan di aplikasi desktop di bawah Pengaturan (bagian "AI Agents (MCP)"), atau dari terminal: localcan mcp enable / disable untuk akses agen, localcan mcp redact <on|off> untuk redaksi, localcan mcp access <read_only|read_write> untuk akses tulis, dan localcan mcp status untuk melihat status saat ini.
- Akses agen aktif secara default. Matikan untuk menghentikan agen menggunakan LocalCan sama sekali. Server tetap berjalan, tetapi setiap alat mengembalikan pesan jelas "akses dinonaktifkan" hingga Anda menyalakannya lagi.
- Redaksi aktif secara default untuk agen. Header sensitif (Authorization, cookie, kunci API) dihapus dari respons alat. URL dan isi tidak diredaksi. Matikan untuk memungkinkan agen Anda sendiri menerima nilai mentah.
- Akses tulis nonaktif secara default. Membaca berfungsi tanpanya, tetapi alat tulis mengembalikan pesan jelas hanya-baca hingga Anda menyalakannya, di aplikasi ("Allow agents to create and change Public URLs") atau dengan
localcan mcp access read_write. Menyalakan akses agen tidak memberikan akses tulis. Keduanya adalah sakelar terpisah. Setiap panggilan tulis dicatat ke keluaran diagnostik server, yang ditangkap oleh host Anda, sehingga Anda memiliki rekam jejak perubahan yang dilakukan agen. Kata sandi yang diberikan keset_passworddisamarkan dalam log tersebut.
Saat alat menolak
- Setiap alat menghasilkan kesalahan koneksi daemon: LocalCan tidak berjalan. Buka aplikasi desktop atau jalankan
localcan start -d. list_trafficmengembalikan kosong: penangkapan mati (nonaktif secara default dan diatur ulang saat daemon dimulai ulang). Jalankanlocalcan traffic enableatau biarkan agen memanggilenable_capture.- "MCP access is disabled": akses agen dimatikan. Jalankan
localcan mcp enableatau ubah pengaturan. - "MCP is read-only": alat mengubah sesuatu dan akses tulis mati. Jalankan
localcan mcp access read_writeatau nyalakan pengaturan. - "public URLs require a license": membuat dan menambahkan URL Publik memerlukan lisensi aktif. Aktifkan di aplikasi atau dengan
localcan license activate <key>. - "need a subscription plan": Snapshot dan Kontrol Akses hanya untuk pelanggan. Lisensi abadi dapat membuka URL Publik tetapi tidak dapat menerbitkan Snapshot atau mengatur kata sandi. Berlangganan dari dasbor Anda↗, lalu coba lagi.
- "already has a snapshot" atau "has no snapshot yet": gunakan alat yang disebutkan dalam pesan.
add_snapshotmelampirkan Snapshot ke URL yang tidak memilikinya,update_snapshotmenyegarkan yang sudah memilikinya. - "Snapshot limit reached": paket Anda membatasi berapa banyak URL Publik yang dapat menyajikan Snapshot sekaligus. Pesan mencantumkan URL yang sudah menggunakan slot, yang dapat Anda segarkan dengan
update_snapshotalih-alih menerbitkan yang baru. - Host menampilkan server gagal atau tanpa alat: aplikasi GUI tidak dapat menemukan
localcandi PATH. Gunakan jalur absolut, paling mudah melalui salin konfigurasi di Pengaturan.
© 2026 LocalCan™. Hak cipta dilindungi.