Contextator
ENTR
Kendi sunucunda · MCP · AGPL-3.0

Ajanına
dokümantasyonunu ver.
Verilerini değil.

Contextator; bağlanmış bir klasörü, bir git deposunu, bir yüklemeyi, bir Notion çalışma alanını, bir Confluence sitesini ve yayındaki bir doküman sitesini proje başına tek bir anlamsal aranabilir MCP endpoint’i hâlinde birleştirir — kendi makinenizde, tek bir Docker konteynerinde.

Satıcı hesabı yok · API anahtarı yok · Varsayılanda dışarı veri çıkışı yok

http://localhost:3444/mcp/handbook
~
docker run -d --name contextator -p 127.0.0.1:3444:3444 \
-v contextator-pgdata:/var/lib/postgresql/data \
-v contextator-models:/app/.cache/models \
-v contextator-data:/data \
-v /path/to/your/docs:/docs:ro \
contextator/contextator
postgres 16 + pgvector hazır
gömme modeli hazır — 384-d, yerel CPU
:3444 dinleniyor
→ setup kodu: docker logs contextator
search_docs("hangi dosya türleri indekslenir")
wiki/FAQ.mdFAQ > Which file types are indexed?
0.851
wiki/Document-Sources.mdDocument Sources > What gets indexed
0.837
… 3 sonuç daha — toplam 5

En iyi eşleşme SEARCH_SCORE_FLOOR’un (0.82) altındaysa tahmin yürütmez, “iyi eşleşme yok” der.

Şunlarla çalışırClaude CodeCursorClaude Desktopher MCP istemcisi
Tek URL üzerinde Streamable HTTP + eski SSE
Sorun

Dokümantasyon dağınık. Ajanınız değil.

Bir ürünün bilgisi gerçekten de bir depoya, bir wiki’ye, bir kasaya ve bir dışa aktarmaya yayılmış durumdadır. Mevcut her çözüm önce bir insanın bunları tek yere toplamasını ister — ki bu asla olmaz.

  1. 01

    Prompt’a yapıştır

    Bağlam penceresiyle sınırlı, yapıştırıldığı anda eskimiş ve ekipteki her geliştirici tarafından yeniden yapılıyor.

  2. 02

    Ajan depoda grep yapsın

    Aynı checkout’taki dokümanlar için iyi. Notion’daki el kitabı, başka bir depodaki API referansı, bir mimarın dizüstündeki kasa için işe yaramaz.

  3. 03

    Barındırılan bir RAG servisi kullan

    Erişimi çözer ama iç dokümantasyonu üçüncü bir tarafa gönderir, ekip başına hesap ister ve sorgu başına ücretlendirir. Birçok kurum için konu burada biter.

  4. 04

    Tek seferlik bir MCP sunucusu yaz

    Her ekip aynı chunker’ı, aynı gömme döngüsünü, aynı artımlı indeksleyiciyi yazıyor — sonra da bakımını üstleniyor.

Adıyla üç alternatif, dürüstçe karşılaştırıldı.

Contextator; Context7, barındırılan bir RAG servisi (Pinecone Assistant) ve yerel bir doküman MCP sunucusu (Grounded Docs) ile yan yana. “Burada Contextator geride” işaretli satırlarda en az biri daha iyi. Başka bir ürüne dair her hücre o ürünün kendi herkese açık dokümanına dayanır; doküman bir şey söylemiyorsa hücre de söylemez.

