Lacuna Research

resmi

Kodlama ajanları için ML araştırmalarının salt okunur haritası: makaleler, araştırma yönleri, yazarlar, yayınlar, kurumlar ve hipotezler; her biri kaynaklarına bağlantılıdır. Barındırılan, kimlik doğrulama gerektirmez; ayrıca bir PyPI paketi.

Lacuna Research MCP ile neler yapabilirsiniz?

  • Kodu makalelere kadar izleyin — Bir GitHub deposunun hangi makaleyi uyguladığını sorun ve kaydedilmiş official_code_for ilişkisini izleyerek makaleye ve kaynaklarına ulaşın.
  • Literatürü arayın — search_lacuna ile makale araması yapın, ardından özet, yazarlar ve şekillerin yer aldığı kısa bir bağlam görünümü için bir sonucu get_paper ile açın.
  • Bağlantılı kaynakları bulun — search_lacuna ile kod tabanlarını, veri kümelerini, modelleri veya demoları arayın ve bağlantılı makaleleri ve boyutları incelemek için birini get_resource ile görüntüleyin.
  • Araştırma yönlerini keşfedin — Bir yönün özetine bakın ve ekli makaleleri get_direction_papers ile sayfalar arasında gezinerek inceleyin.
  • Oluşturulan önerileri gözden geçirin — search_type="hypothesis" ile önerileri arayın ve döndürülen bir öneriyi bulgu olarak değil, araştırılacak bir fikir olarak get_hypothesis ile okuyun.
  • Araştırmacıların ve yayın mecralarının profilini çıkarın — Bir yazarın bağlamını, makalelerini, yönlerini veya komşularını inceleyin; yayın mecralarını ve kurumları karşılaştırın.

Barındırılan MCP Sunucusu

npx add-mcp 'https://lacuna.tiptreesystems.com/api/mcp'

Claude Code, Codex, Cursor ve daha fazlasına kurulur

Dokümantasyon

Lacuna Research MCP — Empower your coding agent for machine learning research

Python 3.11+ MCP server MIT license

Lacuna Research MCP

Tiptree Systems tarafından geliştirilen Lacuna, makine öğrenimi alanının bir araştırma haritasıdır: makaleleri, araştırma yönelimlerini, yazarları, yayın mecralarını, kurumları ve oluşturulmuş araştırma önerilerini birbirine bağlayan heterojen bir bilgi grafiğidir. Türetilmiş her nesneden, onu oluşturan tam makaleye ve sayfaya kadar uzanan bir kaynak izi sunar.

Lacuna Research MCP, yapay zekâ araştırmacılarının kodlama ajanlarına şunları sunar:

  • Oluşturulmuş araştırma önerileri. The Alien Space of Science ile oluşturulan araştırma fikirlerini keşfedin.
  • Araştırma yönelimleri. Bağlantılı makaleler, yazarlar ve öneriler içeren kavram kümelerinde gezinin.
  • Ajanlara hazır literatür. Kaynak bağlantıları içeren Markdown biçiminde güncel makaleleri arayın.
  • Araştırmacı bilgileri. Yazarları, yayınları, yönelimleri, etkileri ve ilgili araştırmacıları izleyin.
  • Araştırma alanı haritalama. Yayın mecralarını, kurumları, önde gelen araştırmacıları ve yayın etkinliğini karşılaştırın.

Örneğin, bir uygulamayı kayıtlı makale ilişkilerine kadar izleyin:

Dao-AILab/flash-attention'ın arkasındaki makaleyi bulun. Depoyla kayıtlı bağlantıyı gösterin ve özgün makaleye bağlantı verin.

Bu örnek şu yolu izler: depo → kayıtlı makale ilişkisi → makale ve kaynaklar. Lacuna, official_code_for ilişkisini FlashAttention ile birlikte döndürür; depo ve özgün makaleye bağlantılar da sunar. Bağlantıyı doğrulamak için bu kaynakları inceleyin. Örneği çalıştırın veya notebook'u adım adım inceleyin.

Kurulum · Araştırma becerileri · İlk kullanım · Araçlar · API başvurusu · Yapılandırma

Kurulum

Cursor için ajan eklentisi

Bu depo ayrıca barındırılan MCP bağlantısını ve iki araştırma becerisini bir Ajan Eklentisi olarak paketler. Cursor bu biçimi destekler.

