Contextator
ENTR

Kaynaklar

Projeler

Her şeyin ait olduğu birim — bir proje nasıl oluşturulur, MCP erişimi nasıl kontrol edilir, durumları nasıl okunur, nasıl yeniden indekslenir ya da silinir.

Güncelleme:

Bir proje, Contextator’daki her şeyin birimidir: dokümanlarını, gömmelerini, indeksleme geçmişini ve tam olarak bir MCP endpoint’ini sahiplenir. Bir projeye bağlı istemci bir başkasının dokümanlarını asla göremez.

Ajanlarınızın soru sorduğu her bilgi bütünü için bir proje açın — genelde ürün başına, takım başına ya da müşteri başına.

Bir proje oluşturmak

Panoda New project’e basın (ya da yalnızca n yazın).

Alan Kurallar
Project name Küçük harf, rakam, - ve _; bir harf ya da rakamla başlar, en fazla 63 karakter. Benzersiz olmalı
Documentation directory Opsiyonel. İzin verilen bir kök içindeki klasör (/docs/...), projenin ilk kaynağı olur
Index now Bir ilk indeksleme çalıştırmasını hemen kuyruğa alır

Ad URL’niz olur, bu yüzden ajan ayarlarına yapıştırmaktan memnun olacağınız bir şey seçin:

http://localhost:3444/mcp/<project-name>

Adı dikkatli seçin. Bir projeyi yeniden adlandırmak, eski URL ile ayarlanmış her istemciyi kırar, bu yüzden onu kalıcı sayın. Pratikte yeniden adlandırmak için: yeni bir proje oluşturun, aynı kaynakları ekleyin ve istemcilerinizi güncelleyin.

Bir projeyi klasörsüz oluşturmak tamamen normaldir — sonradan Add source ile git depoları, yüklemeler ya da Notion ekleyebilirsiniz.

New project yalnızca root ve admin hesapları için görünür, Delete da öyle — yeni bir /mcp/<name> yüzeyi, örnek düzeyinde bir karardır. Bir member hesabı, proje sayfasında Members altında eklendiği projeler içinde çalışır; bkz. Hesaplar ve İzinler.

Bir projenin içinde ne var

project "handbook"
├── source "policies"   (local directory)   → policies/onboarding.md
├── source "api"        (git repository)    → api/reference/auth.md
└── source "notion"     (Notion workspace)  → notion/Engineering/Runbooks.md

Her doküman yolu, geldiği kaynağın adıyla başlar. İki kaynağın aynı anda README.md içermesine izin veren de, bir ajanın yanıtının nereden geldiğini söylemesini sağlayan da budur. Bkz. Belge Kaynakları.

MCP erişimi

Yeni bir projenin endpoint’i varsayılan olarak token required’dır: onu oluşturmak ilk token’ını üretir ve gizli anahtarı oluşturma diyaloğunda bir kez gösterir, böylece endpoint ilk saniyeden itibaren kapalıdır. Bu varsayılan olmadan önce, yeni bir proje open’dı — hesap ya da token olmadan URL’sine ulaşabilen herkese yanıt verirdi — ve güncelleme, zaten var olan bir projenin modunu geriye dönük olarak değiştirmez. Modun her iki yönde de değiştiği yer, proje sayfasındaki MCP access panelidir:

Mod Ne anlama gelir
open http://localhost:3444/mcp/<project-name>’e ulaşan her istemci projeyi arayabilir ve okuyabilir
token required Yalnızca Authorization: Bearer ctxm_… gönderen bir istemci yanıtlanır; geri kalan her şey 401 alır
account required Yalnızca bu projenin üyesi olan bir hesap adına davranan bir istemci yanıtlanır; her istekte yeniden denetlenir

Üçü bu sırayla daralır ve daralttıkları şey, kimseyi adlandırmayan çağrıcıdır — anonim bir istek ya da statik bir ctxm_… token. Bir hesabı adlandıran kimlik bilgisi ise open dâhil her modda, her istekte o hesabın üyeliğine karşı denetlenir: üye olmayan, mod ne derse desin 403 alır; bir üyeliği kaldırmak ya da bir hesabı devre dışı bırakmak bağlantıyı bir sonraki çağrısında keser. İstemci böyle bir kimlik bilgisini OAuth 2.1 üzerinden alır; tarayıcı tabanlı MCP connector’larının zaten konuştuğu şey budur. account required ise anonim hiçbir yol bırakmayan moddur; statik bir token orada bu yüzden reddedilir.