Karşılaştırma ölçütüContextatorContext7Pinecone AssistantGrounded Docs MCP Server
Nerede çalışırSizin sunucunuzda — çalıştırdığınız tek bir Docker konteyneri.Context7’nin bulutunda. Tüm yığını kendiniz barındırmak, lisans anahtarıyla gelen bir Enterprise seçeneği.Pinecone’un yönetilen servisinde.Sizin makinenizde, npx ya da Docker ile.
İlk yanıta kadar kurulumBurada Contextator gerideKonteyneri çalıştırın, log’a basılan tek seferlik kurulum koduyla ilk hesabı açın, bir proje oluşturun, bir kaynak ekleyin, ilk indekslemeyi bekleyin, sonra istemcinizi projenin MCP URL’sine bağlayın.Uzak MCP URL’sini istemcinize ekleyin. Ücretsiz bir API anahtarı istek sınırlarını yükseltir.Bir asistan oluşturun, dosyaları yükleyin, sonra MCP endpoint’ini bir Pinecone API anahtarıyla bağlayın.Başlatın, sonra her doküman kaynağını CLI, bir MCP tool ya da web arayüzünden ekleyin.
Hazır kütüphane dokümanlarıBurada Contextator gerideYok — yalnız eklediğiniz kaynakları indeksler.Var — herkese açık kütüphanelerden oluşan, kendiliğinden güncellenen ortak bir katalog.Yok — yüklediğiniz dosyalardan yanıt verir.Katalog yok — adını verdiğiniz siteleri, depoları, npm ve PyPI paketlerini çeker.
İç kaynaklarınızYerel klasör, git (token ile özel depolar dahil), yükleme, Notion, Confluence ve herkese açık bir doküman sitesi.Özel GitHub, GitLab, Bitbucket ve diğer git depoları, Confluence ve OpenAPI şemaları — Pro ya da Enterprise planında.Yüklediğiniz dosyalar.Yerel klasörler, zip arşivleri, web siteleri ve GitHub depoları.
Dosya biçimleriBurada Contextator gerideMarkdown, MDX, HTML, PDF, Word, CSV ve düz metin, arşiv içindekiler de; OpenAPI, Obsidian ve Notion dışa aktarımları ayrıca tanınır.Markdown, MDX, reStructuredText, düz metin ve Jupyter defterleri; yalnız depoda doküman azsa kaynak koddan örnek üretilir.PDF, Word, Markdown, düz metin ve JSON.Daha geniş — PDF, Word, Markdown ve MDX’e ek olarak Excel, PowerPoint, OpenDocument, EPUB, Jupyter defterleri ve kaynak kod.
Belgeleriniz nereye giderSunucunuzda kalır — gömmeleri OpenAI’ye geçirirseniz ona giden metin hariç.Barındırılan hizmette Context7’ye. Kendi sunucunuzda: yalnız ayrıştırma, gömme, yeniden sıralama ya da kaynak koddan doküman üretimi için gereken içerik, seçtiğiniz yapay zekâ sağlayıcısına.Pinecone’a yüklenir; parçalara ayırma, gömme ve saklama orada yapılır.Makinenizde kalır; yalnız yapılandırdığınız gömme sağlayıcısına metin gider — anahtarı tanımlıysa varsayılan OpenAI’dir.
Sizin yerinize işletilir miBurada Contextator gerideHayır — güncelleme, yedek ve erişilebilirlik sizde.Evet, barındırılan hizmette.Evet.Hayır — sizin makinenizde çalışır.
LisansAGPL-3.0-or-later ya da ticari bir lisans.MCP sunucusu MIT; API backend’i, ayrıştırıcısı ve tarayıcısı kapalı.Pinecone’un şartlarıyla yönetilen bir servis; yerel MCP sunucusu açık kaynak.MIT.

Kaynaklar: Context7, Pinecone Assistant, Grounded Docs MCP Server. Dokümanlar 25 Eylül 2026’da okundu.

Nasıl çalışır

Altı tür kaynak girer. Tek URL çıkar.

Bir index run her kaynağı senkronlar, sonucu gezer, her dosyayı başlıkları boyunca parçalara böler ve parçaları belgesinin yanına gömer. Sorunuz aynı yolu tersten kat eder — hem anlam hem birebir sözcük olarak.

Kaynaklar
yerel dizingit deposuyükleme / arşivnotion çalışma alanıconfluencedoküman sitesi
Index run
sync · tarama · sha256başlıklarda böl, breadcrumb’ı koruCPU’da, gruplar hâlinde göm
değişmeyen → atlanır
Depolama
Konteyner içinde PostgreSQL 16 + pgvectorYan yana HNSW vektör indeksi ve tsvector GIN127.0.0.1, dışarı açılmaz
Endpoint/mcp/billing
search_docslist_topicsread_document

Artımlı. Dosyalar hash’lenir. Değişmemiş bir koleksiyonun yeniden indekslenmesi sıfır gömme yapar.

İzole. Her sorgu projeyle sınırlıdır; bir projeye verilen oturum bir başkasında reddedilir.