Yerel olarak denemek için bu depoyu ~/.cursor/plugins/local/lacuna-research-mcp konumuna kopyalayın, Cursor'u yeniden yükleyin ve iki beceriyi ve MCP bağlantısını kontrol etmek için Customize bölümünü açın. Eklenti https://lacuna.tiptreesystems.com/api/mcp adresine bağlanır; yerel Python kurulumu veya Lacuna hesabı gerekmez. Yinelenen araçları önlemek için bu bağlantıyı ya da elle yapılandırılmış bir Lacuna sunucusunu etkinleştirin.

Cursor ve VS Code

Yerel Python kurulumu veya Lacuna hesabı gerektirmeden barındırılan sunucuyu kullanın:

Add to Cursor Add to VS Code

Düğmeler, düzenleyicinizin MCP kurulum akışını açar. Sunucu URL'sini inceleyip kurulumu onaylayın. Bağlandıktan sonra yukarıdaki FlashAttention sorusunu sorun; ajanınız search_lacuna, get_resource ve get_paper araçlarını kullanmalıdır.

Kurulum bağlantısı açılmazsa elle yapılandırma

Cursor'da bu girdiyi .cursor/mcp.json içindeki mcpServers bölümüne ekleyin:

{
  "mcpServers": {
    "lacuna-research": {"url": "https://lacuna.tiptreesystems.com/api/mcp"}
  }
}

VS Code'da bu girdiyi .vscode/mcp.json içindeki servers bölümüne ekleyin:

{
  "servers": {
    "lacuna-research": {"type": "http", "url": "https://lacuna.tiptreesystems.com/api/mcp"}
  }
}

Mevcut sunucu girdilerini koruyun. Bağlantıyı doğrulamak ve konuşmada Lacuna araçlarını etkinleştirmek için düzenleyicinizin MCP ayarlarını açın.

Barındırılan MCP sunucusu (Claude bağlayıcısı)

Lacuna'nın barındırılan MCP sunucusunu Streamable HTTP'yi destekleyen herhangi bir istemciyle kullanın. Yerel kurulum gerekmez.

https://lacuna.tiptreesystems.com/api/mcp

Claude'da Customize → Connectors → + Add → Add custom connector bölümünü açın. Ad olarak Lacuna Research girin, yukarıdaki URL'yi yapıştırın ve kimlik doğrulaması sorulursa No sign in seçeneğini belirleyin. Ekleme işlemini tamamlayın, ardından konuşmanızda + → Connectors üzerinden etkinleştirin.

Team ve Enterprise çalışma alanlarında bağlayıcının önce Organization settings → Connectors bölümünden eklenmesi gerekir. Ayrıntılar için Claude'un özel bağlayıcı kurulumuna bakın.

Yerel kurulum

Lacuna Research MCP'yi kurmanın en kolay yolu, Codex veya Claude Code gibi kodlama ajanınızdan şunu istemektir:

Bu istemci için PyPI'daki lacuna-research-mcp paketini kurup yapılandır.

Elle kurulum için aşağıdaki talimatlarda, PyPI'dan en son etiketli sürümü çalıştırmak üzere uvx kullanılır. Önce uv kurun; Lacuna Research MCP için Python 3.11 veya daha yenisi gerekir.

Codex

Codex CLI ile sunucuyu ekleyin:

codex mcp add lacuna-research -- uvx lacuna-research-mcp

Alternatif olarak, aşağıdakini ~/.codex/config.toml dosyasına (veya yalnızca projeye özel kurulum için güvenilir bir projedeki .codex/config.toml dosyasına) ekleyin:

[mcp_servers.lacuna-research]
command = "uvx"
args = ["lacuna-research-mcp"]

Sunucunun yapılandırıldığını doğrulamak için codex mcp list komutunu çalıştırın. Codex uygulaması, CLI ve IDE uzantısı aynı makinede bu yapılandırmayı paylaşır.

Claude Code

Claude Code CLI ile sunucuyu tüm projelerinize ekleyin:

claude mcp add --scope user lacuna-research -- uvx lacuna-research-mcp

Yalnızca geçerli projeye eklemek için --scope user seçeneğini çıkarın. Alternatif olarak, ~/.claude.json dosyasındaki en üst düzey mcpServers nesnesinin altına şunu ekleyin:

