Ajanın siteyi yazdı. Yayına almayı da ona bırak.
harvis.dev uzak bir MCP sunucusudur. Bir kez bağla, yapay zekâ istemcin bir klasör dolusu dosyayı yayına alıp canlı adresi geri veren bir deploy_site aracı kazansın — hesap yok, API anahtarı yok, kurulacak bir şey yok.
Yapay zekâ istemcisi ile servis arasındaki standart fiş
Model Context Protocol, bir asistana yapabileceği eylemleri vermek için açık bir standarttır. Ajanının dosyalar zaten var ve ne istediğini biliyor; eksik olan, sohbetin dışında bir şey yapabilmesi. MCP sunucusu tam da bunu verir — adlandırılmış bir araç listesi, her biri modelin ne zaman uzanacağını bilecek kadar iyi anlatılmış. harvis.dev tam olarak bir araç yayınlar, o da site yayınlar.
Sunucuyu bir kez bağla
İstemcinin config dosyasına bir URL ya da terminalde tek bir komut. Sonrasında bağlantı her sohbette yerinde kalır.
Model bir API değil, bir araç görür
Hatırlanacak endpoint yok, kurulacak curl yok, yapıştırılacak anahtar yok. deploy_site ne yapıyor okur ve istediğin şey yayınlamaksa onu çağırır.
Sohbetten hiç çıkmazsın
Bir açılış sayfası iste, aynı yanıtta canlı adresi al. Arada dışa aktarma, yükleme adımı ya da build hattı yok.
Tek URL, her MCP istemcisi
Streamable HTTP, kimlik doğrulama yok. Uzak MCP destekleyen istemciler adresi olduğu gibi alır; Claude Desktop gibi yalnızca stdio konuşanlar mcp-remote üzerinden köprü kurar. Kendininkini seç ve bloğu kopyala.
https://harvis.dev/api/mcp
$ claude mcp add --transport http harvis https://harvis.dev/api/mcpTest it from a terminal
Not sure the address is reachable from where you are? The MCP Inspector asks the server what tools it has, over the same transport a client uses — nothing to install, and no account. If deploy_site comes back, the server is fine and anything still broken is in your client's config.
$ npx -y @modelcontextprotocol/inspector --cli https://harvis.dev/api/mcp --transport http --method tools/list{
"tools": [
{
"name": "deploy_site",
"description": "Publish a static website to harvis.dev and get a live public URL back instantly...",
"inputSchema": {
"type": "object",
"properties": { "files": { ... }, "name": { ... }, "subdomain": { ... } },
"required": ["files"]
}
}
]
}Rather install from a directory? harvis is listed on Glama's MCP registry, pointing at the same server URL.
Tek araç, ve tek bir iş yapıyor
deploy_site sitenin ihtiyacı olan her dosyayı alıp yayınlar. Yollar site köküne göredir ve eğik çizgi kullanır; bir index.html ekle. Metin olduğu gibi, görseller ve diğer ikili dosyalar base64 olarak gider.
| alan | tür | ne olduğu |
|---|---|---|
| files | array · zorunlu | Sitenin her dosyası: bir yol, içeriği ve text ya da base64 kodlaması. Toplamda 500 dosya ve 50 MB'a kadar. |
| name | string | Panoda görünen, okunabilir bir site adı. Web adresi her hâlükârda üretilir. |
| deployToken | string | Bir sitenin özel token'ı; siteyi oluşturan dağıtım tarafından döndürülür. Geri gönderirsen yeni bir site açmak yerine o site yerinde güncellenir. |
| subdomain | string | Güncellenen sitenin adresi. İsteğe bağlıdır ve yalnızca deployToken ile birlikte kabul edilir — tek başına hiçbir şey kanıtlamaz, dolayısıyla bir güncellemeye izin veremez. |
Herkese açık bir bağlantı, bir de özel
Araç, modelin sana okuduğu bir metin döndürür. Canlı URL herkese açıktır ve paylaşmaya hazırdır. Sahiplenme bağlantısı özeldir: aç, ücretsiz giriş yap, site hesabına bağlansın; orada düzenleyebilir ya da silebilirsin. O ana kadar site anonimdir ve sahiplenilmemiş bir site son dağıtımdan 24 saat sonra geri alınır — bağlantıyı aynı gün aç, çünkü kaybolursa geri getirilemez.
Site deployed successfully. Live site: https://happy-panda-482.harvis.page Claim link (private): https://harvis.dev/claim/xxxxxxxx-... Subdomain: happy-panda-482 Deploy token (private): xxxxxxxx-xxxx-... Files hosted: 7
Aynı siteyi değiştirmek için yeniden dağıt
Her dağıtım özel bir deployToken da döndürür. Sonraki bir çağrıda geri ver, aynı site adresini koruyarak yerinde değiştirilsin — sahiplenmeden önce de sonra da çalışır. Vermezsen yeni adreste yeni bir site alırsın; üzerine yazmak yerine karşılaştırmak istediğin ikinci taslak için istediğin de budur.
Sorular
İnsanların yapılandırmayı yapıştırmadan önce sorduğu şeyler.
Hesap gerekiyor mu?
Hayır. MCP sunucusu hiçbir kimlik bilgisi almaz ve oradan yapılan bir dağıtım anonimdir — sahiplenme bağlantısı bu yüzden gelir. Kayıt ücretsizdir ve yalnızca siteyi 24 saatten uzun tutmak ya da sonradan yönetmek istiyorsan gerekir.
Ajanım bununla başka bir şey yapabilir mi?
Hayır. deploy_site sunucunun açtığı tek araçtır ve verdiğin dosyaları yayınlamaktan başka bir şey yapmaz. Hesabını okuyamaz, kimsenin sitelerini listeleyemez, hiçbir şeyi silemez. harvis.dev'deki diğer her şey HTTP API üzerinde bir hesap anahtarının arkasındadır ve bu sunucu oraya dokunmaz.
İstemcim uzak MCP sunucularını desteklemiyor.
O hâlde stdio konuşuyordur ve mcp-remote ikisini birbirine bağlar — yukarıdaki Claude Desktop ve Zed blokları tam olarak budur. Makinende Node.js dışında hiçbir şey gerekmez; npx köprüyü ilk çalıştırmada indirir.
Neleri barındırabilir?
Statik dosyalar: HTML, CSS, JavaScript, görseller, yazı tipleri, tarayıcının çekebildiği her şey. Sunucu tarafı kod çalıştırılmaz. Formlar istisnadır — bir forma harvis-form özniteliğini ekle, gönderiler kendi arka ucun olmadan panona düşsün.
Bunu MCP istemcisi olmadan kullanabilir miyim?
Evet. Komut çalıştırabilen bir ajan npx harvis ile yayınlar; yalnızca HTTP isteği yapabilen bir ajan dosyaları anahtarsız olarak /api/upload adresine POST edebilir. Her iki yol da /llms.txt sayfasında yazılıdır — bunun için aracı olmayan bir asistana verilecek sayfa odur.
Ortalıkta ajan yok mu?
Aynı dağıtım terminalinden, tarayıcıdan ya da bir betikten de olur — MCP sunucusu içeri açılan kapılardan biri, tek kapı değil.