Gözlenebilir. Her koşu; kipi, sayıları, süresi ve hatasıyla birlikte kaydedilir.

Kaynaklar

Dokümanların zaten durduğu yeri göster.

Bir proje aynı anda istediğiniz kadar kaynak tutabilir. Her biri kendi başına senkronlanır ve kendi başına hata verir — bozulan bir kaynak indeksi asla boşaltmaz.

Yerel dizin

Konteynere bağlanan ve yerinde taranan bir klasör. Hiçbir şey kopyalanmaz, salt okunur bağlanır.

handbook/install.md

Git deposu

HTTPS üzerinden tek dallı, sığ bir checkout. Token’la özel depolar, isterseniz yalnızca bir alt dizin, push webhook ile yeniden indeksleme.

api-repo/reference/auth.md

Yüklemeler ve arşivler

Dosyaları, tüm klasörleri ya da bir .zip, .tar veya .rar dosyasını panoya bırakın. Dizin kaçışı ve sıkıştırma bombası korumalarıyla açılır.

spec-2024/overview.md

Obsidian kasası

Ayrı bir kaynak değil, bir yükleme, klasör ya da depo üzerinde çalışan bir content-type dönüşümü: her biçimiyle wikilink’ler, callout’lar ve %%yorumlar%% tek bir parça kesilmeden önce sıradan Markdown’a düzleştirilir.

vault/architecture.md

Notion çalışma alanı

Entegrasyonunuzla paylaşılan her sayfa Markdown’a dönüştürülür ve last_edited_time ile senkron tutulur.

notion/onboarding.md

Confluence

Belirttiğiniz alanlardaki (space) her sayfa, wiki’deki iç içe yapısıyla Markdown’a dönüştürülür. Confluence Cloud ya da Data Center 7.9 ve sonrası — Confluence Server hariç.

wiki/eng/runbooks.md

Doküman sitesi

Yayındaki bir site; sitemap’i, llms.txt’si ya da tek bir başlangıç URL’sinden tarama ile bulunur. Yalnız herkese açık sayfalar; yüklenen HTML’in geçtiği dönüşümden geçer, koşullu GET’lerle yeniden çekilir.

vendor-docs/guide/install.md
Bağlama öneki

Her yol, nereden geldiğini söyler

Bir kaynağın adı, katkıda bulunduğu her belgenin ilk segmentidir. Ajana bir cevabın hangi depodan geldiğini söyleyen de, iki kaynağın aynı dosya adını taşıyabilmesini sağlayan da budur.

MCP yüzeyi

Üç araç. Bilerek salt okunur.

Ajan küçük ve kendini tarif eden bir yüzey alır — böylece araç adı vermek yerine soru sorarsınız. Karmaşıklık, bir insanın baktığı yerde, panoda durur.

search_docs(query, limit, source, path_prefix, version)

Projenin parçaları üzerinde hibrit arama — anlam ve birebir sözcük, sıralarıyla birleştirilir; böylece bir ortam değişkeni de en az bir soru kadar kolay bulur sayfasını. Her biri dosya yolu, başlık breadcrumb’ı ve skoruyla sıralanmış alıntılar; source, path_prefix ve version aramayı tek kaynağa, tek dizine ya da tek sürüme daraltır.

  • salt okunur
  • idempotent
  • limit 1–20
list_topics(cursor, limit)

Projenin tuttuğu her şey; dizine göre gruplanmış, başlıkları, parça sayıları ve her belgenin geldiği kaynakla birlikte. Ajanın aramadan önce neyin var olduğunu öğrenmek için çağırdığı araç — sayfalanır, böylece bin belgelik bir proje de sonuna kadar listelenir.

  • salt okunur
  • kapalı dünya
read_document(path, heading, from, to, max_tokens)

İndekslenmiş tek bir dosya; diskten değil veritabanından sunulur, dolayısıyla dosya taşınsa da okunur. Arama sonucundan aldığınız bir başlık breadcrumb’ını verirseniz yalnız o bölümü, from/to verirseniz bir parça aralığını okur. Yalnızca o proje için indekslenmiş yollar sunulur, asla rastgele bir dosya sistemi yolu; cevap max_tokens ile sınırlıdır ve nerede kestiğini söyler.

  • salt okunur
  • yol sınırlı

