LocalCan
resmiAI ajanlarına localhost için genel URL'ler (tüneller), canlı HTTP trafik incelemesi, anlık görüntü yayınlama ve erişim kontrolü sağlar.
LocalCan MCP ile neler yapabilirsiniz?
- Yakalanan trafiği inceleyin — Asistanınızdan
list_trafficile son alışverişleri listelemesini veyaget_exchangeile markdown, curl ya da HAR formatında tam bir istek/yanıt çekmesini isteyin. - Genel tünelleri yönetin —
create_public_urlvepause_public_urlgibi araçlarla Genel URL'ler oluşturun, duraklatın, sürdürün veya kaldırın; özel istek başlıkları ayarlamak da dahil. - Anlık görüntüleri yayınlayın ve yenileyin — Bir klasörü
publish_snapshotile paylaşılabilir bir Anlık Görüntü olarak dağıtın, ardındanupdate_snapshotile daha sonra güncelleyin; böylece önizleme bağlantıları güncel kalır. - Erişimi ve yorumları kontrol edin —
set_passwordile bir URL'yi parola korumalı hale getirin,list_commentsile yorum dizilerini inceleyin ve doğrudan asistanınızdan yanıtlayın veya çözümleyin. - Tünel ve hizmet durumunu kontrol edin — Yakalamanın çalıştığını doğrulamak için
get_statuskullanın veya hangi bağlantıların canlı, duraklatılmış ya da anlık görüntü sunduğunu görmek içinlist_public_urlskullanın.
Dokümantasyon
MCP sunucusu
LocalCan'ın Model Context Protocol sunucusunu çalıştırın ve MCP ana bilgisayarınıza bağlayın; araçlar ve anahtarlar için tam referansla birlikte.
localcan mcp, stdio üzerinden bir Model Context Protocol sunucusu çalıştırır. Bir MCP ana bilgisayarı (Claude Code, Codex, Cursor, Claude Desktop ve diğerleri) onu başlatır ve LocalCan'ın araçlarını çağırarak yakalanan trafiği okur, Genel URL'leri (tüneller) yönetir ve Anlık Görüntüleri yayınlar. Araçların veri döndürmesi için LocalCan'ın çalışıyor olması gerekir; bu yüzden masaüstü uygulamasını açın veya önce localcan start -d komutunu çalıştırın.
Araçlar
Sunucu yirmi altı araç sunar. Okuma işlemleri kutudan çıktığı gibi çalışır. Değişiklik yapan on altı araç, varsayılan olarak kapalı olan yazma erişimi gerektirir (aşağıdaki anahtarlara bakın). Genel URL oluşturma veya ekleme, aktif bir lisans gerektirir. Anlık Görüntü yayınlamak ve bir URL'yi şifreyle korumak bir abonelik planı gerektirir; bu nedenle süresiz lisans, hâlâ Genel URL'ler açabilse de reddedilir. Lisanssızken, kısıtlı araçlar net bir aktivasyon mesajı döndürürken, mevcut URL'leri duraklatma, sürdürme ve kaldırma işlemleri hâlâ çalışır.
Trafik:
| Araç | Ne yapar | Parametreler |
|---|---|---|
get_status | Yakalamanın açık olup olmadığını ve ne kadar trafiğin arabelleğe alındığını bildirir. | yok |
enable_capture | Yakalamayı açar. Yakalama varsayılan olarak kapalıdır ve arka plan programı yeniden başlatıldığında sıfırlanır. | yok |
list_traffic | Son alışverişleri, en yenisi en üstte olacak şekilde listeler. | last (varsayılan 20), host alt dize, project kimlik, method, status (tam kod veya 5xx gibi bir sınıf) |
get_exchange | Kimliğe göre bir alışverişi döndürür. | id gerekli (tam kimlik veya benzersiz herhangi bir önek), format markdown, curl, http, har, json'dan biri (varsayılan markdown), include_response (varsayılan true) |
Bir alışveriş, LocalCan'ın arka uca ilettiği istektir; istemcinin orijinal isteğinin birebir kopyası değildir. Veri modeli için Trafik bölümüne bakın.
Genel URL'ler:
| Araç | Ne yapar | Parametreler |
|---|---|---|
list_services | LocalCan'ın sunduğu hizmetleri listeler; her biri bir <project>/<service> tanıtıcısı, yerel hedefi ve uç nokta sayısıyla birlikte. | yok |
list_public_urls | Duraklatılmış olanlar dahil Genel URL'lerinizi listeler; her biri durumu (aktif, duraklatılmış, hata, başlıyor, etkin değil) ve ne sunduğuyla (canlı, anlık görüntü, yok) birlikte. Her satır ayrıca access taşır: yok, şifre, bağlantı veya bir ekip politikası adı. Anlık Görüntü sunan park edilmiş bir URL, durumu duraklatılmış ancak anlık görüntü sunuyor olarak okunur; bu yüzden "bağlantı açık mı?" sorusuna durumdan değil, sunumdan yanıt verin. | yok |
get_public_url_status | Tek bir Genel URL'nin durumunu, ne sunduğunu (canlı, anlık görüntü, yok) ve access korumasını, liste ile aynı sözcük dağarcığıyla, ayrıca yerel hedefini ve istek başlığı kurallarını bildirir. | url gerekli |
create_public_url | Yeni bir projede yerel bir bağlantı noktası için Genel URL oluşturur ve atanan adresi döndürür, örneğin my-app-12.localcan.dev. Birkaç saniye sürer. Tünel reddedilirse (örneğin planınızın Genel URL sınırı) veya zaman aşımına uğrarsa, deneme geri alınır ve geride hiçbir şey bırakılmaz. Makineniz çevrimdışı olduktan sonra erişilebilir kalan bir bağlantı için add_snapshot ile bir Anlık Görüntü ekleyin. Sanal ana bilgisayar olarak sunulan bir uygulama için host ve headers içinde bir Host kuralı iletin (aşağıya bakın). | port gerekli, name isteğe bağlı (adresi şekillendirir), protocol http veya tcp (varsayılan http), host isteğe bağlı (varsayılan localhost), headers isteğe bağlı (istek başlığı kuralları, her biri {name, value, mode?, enabled?}) |
add_public_url | Zaten yapılandırdığınız bir hizmete Genel URL ekler. Protokol, hizmetin hedefini izler; bu nedenle tcp:// hedefi bir TCP tüneli alır. Oluşturma ile aynı başarısızlıkta geri alma. | service tanıtıcısı gerekli |
pause_public_url | Bir Genel URL'yi adresini koruyarak çevrimdışı alır; böylece daha sonra sürdürülebilir. Oluşturulan bir *.localcan.dev adresi, duraklatılmışken 7 gün boyunca ayrılmış kalır; özel alan adları asla süresi dolmaz. | url gerekli |
resume_public_url | Duraklatılmış bir Genel URL'yi aynı adreste tekrar çevrimiçi getirir. | url gerekli |
remove_public_url | Bir Genel URL'yi kalıcı olarak kaldırır. Oluşturulan bir adres serbest bırakılır; özel bir alan adı sizin kalır ve tekrar eklenebilir. Bir hizmetin son uç noktasını kaldırmak, boşaltılan hizmeti ve projeyi de kaldırır. Adresi korumak ancak Anlık Görüntü sunmayı durdurmak için remove_snapshot kullanın. Yıkıcı olarak işaretlenmiştir; bu nedenle ana bilgisayarlar genellikle onay ister. | url gerekli |
set_public_url_headers | Bir Genel URL'deki istek başlığı kurallarını değiştirir; LocalCan'ın uygulamanıza iletmeden önce ayarladığı başlıklar. Tam listeyi iletin; boş bir liste onları temizler. get_public_url_status kuralları aynı biçimde bildirir (mode set, append veya remove ve enabled); böylece orada okunan bir liste düzenlenip geri yazılabilir. | url ve headers gerekli |
Sanal ana bilgisayar olarak sunulan bir uygulama (myapp.test adresindeki bir Laravel Herd veya Valet sitesi, bir nginx server_name) kendi ana bilgisayar adını görmelidir ve LocalCan varsayılan olarak genel ana bilgisayar adını iletir. host ve bir Host kuralı, headers: [{"name": "Host", "value": "{{target_host}}"}] iletin; uygulama doğru siteyi sunar. Değer şablonları Başlıklar bölümündekilerdir.
Anlık Görüntüler (Anlık Görüntüler bölümüne bakın):
| Araç | Ne yapar | Parametreler |
|---|---|---|
publish_snapshot | Bir klasörü yeni bir Genel URL'de Anlık Görüntü olarak yayınlar; böylece makineniz çevrimdışı olduktan sonra erişilebilir kalır. Mümkünse derlenmiş statik çıktıya işaret edin veya LocalCan'ın derlemesi için bir proje köküne işaret edin (bağımlılıklar zaten kurulu olmalıdır). Yeni adresi döndürür. Her zaman yeni bir URL oluşturur; bu nedenle mevcut bir önizlemeyi yenilemek için update_snapshot kullanın. | path gerekli (mutlak), name isteğe bağlı (adresi şekillendirir) |
add_snapshot | Zaten sahip olduğunuz bir Genel URL'ye Anlık Görüntü ekler; böylece mevcut bir bağlantı çevrimdışı sunmaya devam eder. URL'de zaten bir tane varsa update_snapshot işaret eder. | url ve path gerekli |
update_snapshot | Bir Genel URL'deki Anlık Görüntüyü yeniden yayınlar. Aynı kaynaktan yeniden derlemek için path atlayın veya başka bir klasöre yeniden işaret etmek için iletin. URL'de yoksa add_snapshot işaret eder. | url gerekli, path isteğe bağlı |
remove_snapshot | Anlık Görüntüyü bir Genel URL'den kaldırır. URL ayrılmış kalır ve tüneliniz açıkken canlı sunmaya devam eder. Yıkıcı olarak işaretlenmiştir. | url gerekli |
get_snapshot_status | Bir Genel URL'nin Anlık Görüntüsünü bildirir: kaynak klasörü, ne zaman yayınlandığı, kaynağın o zamandan beri değişip değişmediği (bayat) ve URL'nin şu anda canlı mı yoksa anlık görüntüyü mü sunduğu. Ayrıca üzerindeki inceleme yorumlarını (durum ve sayılar) ve yorumlar açıldıktan sonra Anlık Görüntünün sürüm numarasını taşır. | url gerekli |
Erişim kontrolü (Erişim kontrolü bölümüne bakın):
| Araç | Ne yapar | Parametreler |
|---|---|---|
set_password | Bir Genel URL'yi şifreyle korur; böylece yalnızca şifreye sahip kişiler açabilir. LocalCan'ın sunucularında uygulanır; bu nedenle o URL'deki bir Anlık Görüntüyü de kapsar. Bir tane iletmediğiniz sürece güçlü bir şifre üretir ve paylaşabilmeniz için onu döndürür. Bir abonelik planı gerektirir. | url gerekli, password isteğe bağlı (bir tane üretmek için atlayın) |
clear_access | Şifre korumasını kaldırır; URL'yi tekrar herkese açık yapar. URL'yi veya Anlık Görüntüsünü kaldırmaz. Yıkıcı olarak işaretlenmiştir; bu nedenle ana bilgisayarlar genellikle onay ister. | url gerekli |
get_access_status | Bir Genel URL'nin korumasını bildirir ve şifre korumalıysa mevcut şifresini döndürür. Şifre asla list_public_urls tarafından döndürülmez; yalnızca burada. | url gerekli |
Yorumlar (inceleyenlerin bir Anlık Görüntüde bıraktığı inceleme yorumları, Yorumlar bölümüne bakın):
| Araç | Ne yapar | Parametreler |
|---|---|---|
list_comments | Bir Genel URL'nin Anlık Görüntüsündeki yorum iş parçacıklarını yanıtlarıyla birlikte listeler. Her iş parçacığı sayfa yolunu, çapayı (bir CSS seçici ve pimin o öğedeki konumu), inceleyenin görüş alanını ve tarayıcısını ve bırakıldığı Anlık Görüntü sürümünü taşır. Asla hiçbir şeyi okunmuş olarak işaretlemez. | url gerekli, status açık, çözülmüş veya tümü (varsayılan açık), page yol, version sayı |
reply_comment | Hesabınızın adı altında bir iş parçacığına yanıt gönderir. İş parçacığındaki inceleyenler, ekip için yanıt bildirimleri kapalı olmadıkça veya abonelikten çıkmadıkça bunu e-postayla alır. Yalnızca yanıtlar; yeni iş parçacıkları sayfaya sabitlenir. | url, comment_id, body gerekli |
resolve_comment | Bir iş parçacığını, yanıtlar dahil çözülmüş olarak işaretler. | url ve comment_id gerekli |
reopen_comment | Çözülmüş bir iş parçacığını yeniden açar. | url ve comment_id gerekli |
set_comments | Bir Anlık Görüntüdeki yorumları değiştirir: açık, duraklatılmış (mevcut iş parçacıkları okunabilir kalır, yenileri yok) veya kapalı. Korumalı bir URL ve bir abonelik planı gerektirir. | url ve state gerekli |
Geri bildirim döngüsü
Araçlar, bir ajanın kendi başına çalıştırabileceği tek bir döngüye zincirlenir: açık iş parçacıklarını okumak için list_comments, kaynağı düzenlemek, yeni sürümü yayınlamak için update_snapshot, ardından iş parçacığı başına reply_comment ve resolve_comment. Yorumlar yeni sürüme taşınır; böylece inceleyen yanıtı aynı pimde görür. Sunucu bunu ajana kendisi söyler. Ana bilgisayarların ajanın istemine eklediği MCP talimatları, döngüyü, inceleme turu kurulumunu (publish_snapshot, set_password, set_comments) ve sanal ana bilgisayar tarifini açıklar. Bir ajanın yapamayacağı iki şey: bir iş parçacığı başlatmak (inceleyenler bunları sayfaya sabitler) ve iş parçacıklarını okunmuş işaretlemek (okunmamış, uygulamadaki kendi gelen kutusu durumunuzdur).
Bir ajanı bağlama
Nasıl bağlanacağınız, ajanın nasıl çalıştığına bağlıdır. Terminal ajanları (Claude Code, Codex) kabuk PATH'inizi devralır; bu nedenle çıplak bir localcan komutu çalışır. GUI uygulamaları (Cursor, Claude Desktop, VS Code ve diğerleri) kabuk PATH'inizi yüklemez; bu nedenle ikili dosyanın mutlak yoluna ihtiyaç duyarlar, örneğin /Users/you/.localcan/bin/localcan. Masaüstü uygulamasının Ayarları, doğru yol doldurulmuş hazır bir yapılandırmayı kopyalayabilir; bu aynı zamanda Windows'ta güvenilir yoldur.
Claude Code
claude mcp add --scope user localcan -- localcan mcp
--scope user bayrağı sunucuyu her proje için kaydeder. Yalnızca geçerli projede kaydetmek için onu kaldırın.
Codex
codex mcp add localcan -- localcan mcp
Bu, sunucuyu ~/.codex/config.toml konumuna yazar. Codex masaüstü uygulaması veya IDE uzantısı için, localcan yerine mutlak yolu iletin.
Cursor, Claude Desktop ve Windsurf
Bunlar aynı mcpServers biçimini paylaşır:
{
"mcpServers": {
"localcan": {
"command": "/Users/you/.localcan/bin/localcan",
"args": ["mcp"]
}
}
}
Doğru dosyaya ekleyin, ardından yeniden yükleyin:
- Cursor:
~/.cursor/mcp.json, ardından sunucuyu Ayarlar'da etkinleştirin. - Claude Desktop:
claude_desktop_config.json(Ayarlar, Geliştirici, Yapılandırmayı Düzenle), ardından kapatıp yeniden başlatın. - Windsurf:
~/.codeium/windsurf/mcp_config.json, ardından MCP panelini yenileyin.
VS Code
VS Code (Copilot ajan modu) açık bir türle bir servers anahtarı kullanır. Bunu çalışma alanınızdaki .vscode/mcp.json konumuna ekleyin:
{
"servers": {
"localcan": {
"type": "stdio",
"command": "/Users/you/.localcan/bin/localcan",
"args": ["mcp"]
}
}
}
Ayrıca aynı sunucu nesnesiyle code --add-mcp komutunu da çalıştırabilirsiniz.
Zed
Zed, settings.json içinde context_servers kullanır:
{
"context_servers": {
"localcan": {
"source": "custom",
"command": "/Users/you/.localcan/bin/localcan",
"args": ["mcp"]
}
}
}
Ayrıca Ajan Paneli ayarlarından da ekleyebilirsiniz.
Ajan erişimi, redaksiyon ve yazma erişimi
Üçü de masaüstü uygulamasında Ayarlar altında ("AI Ajanları (MCP)" bölümü) veya terminalden kontrol edilir: ajan erişimi için localcan mcp enable / disable, redaksiyon için localcan mcp redact <on|off>, yazma erişimi için localcan mcp access <read_only|read_write> ve geçerli durumu görmek için localcan mcp status.
- Ajan erişimi varsayılan olarak açıktır. Ajanların LocalCan'ı hiç kullanmasını durdurmak için kapatın. Sunucu yine de başlar, ancak tekrar açana kadar her araç net bir "erişim devre dışı" mesajı döndürür.
- Ajanlar için redaksiyon varsayılan olarak açıktır. Hassas başlıklar (Authorization, çerezler, API anahtarları) araç yanıtlarından kaldırılır. URL'ler ve gövdeler redakte edilmez. Kendi ajanınızın ham değerleri almasını istiyorsanız kapatın.
- Yazma erişimi varsayılan olarak kapalıdır. Okuma onsuz çalışır, ancak yazma araçları, uygulamada ("Ajanların Genel URL'ler oluşturmasına ve değiştirmesine izin ver") veya
localcan mcp access read_writeile açana kadar net bir salt-okunur mesaj döndürür. Ajan erişimini açmak yazma erişimi vermez. Bunlar ayrı anahtarlardır. Her yazma çağrısı, ana bilgisayarınızın yakaladığı sunucunun tanılama çıktısına kaydedilir; böylece bir ajanın ne değiştirdiğine dair bir kaydınız olur.set_password'ya iletilen bir parola bu günlükte maskelenir.
Bir araç reddettiğinde
- Her araç bir arka plan programı bağlantı mesajıyla hata verir: LocalCan çalışmıyor. Masaüstü uygulamasını açın veya
localcan start -dkomutunu çalıştırın. list_traffichiçbir şey döndürmez: yakalama kapalıdır (varsayılan olarak kapalıdır ve arka plan programı yeniden başladığında sıfırlanır).localcan traffic enablekomutunu çalıştırın veya ajanınenable_captureçağırmasına izin verin.- "MCP erişimi devre dışı": ajan erişimi kapatılmış.
localcan mcp enablekomutunu çalıştırın veya Ayarlar geçişini çevirin. - "MCP salt-okunur": araç bir şeyleri değiştirir ve yazma erişimi kapalıdır.
localcan mcp access read_writekomutunu çalıştırın veya Ayarlar geçişini açın. - "genel URL'ler bir lisans gerektirir": Genel URL oluşturmak ve eklemek için etkin bir lisans gerekir. Uygulamada veya
localcan license activate <key>ile bir lisans etkinleştirin. - "abonelik planı gerekli": Anlık Görüntüler ve Erişim kontrolü yalnızca aboneliğe özeldir. Sürekli lisans Genel URL'ler açabilir ancak Anlık Görüntü yayınlayamaz veya parola ayarlayamaz. panodan abone olun, ardından yeniden deneyin.
- "zaten bir anlık görüntüsü var" veya "henüz anlık görüntüsü yok": mesajın adlandırdığı aracı kullanın.
add_snapshot, anlık görüntüsü olmayan bir URL'ye Anlık Görüntü ekler;update_snapshot, zaten olanı yeniler. - "Anlık Görüntü sınırına ulaşıldı": planınız aynı anda kaç Genel URL'nin Anlık Görüntü sunabileceğini sınırlar. Mesaj, zaten bir yuva kullanan URL'leri listeler; yeni bir tane yayınlamak yerine bunları
update_snapshotile yenileyebilirsiniz. - "Yorumlar korumalı bir URL gerektirir":
set_comments, Erişim kontrolü olmayan bir URL'de çağrıldı. Önceset_passwordkomutunu çalıştırın. - "Hesabınızın görünen adı yok": bir yanıtın yayınlanması için bir ad gerekir. panoda ayarlayın veya uygulamadan sahibi olarak açtıktan sonra Anlık Görüntü sayfasında bir kez yanıtlayın.
- Ana bilgisayar sunucuyu başarısız veya araçsız gösterir: bir GUI uygulaması
localcan'u PATH'te bulamıyor. Mutlak yolu kullanın, en kolayı Ayarlar yapılandırmasını kopyalayarak.