Modu değiştirmek proje üzerinde manager hakları gerektirir — pratikte bir root ya da admin hesabı. Token üretmek ve iptal etmek bir editor’ün işidir; projeyi görebilen herkes, tokenlarının listesini adlarıyla görür. Hangisi ne: Hesaplar ve İzinler.

New token, gizli değeri yalnızca bir kez, oluşturulduğu anda gösterir. Sunucu yalnızca onun bir hash’ini saklar, bu yüzden kopyalanmamış bir token kurtarılamaz, yalnızca değiştirilebilir. Sonrasında liste yalnızca adını, ilk birkaç karakterini (ctxm_9f3a…) ve en son ne zaman kullanıldığını gösterir.

Bir projeyi token required’a çevirmek açık MCP oturumlarını kapatır, bir token’ı iptal etmek de öyle — istemcinin bir sonraki isteğinde değil, hemen. Token gerektiren ve hiç tokenı olmayan bir proje ulaşılamaz olur, bu yüzden endpoint’in hazır olduğunu birine söylemeden önce ilk token’ı üretin.

Netleştirilmesi gereken bir şey: bir token, o endpoint için bir kimlik bilgisidir, bir hesap değil. Hiçbir kimlik ve doküman bazlı kural taşımaz, bu yüzden onu elinde bulunduran kişi projede indekslenen her şeyi okur. Her istemciye kendi token’ını verin, böylece biri diğerlerini rahatsız etmeden iptal edilebilir. Bir istemcinin bunu nasıl gönderdiği: Yapay Zekâ İstemcilerini Bağlamak.

Durumlar

Durum Anlamı
idle Hiçbir şey çalışmıyor. Son çalıştırma başarılı oldu
queued İndeksleyiciyi bekliyor; o aynı anda tek bir projeyi işler
indexing Şu anda senkronize ediyor, tarıyor ya da gömüyor
error Son çalıştırma başarısız oldu, ya da kaynaklardan biri senkronize olamadı. Neden gösterilir

Bir kaynaktan kaynaklanan error durumu hiçbir şeyin çalışmadığı anlamına gelmez: diğer kaynaklar yine indekslendi, ve mesaj şöyle okunur: 2/3 sources synced; notion: <reason>.

Yeniden indeksleme

Ne zaman kullanılır
Re-index Normal durum. Her kaynağı senkronize eder ve yalnızca içeriği değişen dosyaları yeniden gömer
Force re-index Chunk ayarlarını değiştirdikten sonra, ya da indeksin hashleme’nin göremeyeceği bir şekilde bayat olduğundan şüphelendiğinizde

Contextator, gömme modeli değiştiğinde de kendiliğinden tam bir yeniden indeksleme zorlar — bkz. Gömme Modelleri.

Bir çalıştırma sırasında ne olduğunun ayrıntıları: İndeksleme.

Silme

Delete (onaylamak için iki kez) projeyi, kaynaklarını, dokümanlarını, chunk’larını ve çalıştırma geçmişini kaldırır, açık MCP oturumlarını kapatır ve DATA_DIR altında somutlaştırdığı dosyaları (git checkout’ları, yüklemeler, Notion çekimleri) siler.

Kendi dosyalarınıza asla dokunulmaz: /docs’a bağlanan dokümantasyon salt okunurdur, ve local directory kaynakları olduğu yerde taranır.

Proje indekslenirken silme reddedilir — çalıştırmanın bitmesini bekleyin.

Birden fazla proje

İndeksleyici aynı anda tek bir projeyi işler, çünkü gömme CPU’ya bağlıdır. Kuyruktaki bir proje hangi projeyi beklediğini gösterir. Bir dağıtımın kaç proje tutabileceğine dair bir sınır yoktur; her biri yalnızca başka bir URL’dir.

Gezinmek için ok tuşları, açmak için Enter.