Bir ajan yazamaz, başka bir projeye erişemez, indekslenmemiş bir dosyayı okuyamaz ve bir index run tetikleyemez. İndeksleme bir operatör eylemi olarak kalır — pano, API ya da webhook.

Pano

Ajanınızın yaptığı aramanın aynısı, gözünüzün önünde.

Pano, bir ajanın search_docs’a göndereceği sorguyu gönderir ve dönen her şeyi gösterir: dosyayı, başlığı, her alıntıyı erişimin hangi yarısının bulduğunu ve ham skoru. Eşiği geçen bir şey yoksa bunu açıkça söyler.

Contextator panosu, wiki projesi: arama paneli “how do I connect Claude Code to a project” sorgusuna sıralanmış alıntılarla cevap veriyor; başta “4. Connect your agent” başlığı altındaki Quick-Start.md var, her alıntıda dosya yolu, başlık breadcrumb’ı, vektör ve sözcük sıraları ile cosine skoru görünüyor.Ekran görüntüsünü tam boyutta aç
Wiki’nin cevapladığı bir soru. En üstteki alıntıyı vektör araması birinci, sözcük araması ikinci sıraya koydu; her alıntı, ajanın read_document’a verdiği yolu ve başlığı taşır.
Aynı pano “weather forecast for tomorrow in Istanbul” sorgusunu cevaplıyor: en iyi alıntının skoru SEARCH_SCORE_FLOOR=0.82’nin altında kaldığı için kehribar renkli bir uyarıda “Below the relevance floor” yazıyor; ilgisiz alıntılar incelemek için altında listelenmeye devam ediyor.Ekran görüntüsünü tam boyutta aç
Cevaplayamadığı bir soru. search_docs ajana en yakın sayfayı vermek yerine “iyi eşleşme yok” der; pano alıntıları yine de listeler ki eşiği kendiniz değerlendirebilesiniz.

Contextator’ın main branch’inden kurulmuş yerel bir kurulumdan alındı; indekslenen, projenin kendi wiki’si: 28 belge, 1.319 parça, multilingual-e5-small ile yerelde gömüldü. Kırpıldı, düzenlenmedi — her yol, sıra ve skor o kurulumun döndürdüğüdür.

Neden kendi sunucunda

İşe yarar bir kurulum ne API anahtarı ister ne de dışarı bağlantı.

Varsayılanda yerel

Gömmeler, 384 boyutlu çok dilli bir modelle kendi CPU’nuzda hesaplanır. Model bir kez önbelleğe alındıktan sonra varsayılan kurulum hiçbir dış çağrı yapmaz.

Hayır diyebilen hibrit arama

Anlam ve birebir sözcük aynı anda aranır ve sıralarıyla birleştirilir; böylece HALYARD_DISPATCH_TIMEOUT da en az bir soru kadar kolay bulur sayfasını. İlgi eşiğinin altında — varsayılan olarak 0.82 kosinüs benzerliği — bir ajanın alıntılayacağı bir sonucu uzatmak yerine “iyi eşleşme yok” der.

Proje bazında izole

Ayrı belgeler, ayrı gömmeler, ayrı oturumlar. /mcp/billing adresine bağlı bir istemci /mcp/mobile’ı asla göremez.

Artımlı indeksleme

Her dosya ham baytlarının sha256’sını taşır. Yeniden indeksleme yalnızca değişene dokunur; böylece her merge’de çalışan bir push webhook ucuz kalır.

Çok dilli erişim

Türkçe dâhil 100 dil; 384 boyutlu, kendi CPU’nuzda çalışan bir model. Soruyu cevabın yazıldığı dilde sorun: diller arası eşleşme ölçülmüş bir model sınırıdır, açılıp kapanan bir ayar değil.

Spesifikasyon, endpoint’lerine ayrılır

Bir OpenAPI ya da Swagger dosyası operasyon başına bir belge olarak indekslenir — yol, method, parametreler, şemalar, örnekler — böylece arama, üç yüz operasyon barındıran dosyayı değil GET /pets/{petId} belgesini döndürür. Aynı projedeki iki sürüm karışmaz: version: "v3" birini seçer.

Tek konteyner

