Lacuna Research
resmiKodlama 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_forilişkisini izleyerek makaleye ve kaynaklarına ulaşın. - Literatürü arayın —
search_lacunaile makale araması yapın, ardından özet, yazarlar ve şekillerin yer aldığı kısa bir bağlam görünümü için bir sonucuget_paperile açın. - Bağlantılı kaynakları bulun —
search_lacunaile kod tabanlarını, veri kümelerini, modelleri veya demoları arayın ve bağlantılı makaleleri ve boyutları incelemek için biriniget_resourceile görüntüleyin. - Araştırma yönlerini keşfedin — Bir yönün özetine bakın ve ekli makaleleri
get_direction_papersile 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 olarakget_hypothesisile 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
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:
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-mcppaketini 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 et | Bir 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 izle | Dao-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:
search_lacuna(query="FlashAttention", search_type="resource", resource_kind="codebase", limit=5)- Depo kimliğini kontrol edin, ardından döndürülen kimliği
get_resource(resource_id_or_url=...)aracına iletin. - Döndürülen bir
publications[].paper_iddeğeriniget_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_lacunaYönlendirmeler, makaleler, yazarlar, yayın yerleri, kurumlar, hipotezler ve kaynaklar için Lacuna'nın herkese açık/api/v1/searchuç 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çinsearch_type="hypothesis"değerini iletin. Makalelere bağlı kod depoları, veri kümeleri, modeller ve demolar içinsearch_type="resource"değerini iletin; isteğe bağlı olarakresource_kind(codebase,dataset,model,demo) veprovider(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 metinleriversions[].markdowniç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çininclude_resources=Falsedeğ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ündefigure_limit, şekil önizlemesinin üst sınırını belirler (sunucu varsayılanı 3'tür;figures_truncatedsinyalini korurken önizlemeleri bastırmak için 0 iletin).get_resource(resource_id_or_url)Kimliğe (kaynak aramasından veyaget_paperiçindekiresourceslistesinden) 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ı,publicationsaltındaki bağlantılı makaleler (paper_idvedataset_forgibi ilişki türleriyle), ilgili yönlendirmeler ve bahsedilen kaynaklar.- Yazar araçları:
get_author_context(…, view="context"),get_author_papers,get_author_directionsveget_author_neighbors.get_author_contextile başlayın; bu araç varsayılan olarak hamimpact_clusterstelemetrisi yerine kompakt, aracı odaklı görünümü (sınırlandırılmış makaleler ve okunabilir birimpact_directionslistesi) 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çininclude_neighbors=truedeğ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ü, istenenyearöğesini her zaman içeren yakın tarihli bir etkinlik kesiti sunar). Bir kurumun yazar listesinin tamamında sayfalama yapmak içinget_institution_authorskullanı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/lexicalTüm aramalar için varsayılan profil.search_type="paper",sort="relevance"vefieldsayarlanmamışsa, zarif geri dönüş mekanizmasıyla sunucunun üretim sözlüksel+anlamsal sıralayıcısını kullanır. MCP'nin varsayılansearch_type="all"değeri bunun yerine sunucunun varsayılan sözlüksel sıralamasını kullanır.semanticGö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ızcapaperveallaramalarında desteklenir (yalnızca makalelerde anlamsal gömme vektörleri bulunur) veresource_kind/providerfiltreleriyle birlikte kullanılamaz.bm25_title_abstract/bm25Baş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ığındanauthorveinstitutionaramaları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_URLVarsayılan değerhttps://lacuna.tiptreesystems.comLACUNA_MCP_TIMEOUTVarsayılan değer30LACUNA_MCP_MAX_RETRIESVarsayılan değer2; zaman aşımlarına, aktarım hatalarına ve HTTP429,502,503ve504yanıtlarına uygulanır.LACUNA_MCP_USER_AGENTVarsayılan değerlacuna-research-mcp/{package_version}LACUNA_MCP_BEARER_TOKENÖzel Lacuna dağıtımları içinAuthorization: Bearer ...olarak gönderilen isteğe bağlı bearer token.LACUNA_MCP_CLIENT_TOKENBarındırılan bir MCP sunucusunu kendi arama hız sınırı için Lacuna'ya tanıtmak üzereX-Lacuna-Client-Tokenolarak gönderilen isteğe bağlı token.LACUNA_MCP_LOG_LEVELVarsayılan değerWARNING(ş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.pyMCPServer uygulamasının oluşturulması, araç kaydı, yaşam döngüsü temizliği velacuna-research-mcpCLI giriş noktası.lacuna_research_mcp/tools.pyMCP 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.pyLacuna'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 veapi_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.pyHam kimlikleri veya Lacuna sayfa URL'lerini kabul eden ve güvenli API yol bölümlerini çıkaran yardımcılar.lacuna_research_mcp/normalize.pyGöreli Lacuna URL'leri ve Markdown bağlantıları için yanıt son işleme.lacuna_research_mcp/errors.pyLacuna API erişim hataları için kullanıcıya yönelik istisna türü.
Notlar
get_paperveget_directionvarsayılan olarakview="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ğundasummary_markdown(aksi takdirdeabstract), yazarları ve şekilleri içerir; yön bağlamı isesummary_markdown, sınırlandırılmış makaleleri/yazarları/ilgili yönleri ve kesilme işaretlerini içerir. Ham meta verilere ihtiyaç duyduğunuzdaview="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
fieldsbelirtilmeyen, 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çinranking_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/*_urlyanıt alanlarındaki vesummary_markdown,article_markdown,markdown,contentveyadescriptionadlı 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);icmlgibi insanlar tarafından okunabilir adlar değildir. Öncesearch_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.