{
  "mcpServers": {
    "lacuna-research": {
      "type": "stdio",
      "command": "uvx",
      "args": ["lacuna-research-mcp"]
    }
  }
}

Sunucunun yapılandırıldığını doğrulamak için claude mcp get lacuna-research komutunu çalıştırın.

Claude Desktop

Settings → Developer → Edit Config bölümünü açın, ardından sunucuyu claude_desktop_config.json dosyasındaki mcpServers bölümüne ekleyin:

{
  "mcpServers": {
    "lacuna-research": {
      "command": "uvx",
      "args": ["lacuna-research-mcp"]
    }
  }
}

Dosyayı kaydettikten sonra Claude Desktop'ı yeniden başlatın.

Diğer MCP istemcileri

Yerel stdio MCP sunucularını destekleyen tüm istemciler için şu standart yapılandırmayı kullanın:

{
  "mcpServers": {
    "lacuna-research": {
      "command": "uvx",
      "args": ["lacuna-research-mcp"]
    }
  }
}

Bağımsız komut

MCP sunucusunu kalıcı bir komut olarak kurun:

uv tool install lacuna-research-mcp
lacuna-research-mcp

Kalıcı bir komut kurmadan çalıştırın:

uvx lacuna-research-mcp

Bu işlem bir ön sürüm hatasıyla (örneğin, "Python 3.14.0rc2 is a prerelease...") sonlanırsa uv'niz, MCP SDK'nın desteklemediği erken bir Python 3.14 ön sürümünü kullanıyor demektir. uv'yi güncelleyin (uv self update), yayımlanmış bir Python sürümü kurun (uv python install 3.14) veya uvx --python 3.13 lacuna-research-mcp komutunu çalıştırın.

Kendi barındırdığınız HTTP sunucusu

Uzak MCP istemcilerine stdio yerine Streamable HTTP üzerinden hizmet vermek için:

uvx lacuna-research-mcp --transport streamable-http --host 0.0.0.0 --port 8000

Uç nokta /mcp şeklindedir. Sunucu durumsuzdur ve JSON yanıtı verir; bu nedenle oturum bağlılığı gerektirmeden bir yük dengeleyicinin arkasında çalışabilir. Varsayılan --host 127.0.0.1 ile sunucu yalnızca localhost Host başlıklarını kabul eder; bu nedenle ters vekil sunucu herkese açık bir ana bilgisayar adını yönlendiriyorsa döngü dışı bir adrese bağlayın.

En son geliştirme sürümü

PyPI'da etiketli sürümler bulunur. Bunun yerine main dalındaki en güncel kodu denemek için:

uvx --from git+https://github.com/tiptreesystems/lacuna-research-mcp.git lacuna-research-mcp

Yerel geliştirme

uv ile:

git clone https://github.com/tiptreesystems/lacuna-research-mcp.git
cd lacuna-research-mcp
uv sync --extra dev
uv run lacuna-research-mcp

pip ile:

cd <path-to-lacuna-research-mcp>
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -U pip
python -m pip install -e .

Araştırma becerileri

MCP sunucusu araçlar sağlar. Bu isteğe bağlı beceriler, ajanınıza bu araçları iki araştırma görevi için nasıl kullanacağını öğretir:

BeceriÖrnek istek
Önceki çalışmaları kontrol etBir görsel dönüştürücü için token birleştirmeyi uygulamadan önce, en yakın çalışmayı ve eklemem gereken bir temel yöntemi bul.
Kodu makalelere kadar izleDao-AILab/flash-attention hangi makaleyi uygular? Kayıtlı ilişkiyi ve kaynakları göster.

Önce MCP sunucusuna bağlanın. Ardından Node.js 22.20+ kurulu olarak, projenizden beceriler CLI'sini çalıştırın:

npx skills add tiptreesystems/lacuna-research-mcp

Kullanacağınız becerileri ve ajanı seçin. Yalnızca koddan makaleye iş akışını kurmak için:

npx skills add tiptreesystems/lacuna-research-mcp --skill lacuna-code-to-paper

Beceriler varsayılan olarak geçerli projeye kurulur. MCP sunucusunu kurmaz veya yapılandırmazlar. İstemcinizin yeni becerileri keşfetmesi için yeni bir oturum gerekiyorsa kurulumdan sonra yeni bir ajan oturumu başlatın.

İlk kullanım