pgvector’lu PostgreSQL 16 imajın içinde gelir ve yalnızca loopback’i dinler. Kurulacak veritabanı yok, çalıştırılacak migration komutu da yok.

Eski ve yeni istemciler

Streamable HTTP ve eski HTTP+SSE taşıması aynı adreste sunulur. İstemci hangisini konuşuyorsa onu seçer; siz hiçbir şey yapılandırmazsınız.

3
MCP aracı
6
Kaynak türü
384
Vektör boyutu
100
Dil
1
Çalıştırılacak konteyner
0
Bayt dış veri çıkışı
Hızlı başlangıç

Sıfırdan cevaplanmış bir soruya yaklaşık on dakika.

Compose’lu Docker ve bir Markdown klasörü. Hepsi bu — veritabanı konteynerin içinde gelir ve tek yavaş adım yalnızca bir kez yaşanır.

  1. 01Konteyneri başlatın.
  2. 02Bir proje oluşturup dokümanlarınızı gösterin.
  3. 03Panonun yazdırdığı bağlantı parçasını kopyalayın.
  4. 04Ajanınıza dokümantasyonunuzun cevapladığı bir soru sorun.
Hızlı başlangıcı oku
Sunucudabash
mkdir contextator && cd contextator
curl -fsSLO \
https://raw.githubusercontent.com/Contextator/Contextator/main/docker-compose.yml
curl -fsSLO \
https://raw.githubusercontent.com/Contextator/Contextator/main/.env.example
cp .env.example .env
docker compose up -d
→ pano http://localhost:3444/ adresinde
Projenizdeclaude code
claude mcp add --transport http demo-docs \
http://localhost:3444/mcp/demo
demo-docs bağlandı — 3 araç

Cursor ve Claude Desktop parçalarını pano, içi doldurulmuş hâlde yazdırır.

Sınırlar nerede

Yapmadığı şeyler konusunda dürüst.

Contextator tek bir kurulum biçimi için tasarlandı: kendi ağınız, kendi operatörünüz. Dokümantasyon bunu açıkça söylüyor, bu sayfa da söylüyor.

Korunan taraf: root, admin ve member rolleriyle hesaplar; AES-256-GCM ile şifrelenen ve bir daha asla okunamayan kaynak token’ları; herhangi bir şey kuyruğa alınmadan önce ham gövdeye karşı doğrulanan kaynak başına webhook secret’ları; her okumada yol sınırlaması.

  1. Yeni bir proje ilk saniyeden kapalıdır

    Bir proje oluşturmak ilk MCP token’ını üretir ve sırrı bir kez gösterir — endpoint varsayılan olarak bunu şart koşar. Proje başına açık hâle getirilebilir, ya da hesap şart koşacak şekilde değiştirilebilir; bu durumda projenin kendi üyelikleri OAuth 2.1 üzerinden endpoint’e ulaşır ve her istekte yeniden denetlenir.

  2. Metin; metnin resmi değil

    Markdown, MDX ve düz metin oldukları gibi indekslenir; HTML, Word, CSV ve PDF kenarda Markdown’a çevrilir. OCR yoktur: taranmış bir PDF, şifreli bir PDF ya da tamamı görsel olan bir Word dosyası yarım indekslenmek yerine adıyla reddedilir.

  3. Soruyu, sayfanın yazıldığı dilde sorun

    Erişim 100 dili kapsar ama diller arasında geçiş yapmaz. Sınırı aşmak için yazılmış otuz sorudan dördü ilk beşte cevaplanıyor — bu, gömme modelinin ölçülmüş bir özelliğidir ve burada başka türlü sunulmuyor.

  4. Projeler arası arama yok

    Projeler baştan sona ve bilerek izoledir. Aynı soruya ait iki bilgi gövdesi, iki proje değil, tek bir projenin iki kaynağı olur.

  5. Prompt injection filtrelenmez

    Contextator belgelerinizi sadakatle döndürür; niyeti temizlemez. İndekslediğiniz külliyatı güvenilir girdi olarak görün, çünkü öyle oluyor.

Lisanslama

Özgür yazılım. Ticari olarak da lisanslanabilir.

Contextator kapatılamaz. Çalışan her kurulum lisans metninin tamamını /license.txt adresinde sunar.

Açık kaynak

GNU AGPL v3 veya sonrası

Çalıştırın, inceleyin, değiştirin, paylaşın. Şirketinizin içinde kullanmanız sizden hiçbir şey istemez. Değiştirdiğiniz sürüme başkaları ağ üzerinden erişiyorsa, o kullanıcılara kaynağını borçlusunuz.

Kaynağı GitHub’da oku
Ticari

Ayrı bir lisans

Politikası AGPL yazılıma izin vermeyen ya da Contextator’ı kapalı bir ürünün içinde dağıtması gereken kurumlar için. Telif hakkı sahibi tarafından verilir.

tunedness.com üzerinden sor
SSS

Kısa, kendi başına yeten cevaplar.

İlk docker compose up'tan önce sorulacak altı soru.

Contextator nedir?

Dokümantasyonunuzu — bir klasörü, bir git deposunu, bir yüklemeyi, bir Notion çalışma alanını, bir Confluence sitesini ya da yayındaki bir doküman sitesini — proje başına tek bir aranabilir endpoint’e çeviren, kendi sunucunuzda tek bir Docker konteynerinde çalışan bir MCP sunucusu.

Dokümantasyonumu bir yere gönderiyor mu?

Hayır. Gömmeler varsayılan olarak kendi CPU’nuzda hesaplanır ve veritabanı aynı konteynerin içinde çalışır. Hiçbir uzak kaynak yapılandırılmadığında, tek dışa giden trafik modelin bir kerelik indirmesidir.

API anahtarı ya da hesap gerekir mi?

Satıcı hesabı da API anahtarı da gerekmez — ama bir projenin MCP endpoint’i geldiği hâliyle kapalıdır. Bir proje oluşturmak ilk bearer token’ını üretir ve onu bir kez gösterir; istemci her istekte bunu gönderir. Portun kendisi yalnızca 127.0.0.1’de yayınlanır. Her projenin endpoint’i için üç ayar vardır: varsayılan olan token; OAuth 2.1 ile oturum açan bu kurulumun bir hesabı; ya da bilerek seçtiğiniz açık mod. Pano ise ayrı: ilk çalıştırmada, konteyner loglarına basılan tek kullanımlık bir kurulum koduyla yerel bir hesap oluşturur — kurulum kendi örneğinizde kalır, araya hiçbir satıcı girmez.

Hangi MCP istemcileri çalışır?

MCP konuşan her istemci. Bu site Claude Code, Cursor ve Claude Desktop’ı adım adım anlatıyor; hepsi aynı URL’ye Streamable HTTP ya da eski HTTP+SSE taşımasıyla bağlanır.

Neyi indeksleyebilir?

Altı tür kaynak — yerel bir klasör, bir git deposu, bir yükleme, bir Notion çalışma alanı, bir Confluence sitesi ve sitemap’inden okunan herkese açık bir doküman sitesi — tek bir projede birleşir. Markdown, MDX ve düz metin oldukları gibi indekslenir; HTML, Word, CSV ve PDF dosyaları indekslenirken Markdown’a çevrilir; bir OpenAPI ya da Swagger spesifikasyonu operasyon başına bir belgeye dönüşür. OCR yoktur: taranmış bir PDF ya da bir görsel kapsam dışıdır, indekslenmek yerine raporlanır.

Ücretsiz mi? Ticari olarak kullanabilir miyim?

İkisi de evet. Contextator AGPL-3.0-or-later ile dağıtılır, yani değiştirmediğiniz yazılımı çalıştırmak — bir şirketin içinde bile — hiçbir ücret istemez ve sizden hiçbir şey talep etmez; lisans, ancak değiştirdiğiniz bir sürüme başkalarını ağ üzerinden eriştirirseniz karşılığında kaynak ister. AGPL’e izin vermeyen ya da onu kapalı bir ürünün içine gömmesi gereken herkes için ayrı bir ticari lisans mevcuttur.

Dokümantasyonunuz zaten yazılmış. Bırakın ajan okusun.

Tek bir docker compose up -d, tek bir proje, tek bir URL — ve ekipteki her ajan tahmin etmeyi bırakır.

AGPL-3.0-or-later · Docker · PostgreSQL 16 + pgvector · Node.js 22

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