Bağlı ajanınızda yukarıdaki sorulardan birini sorun veya okuma listesiyle ilgili şu soruyu deneyin:

Listemde FlashAttention ve FlashAttention-2 var. Uzun bağlamlı dikkat için hangi temel yöntemleri veya sınırlamaları okumalıyım?

Model API anahtarı gerektirmeyen, tekrarlanabilir bir örnek için bu depoyu klonlayıp şunu çalıştırın:

uv run examples/code_to_paper.py

Notebook her adımı açıklar ve kaynak izini tek bir makale aramasıyla karşılaştırır. Araçları doğrudan kullanmak için aynı iş akışı şöyledir:

  1. search_lacuna(query="FlashAttention", search_type="resource", resource_kind="codebase", limit=5)
  2. Depo kimliğini kontrol edin, ardından döndürülen kimliği get_resource(resource_id_or_url=...) aracına iletin.
  3. Döndürülen bir publications[].paper_id değerini get_paper(artifact_id_or_url=..., view="context", figure_limit=0) ile izleyin.

Literatür araması için search_lacuna(query="methods for detecting prompt injection attacks", search_type="paper", limit=5) kullanın. Oluşturulmuş öneriler için search_lacuna(query="LLM jailbreak defense", search_type="hypothesis", limit=5) kullanın ve döndürülen bir kimliği get_hypothesis ile izleyin. Oluşturulmuş öneriler, yayımlanmış bulguların kanıtı değil, araştırılacak fikirlerdir.

Lacuna hakkında

Lacuna'nın işlem hattı, OpenAlex, OpenReview, DBLP ve arXiv'deki akademik kayıtları uzlaştırır; makale metinlerinden kavram öğelerini çıkarıp bunları araştırma yönelimleri halinde kümeler (Lacuna makalesi); ardından The Alien Space of Science ile bu yönelimlerden yeni araştırma önerileri örnekler. Harita 2,29 milyondan fazla makaleyi, 215.000'den fazla yazar profilini, 28.000'den fazla araştırma yönelimini, 25.000'den fazla araştırma önerisini ve 5.300'den fazla yayın mecrasını kapsar; yeni arXiv ve diğer yapay zekâ makaleleri alındıkça sürekli büyür.

Kapsam

Derlem, makine öğrenimi ve yapay zekâ araştırmalarını kapsar: makaleler, araştırma yönelimleri, yazarların araştırma çıktıları, yayın mecraları, kurumlar, oluşturulmuş araştırma hipotezleri ve makalelere bağlanan araştırma kaynakları (GitHub depoları, Hugging Face veri kümeleri ve modelleri, Zenodo kayıtları). Biyografiler, haberler veya araştırma dışı web içeriği içermez. Ajanlar, bu kapsamın dışındaki soruları başka kaynaklardan yanıtlamalıdır.

Sunduğu içerikler

  • search_lacuna Yönlendirmeler, makaleler, yazarlar, yayın yerleri, kurumlar, hipotezler ve kaynaklar için Lacuna'nın herkese açık /api/v1/search uç noktasını kullanır. Açık makale aramaları (search_type="paper"), diğer sıralama bağımsız değişkenleri varsayılan değerlerinde kaldığında sunucunun üretim sözlüksel+anlamsal sıralayıcısını kullanır. Hipotez araması için search_type="hypothesis" değerini iletin. Makalelere bağlı kod depoları, veri kümeleri, modeller ve demolar için search_type="resource" değerini iletin; isteğe bağlı olarak resource_kind (codebase, dataset, model, demo) ve provider (github, huggingface, zenodo) ile filtreleyin; örneğin, resource_kind="dataset" kıyaslama veri kümelerini bulur. Kaynak araması date_from/date_to, venue, yıl sıralamalarını ve anlamsal sıralamayı reddeder (kaynaklarda tarih, yayın yeri veya gömme vektörü bulunmaz).
  • get_hypothesis(hypothesis_id_or_url, view="context") Hipotez/öneri. view="context" (varsayılan), tek bir istekte alınan kompakt bir öneri bağlamı (özet, özet metni, bağlantılı yönlendirmeler) sunar; view="full" ise sürüm geçmişi ve sinyal sayılarıyla birlikte sunucunun sürüm kaydını döndürür. Öneri metinleri versions[].markdown içindedir.
  • get_direction(cluster_id_or_url, view="context") Araştırma yönü/kümesi. view="context" (varsayılan), aracı odaklı kompakt özeti ister; view="full" ham küme kaydını döndürür.
  • get_direction_papers(cluster_id_or_url, page, limit, view="compact") Bir yönlendirmeye bağlı sayfalanmış makaleler. view="compact" (varsayılan), atıf için hazır satırlar (kimlik, URL, başlık, yıl, yayın yeri, birkaç yazar, özet metni parçası) döndürür; view="full" ham üst kaynak makale kayıtlarını döndürür.
  • get_paper(artifact_id_or_url, view="context", figure_limit=None, include_resources=True) Kullanılabilir sürümleriyle birlikte makale arama; makaleyi okumak için bir sürümün yapıt kimliğini kullanın. Bağlantılı kaynaklar (kod depoları, veri kümeleri, modeller ve demolar) varsayılan olarak bağlam ve tam görünümlere eklenir; bunları hariç tutmak için include_resources=False değerini iletin. Diğer görünümler bu seçeneği yok sayar. view="context" (varsayılan), aracı odaklı kompakt bağlamı ister; diğer görünümler "full", "preview", "blog", "figures", "concepts" veya "neighbors" şeklindedir. Bağlam görünümünde figure_limit, şekil önizlemesinin üst sınırını belirler (sunucu varsayılanı 3'tür; figures_truncated sinyalini korurken önizlemeleri bastırmak için 0 iletin).
  • get_resource(resource_id_or_url) Kimliğe (kaynak aramasından veya get_paper içindeki resources listesinden) ya da Lacuna /resource/... URL'sine göre kaynak arama: harici URL, özet, özellikler (görevler, kipler, boyut, lisans), sağlayıcı ölçümleri, README/kart alıntısı, publications altındaki bağlantılı makaleler (paper_id ve dataset_for gibi ilişki türleriyle), ilgili yönlendirmeler ve bahsedilen kaynaklar.
  • Yazar araçları: get_author_context(…, view="context"), get_author_papers, get_author_directions ve get_author_neighbors. get_author_context ile başlayın; bu araç varsayılan olarak ham impact_clusters telemetrisi yerine kompakt, aracı odaklı görünümü (sınırlandırılmış makaleler ve okunabilir bir impact_directions listesi) sunar. Yazar bağlamını yinelemeden bu koleksiyonlarda sayfalama yapmak için özel makaleler, yönlendirmeler ve komşular araçlarını kullanın. view="full", sunucu sınırlarına tabi tam biçimli bağlamı döndürür (koleksiyonlar 100 öğeyle sınırlıdır). Benzer yazarları açıkça dahil etmek için include_neighbors=true değerini iletin; bu, sunucu gecikmesini önemli ölçüde artırabilir.
  • Yayın yeri ve kurum araçları: get_venue_context(…, view="context"), get_institution_context(…, view="context"), get_institution_authors. Bağlam araçları varsayılan olarak kompakt görünümü kullanır (sınırlandırılmış listeler, yinelenen bloklar kaldırılır; yayın yeri görünümü, istenen year öğesini her zaman içeren yakın tarihli bir etkinlik kesiti sunar). Bir kurumun yazar listesinin tamamında sayfalama yapmak için get_institution_authors kullanın.

Sarılmış API'ler

MCP aracıLacuna API uç noktası
search_lacuna(query, search_type, limit, offset, author_id_or_url, date_from, date_to, venue, sort, ranking_profile, fields, resource_kind, provider)GET /api/v1/search (resource_kind ve provider, yinelenen kind ve provider sorgu parametreleri olarak gönderilir ve search_type="resource" veya "all" gerektirir. author_id_or_url, search_type="paper" değerini tek bir yazarla sınırlar; ham yazar kimliğini veya Lacuna yazar sayfası URL'sini kabul eder. fields, sözlüksel sıralamada kullanılan metin alanlarını kısıtlar/ağırlıklandırır (ör. title^4,abstract) ve deneysel sözlüksel sıralayıcıyı seçer; varsayılan alaka sıralı makale aramasında bu, üretim sözlüksel+anlamsal sıralayıcıyı devre dışı bırakır. İzin verilen alanlar title, abstract, summary, concepts, name, top_names, venue, description, topics, provider_key, paper_titles şeklindedir; her biri yalnızca ilgili alanı taşıyan türler için geçerlidir — title: makale/küme/yayın yeri/hipotez/kaynak; description/topics/provider_key/paper_titles: kaynak; abstract/summary/concepts: makale; name: yazar/kurum/yayın yeri; top_names: küme/hipotez; venue: makale/yayın yeri (search_type="all" tümünü kapsar). Ağırlıklar 0 < weight <= 100 koşulunu sağlamalıdır. Bilinmeyen alanlar, aralık dışı ağırlıklar, türle uyumsuz alanlar ve fields ile ranking_profile="semantic" değerlerinin birlikte kullanılması reddedilir; aksi takdirde sunucu bunları sessizce düşürür, sınırlar veya yok sayar.)
get_hypothesis(hypothesis_id_or_url, view="context")view="context" → GET /api/v1/context/hypothesis/{hypothesis_id}?view=compact; view="full" → GET /api/v1/hypotheses/{hypothesis_id}
get_direction(cluster_id_or_url, view="context")view="context" → GET /api/v1/context/direction/{cluster_id}?view=compact; view="full" → GET /api/v1/clusters/{cluster_id}
get_direction_papers(cluster_id_or_url, page, limit, view="compact")GET /api/v1/clusters/{cluster_id}/papers?view=compact (varsayılan) veya ?view=complete
get_paper(artifact_id_or_url, view="context", figure_limit=None, include_resources=True)view="context" → GET /api/v1/context/paper/{artifact_id}?view=compact (ayarlandığında &figure_limit=N); view="full" → GET /api/v1/papers/{artifact_id}; view="preview" → …/preview; view="blog" → …/blog; view="figures" → …/figures; view="concepts" → …/concepts; view="neighbors" → …/neighbors; bağlam ve tam görünümler include_resources gönderir. Bir Work sayfası URL'si (/work/<name>, /work/<slug>/wrk_…) veya yalın wrk_… kimliği önce GET /api/v1/context/work/{work_id_or_name} üzerinden okunur
get_resource(resource_id_or_url)GET /api/v1/resources/{resource_id}
get_author_papers(author_id_or_url, limit=50, offset=0)GET /api/v1/authors/{author_id}/papers
get_author_directions(author_id_or_url, limit=50, offset=0)GET /api/v1/authors/{author_id}/directions
get_author_context(author_id_or_url, view="context", include_neighbors=false)view="context" → GET /api/v1/context/author/{author_id}?view=compact; view="full" → GET /api/v1/context/author/{author_id} (include_neighbors=true benzer yazarları açıkça ister)
get_author_neighbors(author_id_or_url, limit=8, offset=0)GET /api/v1/authors/{author_id}/neighbors
get_venue_context(venue_key_or_url, year, view="context")view="context" → GET /api/v1/context/venue/{vkey}[/{year}]?view=compact; view="full" → view olmadan aynı rota
get_institution_context(institution_key_or_url, view="context")view="context" → GET /api/v1/context/institution/{ikey}?view=compact; view="full" → view olmadan aynı rota
get_institution_authors(institution_key_or_url, limit=50, offset=0)GET /api/v1/institutions/{ikey}/authors

Kimlik veya URL kabul eden bağımsız değişkenlerde, search_lacuna tarafından döndürülen ham kimliği ya da ilgili Lacuna sayfası URL'sini iletin. MCP, Lacuna'ya göreli url ve *_url alanlarını mutlak URL'lere dönüştürür; ayrıca summary_markdown, article_markdown, markdown, content veya description adlı alanların içindeki Lacuna bağlantılarını ( /resource/... sayfaları dahil) mutlak URL'lere dönüştürür.

get_author_context, her iki görünümde de sunucu tarafında sınırlandırılır. Varsayılan kompakt görünüm, özenle hazırlanmış bir bilgilendirme sunar; view="full", gömülü koleksiyonları 100 öğeyle sınırlı olan daha kapsamlı biçimi döndürür. Gömülü bağlam koleksiyonlarında sayfalama yapmaya çalışmak yerine get_author_papers ve get_author_directions kullanın.

Arama isteklerinde çağrı başına en fazla 50 sonuç, yönlendirme-makale sayfası isteklerinde ise çağrı başına en fazla 100 sonuç döndürülür. search_lacuna içinde date_from ve date_to, yayın tarihinin dahilî sınırlarıdır. Kabul edilen biçimler YYYY, YYYY-MM ve YYYY-MM-DD şeklindedir; örneğin, date_from="2020", date_to="2022-03", 1 Ocak 2020'den 31 Mart 2022'ye kadar yayımlanan makaleleri içerir.

search_lacuna şu sıralama profillerini sunar:

  • default / lexical Tüm aramalar için varsayılan profil. search_type="paper", sort="relevance" ve fields ayarlanmamışsa, zarif geri dönüş mekanizmasıyla sunucunun üretim sözlüksel+anlamsal sıralayıcısını kullanır. MCP'nin varsayılan search_type="all" değeri bunun yerine sunucunun varsayılan sözlüksel sıralamasını kullanır.
  • semantic Gömme tabanlı makale erişimi için kullanın. Anlamsal sorgu, normal sözlüksel sıralama bileşenini atlar; ancak sunucu yine de tam başlık eşleşmelerini sözlüksel olarak ekleyebilir. Yalnızca paper ve all aramalarında desteklenir (yalnızca makalelerde anlamsal gömme vektörleri bulunur) ve resource_kind/provider filtreleriyle birlikte kullanılamaz.
  • bm25_title_abstract / bm25 Başlık ve özetle sınırlı sözlüksel eşleştirme için kullanın. Bu kayıtların başlık veya özet alanı olmadığından author ve institution aramalarında reddedilir.

ranking_profile sağlanmadığı sürece tüm aramalar sunucu varsayılanını kullanır. Sunucu aksi durumda alt dize aramasına geri dönüp istenen sıralama profilini sessizce yok sayacağından, MCP desteklenmeyen profil/tür birleşimlerini reddeder.

sort, relevance (varsayılan), year_desc ve year_asc değerlerini kabul eder. Yıl sıralamaları ranking_profile="semantic" ile birleştirilemez — sunucu sıralamayı sessizce yok sayar — bu nedenle MCP bu birleşimi reddeder. Yakın tarihli ve alakalı sonuçlar için anlamsal sıralamayı koruyun ve güncelliği bunun yerine date_from/date_to ile sınırlayın.

Ortam değişkenleri

  • LACUNA_SITE_URL Varsayılan değer https://lacuna.tiptreesystems.com
  • LACUNA_MCP_TIMEOUT Varsayılan değer 30
  • LACUNA_MCP_MAX_RETRIES Varsayılan değer 2; zaman aşımlarına, aktarım hatalarına ve HTTP 429, 502, 503 ve 504 yanıtlarına uygulanır.
  • LACUNA_MCP_USER_AGENT Varsayılan değer lacuna-research-mcp/{package_version}
  • LACUNA_MCP_BEARER_TOKEN Özel Lacuna dağıtımları için Authorization: Bearer ... olarak gönderilen isteğe bağlı bearer token.
  • LACUNA_MCP_CLIENT_TOKEN Barındırılan bir MCP sunucusunu kendi arama hız sınırı için Lacuna'ya tanıtmak üzere X-Lacuna-Client-Token olarak gönderilen isteğe bağlı token.
  • LACUNA_MCP_LOG_LEVEL Varsayılan değer WARNING (şunlardan biri: DEBUG, INFO, WARNING, ERROR, CRITICAL). Varsayılan ayar normal çalışmayı sessiz tutar; hata ayıklama dışında düzeyi yükseltmeyin; çünkü INFO/DEBUG, HTTP istemcisinin tam istek URL'lerini (arama sorgu dizesi dahil) stderr'e kaydetmesini sağlar ve bazı MCP ana bilgisayarları bu kayıtları saklar.

Ortam değişkenleri, MCP sunucusu oluşturulduğunda veya modül create_mcp() çağrılmadan içe aktarılmışsa ilk doğrudan araç/API çağrısında bir kez okunur.

Uygulama düzeni

Sunucu, Lacuna'nın HTTP API'si üzerinde ince bir MCP bağdaştırıcısıdır. Uygulama, sorumluluklara göre bölünmüştür:

  • lacuna_research_mcp/server.py MCPServer uygulamasının oluşturulması, araç kaydı, yaşam döngüsü temizliği ve lacuna-research-mcp CLI giriş noktası.
  • lacuna_research_mcp/tools.py MCP araç işlevleri. Her araç girdilerini normalleştirir, paylaşılan istemci yardımcıları üzerinden ilgili Lacuna API uç noktasını çağırır ve JSON uyumlu veriler döndürür.
  • lacuna_research_mcp/client.py Lacuna'ya çalışma zamanı HTTP erişimi: olay döngüsüne bağlı httpx.AsyncClient, yeniden deneme işleme, hata sarmalama, JSON ayrıştırma, yanıtlardaki URL normalleştirmesi ve api_get/api_object/api_payload.
  • lacuna_research_mcp/config.py Çalışma zamanı sabitleri, RuntimeConfig, paket kullanıcı aracısı oluşturma ve ortam ayrıştırma.
  • lacuna_research_mcp/ids.py Ham kimlikleri veya Lacuna sayfa URL'lerini kabul eden ve güvenli API yol bölümlerini çıkaran yardımcılar.
  • lacuna_research_mcp/normalize.py Göreli Lacuna URL'leri ve Markdown bağlantıları için yanıt son işleme.
  • lacuna_research_mcp/errors.py Lacuna API erişim hataları için kullanıcıya yönelik istisna türü.

Notlar

  • get_paper ve get_direction varsayılan olarak view="context" değerini kullanır. Bu bağlam görünümleri, MCP yanıtlarını küçük tutmak için varsayılan olarak Lacuna'nın aracı odaklı kompakt yüklerini ister. Makale bağlamı, mevcut olduğunda summary_markdown (aksi takdirde abstract), yazarları ve şekilleri içerir; yön bağlamı ise summary_markdown, sınırlandırılmış makaleleri/yazarları/ilgili yönleri ve kesilme işaretlerini içerir. Ham meta verilere ihtiyaç duyduğunuzda view="full" kullanın; tek bir alt kaynağı ayrı olarak görüntülemek istediğinizde diğer makale görünümlerini (preview, blog, figures, concepts, neighbors) kullanın.
  • Özel bir fields belirtilmeyen, alaka düzeyine göre sıralanmış açık bir makale araması varsayılan olarak sunucunun üretim ortamındaki sözcüksel+anlamsal sıralayıcısını kullanır. Gömme tabanlı erişim (olası bir tam başlık katmanıyla) için ranking_profile="semantic", başlık ve özet üzerinde sözcüksel eşleştirme için "bm25_title_abstract" ayarlayın.
  • Ayrıntı araçlarının çoğu, aramadan dönen kimliği veya karşılık gelen Lacuna URL'sini kabul eder.
  • url/*_url yanıt alanlarındaki ve summary_markdown, article_markdown, markdown, content veya description adlı alanlardaki göreli Lacuna URL'leri mutlak URL'lere dönüştürülür.
  • Yayın yeri ve kurum anahtarları opak karmalardır (örneğin d7bf22905bd6); icml gibi insanlar tarafından okunabilir adlar değildir. Önce search_lacuna(search_type="venue") ile anahtarı bulun veya bir /venue/... sayfa URL'si iletin.

Atıf

Çalışmamızı yararlı bulursanız, Lacuna'nın araştırma önerisi oluşturma ve araştırma haritasının temelindeki makalelere atıfta bulunabilirsiniz.

Araştırma önerisi oluşturma — The Alien Space of Science

@inproceedings{artiles2026alien,
  title     = {The Alien Space of Science: Sampling Coherent but Cognitively Unavailable Research Directions},
  author    = {Artiles, Alejandro H. and Weiss, Martin and Brinkmann, Levin and Rahwan, Iyad and Sch{\"o}lkopf, Bernhard and Pal, Christopher and Larochelle, Hugo and Goyal, Anirudh and Rahaman, Nasim},
  booktitle = {Advances in Neural Information Processing Systems},
  year      = {2026},
  eprint    = {2603.01092},
  archivePrefix = {arXiv},
  url       = {https://arxiv.org/abs/2603.01092}
}

Araştırma haritası — Lacuna

@misc{weiss2026lacunaresearchmapmachine,
  title         = {Lacuna: A Research Map for Machine Learning},
  author        = {Martin Weiss and Miles Q. Li and Alejandro H. Artiles and Yacine Mkhinini and Chris Pal and Hugo Larochelle and Nasim Rahaman},
  year          = {2026},
  eprint        = {2606.26246},
  archivePrefix = {arXiv},
  primaryClass  = {cs.DL},
  url           = {https://arxiv.org/abs/2606.26246}
}

Lisans

MIT. LICENSE dosyasına bakın.