Lacuna Research
chính thứcBản đồ chỉ đọc về nghiên cứu ML dành cho các tác nhân lập trình: bài báo, hướng nghiên cứu, tác giả, hội nghị, tổ chức và giả thuyết, mỗi mục đều liên kết đến nguồn. Được lưu trữ, không cần xác thực; đồng thời có gói PyPI.
Bạn có thể làm gì với Lacuna Research MCP?
- Truy vết mã nguồn đến bài báo — Hỏi kho lưu trữ GitHub triển khai bài báo nào, rồi lần theo mối quan hệ
official_code_forđã ghi nhận đến bài báo và các nguồn của bài báo. - Tìm kiếm tài liệu nghiên cứu — Thực hiện tìm kiếm bài báo bằng
search_lacuna, sau đó mở một kết quả bằngget_paperđể xem ngữ cảnh cô đọng gồm tóm tắt, tác giả và hình minh họa. - Tìm tài nguyên liên kết — Tìm kiếm cơ sở mã, bộ dữ liệu, mô hình hoặc bản demo bằng
search_lacuna, rồi kiểm tra một tài nguyên bằngget_resourceđể xem các bài báo và khía cạnh liên kết. - Khám phá hướng nghiên cứu — Tra cứu phần tóm tắt của một hướng nghiên cứu và xem lần lượt các bài báo đính kèm bằng
get_direction_papers. - Khảo sát các đề xuất được tạo — Tìm kiếm các đề xuất bằng
search_type="hypothesis"và đọc một đề xuất được trả về bằngget_hypothesisnhư những ý tưởng cần nghiên cứu, không phải kết quả đã được xác nhận. - Lập hồ sơ nhà nghiên cứu và đơn vị xuất bản — Lấy thông tin ngữ cảnh, bài báo, hướng nghiên cứu hoặc các đối tượng lân cận của một tác giả, rồi so sánh các đơn vị xuất bản và tổ chức.
Máy chủ MCP được lưu trữ
npx add-mcp 'https://lacuna.tiptreesystems.com/api/mcp'Cài vào Claude Code, Codex, Cursor và nhiều công cụ khác
Tài liệu
Lacuna Research MCP
Lacuna, được xây dựng bởi Tiptree Systems, là bản đồ nghiên cứu về học máy: một đồ thị tri thức không đồng nhất liên kết các bài báo, hướng nghiên cứu, tác giả, địa điểm công bố, tổ chức và đề xuất nghiên cứu được tạo ra, với dấu vết nguồn từ mỗi đối tượng được suy ra trở về chính xác bài báo và trang đã tạo ra đối tượng đó.
Lacuna Research MCP cung cấp cho các tác nhân lập trình của nhà nghiên cứu AI:
- Đề xuất nghiên cứu được tạo ra. Khám phá các ý tưởng nghiên cứu được tạo bằng The Alien Space of Science.
- Hướng nghiên cứu. Điều hướng các cụm khái niệm có liên kết đến bài báo, tác giả và đề xuất.
- Tài liệu nghiên cứu sẵn sàng cho tác nhân. Tìm kiếm các bài báo gần đây ở định dạng markdown kèm liên kết nguồn.
- Thông tin chuyên sâu về nhà nghiên cứu. Theo dõi tác giả, ấn phẩm, hướng nghiên cứu, tác động và các nhà nghiên cứu liên quan.
- Lập bản đồ toàn cảnh. So sánh địa điểm công bố, tổ chức, nhà nghiên cứu hàng đầu và hoạt động xuất bản.
Ví dụ, truy dấu một phần triển khai đến các mối quan hệ bài báo đã được ghi nhận:
Tìm bài báo đứng sau Dao-AILab/flash-attention. Cho biết mối liên hệ đã ghi nhận với kho lưu trữ và liên kết đến bài báo gốc.
Ví dụ này lần theo kho lưu trữ → mối quan hệ bài báo đã ghi nhận → bài báo và nguồn.
Lacuna trả về mối quan hệ official_code_for đến
FlashAttention,
kèm liên kết đến kho lưu trữ và bài báo gốc. Kiểm tra các nguồn đó để xác minh
mối liên hệ. Chạy ví dụ hoặc
thực hiện theo notebook.
Cài đặt · Kỹ năng nghiên cứu · Sử dụng lần đầu · Công cụ · Tài liệu tham khảo API · Cấu hình
Cài đặt
Plugin tác nhân cho Cursor
Kho lưu trữ này cũng đóng gói kết nối MCP được lưu trữ và hai kỹ năng nghiên cứu dưới dạng Agent Plugin. Cursor hỗ trợ định dạng này.
Để thử cục bộ, sao chép kho lưu trữ này vào
~/.cursor/plugins/local/lacuna-research-mcp, tải lại Cursor và mở
Customize để kiểm tra hai kỹ năng và kết nối MCP. Plugin kết nối
đến https://lacuna.tiptreesystems.com/api/mcp; không cần cài Python cục bộ hoặc
tài khoản Lacuna. Bật kết nối này hoặc máy chủ Lacuna được cấu hình thủ công
để tránh trùng lặp công cụ.
Cursor và VS Code
Sử dụng máy chủ được lưu trữ mà không cần cài Python cục bộ hoặc tài khoản Lacuna:
Các nút sẽ mở quy trình cài đặt MCP của trình soạn thảo. Xem lại URL máy chủ và
xác nhận cài đặt. Sau khi kết nối, hãy đặt câu hỏi về FlashAttention ở trên;
tác nhân của bạn sẽ sử dụng search_lacuna, get_resource và get_paper.
Cấu hình thủ công nếu liên kết cài đặt không mở
Trong Cursor, hợp nhất mục này vào mcpServers trong .cursor/mcp.json:
{
"mcpServers": {
"lacuna-research": {"url": "https://lacuna.tiptreesystems.com/api/mcp"}
}
}
Trong VS Code, hợp nhất mục này vào servers trong .vscode/mcp.json:
{
"servers": {
"lacuna-research": {"type": "http", "url": "https://lacuna.tiptreesystems.com/api/mcp"}
}
}
Giữ nguyên mọi mục máy chủ hiện có. Mở cài đặt MCP của trình soạn thảo để xác minh kết nối và bật các công cụ của Lacuna cho cuộc trò chuyện.
Máy chủ MCP được lưu trữ (kết nối Claude)
Sử dụng máy chủ MCP được lưu trữ của Lacuna với mọi ứng dụng khách hỗ trợ Streamable HTTP. Không cần cài đặt cục bộ.
https://lacuna.tiptreesystems.com/api/mcp
Trong Claude, mở Customize → Connectors → + Add → Add custom connector. Đặt tên là Lacuna Research, dán URL ở trên và chọn No sign in nếu được nhắc xác thực. Hoàn tất việc thêm kết nối, sau đó bật kết nối đó từ + → Connectors trong cuộc trò chuyện.
Với không gian làm việc Team và Enterprise, trước tiên phải thêm kết nối trong Organization settings → Connectors. Xem hướng dẫn thiết lập kết nối tùy chỉnh của Claude để biết chi tiết.
Cài đặt cục bộ
Cách dễ nhất để cài đặt Lacuna Research MCP là yêu cầu tác nhân lập trình của bạn, chẳng hạn như Codex hoặc Claude Code:
Cài đặt và cấu hình gói
lacuna-research-mcptừ PyPI cho ứng dụng khách này.
Để thiết lập thủ công, hướng dẫn bên dưới sử dụng uvx để chạy bản phát hành mới nhất được gắn thẻ từ PyPI. Trước tiên hãy cài uv; Lacuna Research MCP yêu cầu Python 3.11 trở lên.
Codex
Thêm máy chủ bằng Codex CLI:
codex mcp add lacuna-research -- uvx lacuna-research-mcp
Hoặc thêm nội dung sau vào ~/.codex/config.toml (hoặc vào .codex/config.toml trong một dự án đáng tin cậy nếu chỉ thiết lập cho dự án):
[mcp_servers.lacuna-research]
command = "uvx"
args = ["lacuna-research-mcp"]
Chạy codex mcp list để xác minh máy chủ đã được cấu hình. Ứng dụng Codex, CLI và tiện ích mở rộng IDE dùng chung cấu hình này trên cùng một máy.
Claude Code
Thêm máy chủ cho tất cả dự án bằng Claude Code CLI:
claude mcp add --scope user lacuna-research -- uvx lacuna-research-mcp
Bỏ qua --scope user để chỉ thêm máy chủ cho dự án hiện tại. Hoặc thêm nội dung sau vào đối tượng cấp cao nhất mcpServers trong ~/.claude.json:
{
"mcpServers": {
"lacuna-research": {
"type": "stdio",
"command": "uvx",
"args": ["lacuna-research-mcp"]
}
}
}
Chạy claude mcp get lacuna-research để xác minh máy chủ đã được cấu hình.
Claude Desktop
Mở Settings → Developer → Edit Config, sau đó thêm máy chủ bên dưới mcpServers trong claude_desktop_config.json:
{
"mcpServers": {
"lacuna-research": {
"command": "uvx",
"args": ["lacuna-research-mcp"]
}
}
}
Khởi động lại Claude Desktop sau khi lưu tệp.
Các ứng dụng khách MCP khác
Với mọi ứng dụng khách hỗ trợ máy chủ MCP stdio cục bộ, hãy dùng cấu hình tiêu chuẩn sau:
{
"mcpServers": {
"lacuna-research": {
"command": "uvx",
"args": ["lacuna-research-mcp"]
}
}
}
Lệnh độc lập
Cài đặt máy chủ MCP dưới dạng lệnh thường trực:
uv tool install lacuna-research-mcp
lacuna-research-mcp
Chạy máy chủ mà không cài đặt lệnh thường trực:
uvx lacuna-research-mcp
Nếu lệnh này thoát với lỗi bản phát hành tiền phát hành (ví dụ: "Python 3.14.0rc2 is a prerelease..."),
uv của bạn đang dùng bản tiền phát hành Python 3.14 mà MCP SDK không hỗ trợ.
Cập nhật uv (uv self update), cài đặt bản Python chính thức (uv python install 3.14),
hoặc chạy uvx --python 3.13 lacuna-research-mcp.
Máy chủ HTTP tự lưu trữ
Để phục vụ các ứng dụng khách MCP từ xa qua Streamable HTTP thay vì stdio:
uvx lacuna-research-mcp --transport streamable-http --host 0.0.0.0 --port 8000
Điểm cuối là /mcp. Máy chủ không trạng thái và phản hồi bằng JSON, vì vậy có thể chạy phía sau bộ cân bằng tải mà không cần duy trì phiên. Với --host 127.0.0.1 mặc định, máy chủ chỉ chấp nhận các tiêu đề Host từ localhost, vì vậy hãy liên kết với địa chỉ không phải loopback khi proxy ngược chuyển tiếp tên máy chủ công khai.
Phiên bản phát triển mới nhất
PyPI chứa các bản phát hành được gắn thẻ. Để thử mã mới nhất từ nhánh main thay thế:
uvx --from git+https://github.com/tiptreesystems/lacuna-research-mcp.git lacuna-research-mcp
Phát triển cục bộ
Với uv:
git clone https://github.com/tiptreesystems/lacuna-research-mcp.git
cd lacuna-research-mcp
uv sync --extra dev
uv run lacuna-research-mcp
Với pip:
cd <path-to-lacuna-research-mcp>
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -U pip
python -m pip install -e .
Kỹ năng nghiên cứu
Máy chủ MCP cung cấp các công cụ. Các kỹ năng tùy chọn này hướng dẫn tác nhân cách sử dụng chúng cho hai tác vụ nghiên cứu:
| Kỹ năng | Yêu cầu mẫu |
|---|---|
| Kiểm tra nghiên cứu trước đây | Trước khi triển khai gộp token cho một vision transformer, hãy tìm công trình gần nhất và một phương pháp cơ sở để đưa vào. |
| Truy dấu mã nguồn đến bài báo | Dao-AILab/flash-attention triển khai bài báo nào? Hãy cho biết mối quan hệ đã ghi nhận và các nguồn. |
Trước tiên, hãy kết nối máy chủ MCP. Sau đó, khi đã cài Node.js 22.20 trở lên, chạy CLI kỹ năng từ dự án của bạn:
npx skills add tiptreesystems/lacuna-research-mcp
Chọn các kỹ năng và tác nhân bạn muốn dùng. Để chỉ cài quy trình truy dấu mã nguồn đến bài báo:
npx skills add tiptreesystems/lacuna-research-mcp --skill lacuna-code-to-paper
Theo mặc định, các kỹ năng được cài vào dự án hiện tại. Chúng không cài đặt hoặc cấu hình máy chủ MCP. Sau khi cài đặt, hãy bắt đầu phiên tác nhân mới nếu ứng dụng khách cần phiên đó để phát hiện các kỹ năng mới.
Sử dụng lần đầu
Đặt một trong các câu hỏi ở trên trong tác nhân đã kết nối, hoặc thử câu hỏi về danh sách tài liệu cần đọc:
Danh sách của tôi có FlashAttention và FlashAttention-2. Tôi nên đọc những phương pháp cơ sở hoặc hạn chế nào về attention ngữ cảnh dài?
Để chạy ví dụ có thể tái lập mà không cần khóa API mô hình, hãy sao chép kho lưu trữ này và chạy:
uv run examples/code_to_paper.py
Notebook giải thích từng bước và so sánh dấu vết nguồn với một lần tìm kiếm bài báo đơn lẻ. Để gọi công cụ trực tiếp, quy trình tương tự là:
search_lacuna(query="FlashAttention", search_type="resource", resource_kind="codebase", limit=5)- Kiểm tra danh tính kho lưu trữ, sau đó truyền ID được trả về cho
get_resource(resource_id_or_url=...). - Theo dõi
publications[].paper_idđược trả về bằngget_paper(artifact_id_or_url=..., view="context", figure_limit=0).
Để tìm kiếm tài liệu, hãy dùng search_lacuna(query="methods for detecting prompt injection attacks", search_type="paper", limit=5).
Để tìm các đề xuất được tạo ra, hãy dùng search_lacuna(query="LLM jailbreak defense", search_type="hypothesis", limit=5)
và theo dõi ID được trả về bằng get_hypothesis. Đề xuất được tạo ra là những ý tưởng cần
nghiên cứu, không phải bằng chứng về các phát hiện đã công bố.
Giới thiệu về Lacuna
Quy trình của Lacuna đối chiếu các hồ sơ học thuật từ OpenAlex, OpenReview, DBLP và arXiv; trích xuất các yếu tố khái niệm từ nội dung bài báo rồi phân cụm chúng thành các hướng nghiên cứu (bài báo Lacuna); và lấy mẫu các đề xuất nghiên cứu mới từ những hướng đó bằng The Alien Space of Science. Bản đồ bao gồm hơn 2.29 triệu bài báo, 215,000+ hồ sơ tác giả, 28,000+ hướng nghiên cứu, 25,000+ đề xuất nghiên cứu và 5,300+ địa điểm công bố — đồng thời liên tục mở rộng khi các bài báo AI mới từ arXiv và những nguồn khác được nhập vào.
Phạm vi
Kho ngữ liệu bao quát nghiên cứu về học máy và AI: bài báo, hướng nghiên cứu, sản phẩm nghiên cứu của tác giả, địa điểm công bố, tổ chức, giả thuyết nghiên cứu được tạo ra và tài nguyên nghiên cứu (kho GitHub, tập dữ liệu và mô hình Hugging Face, hồ sơ Zenodo) được liên kết với bài báo. Kho ngữ liệu không chứa tiểu sử, tin tức hoặc nội dung web không thuộc nghiên cứu. Tác nhân nên trả lời các câu hỏi ngoài phạm vi đó bằng những nguồn khác.
Nội dung được cung cấp
search_lacunaSử dụng điểm cuối công khai/api/v1/searchcủa Lacuna để tra cứu hướng nghiên cứu, bài báo, tác giả, địa điểm xuất bản, tổ chức, giả thuyết và tài nguyên. Các lượt tìm kiếm bài báo tường minh (search_type="paper") sử dụng bộ xếp hạng từ vựng+kết hợp ngữ nghĩa trong môi trường production của máy chủ khi các đối số xếp hạng khác vẫn ở giá trị mặc định. Truyềnsearch_type="hypothesis"để tìm kiếm giả thuyết. Truyềnsearch_type="resource"để tìm kho mã, tập dữ liệu, mô hình và bản demo được liên kết với bài báo; có thể lọc tùy chọn bằngresource_kind(codebase,dataset,model,demo) vàprovider(github,huggingface,zenodo); ví dụ,resource_kind="dataset"tìm các tập dữ liệu benchmark. Tìm kiếm tài nguyên từ chốidate_from/date_to,venue, sắp xếp theo năm và xếp hạng ngữ nghĩa (tài nguyên không có ngày tháng, địa điểm xuất bản hoặc embedding).get_hypothesis(hypothesis_id_or_url, view="context")Giả thuyết/đề xuất.view="context"(mặc định) là ngữ cảnh đề xuất gọn, chỉ cần một lần truy xuất (tóm tắt, phần tóm lược, các hướng nghiên cứu được liên kết);view="full"trả về bản ghi phiên bản của máy chủ cùng lịch sử phiên bản và số lượng tín hiệu. Nội dung đề xuất nằm trongversions[].markdown.get_direction(cluster_id_or_url, view="context")Hướng nghiên cứu/cụm.view="context"(mặc định) yêu cầu bản tóm tắt gọn, hướng đến tác nhân;view="full"trả về bản ghi cụm thô.get_direction_papers(cluster_id_or_url, page, limit, view="compact")Các bài báo được phân trang và gắn với một hướng nghiên cứu.view="compact"(mặc định) trả về các hàng sẵn sàng trích dẫn (id, url, tiêu đề, năm, địa điểm xuất bản, một vài tác giả, đoạn trích phần tóm lược);view="full"trả về các bản ghi bài báo thô từ nguồn upstream.get_paper(artifact_id_or_url, view="context", figure_limit=None, include_resources=True)Tra cứu bài báo cùng các phiên bản hiện có; dùng ID hiện vật của một phiên bản để đọc phiên bản đó. Các tài nguyên được liên kết (kho mã, tập dữ liệu, mô hình và bản demo) được đưa vào ngữ cảnh và chế độ xem đầy đủ theo mặc định; truyềninclude_resources=Falseđể loại bỏ chúng. Các chế độ xem khác bỏ qua tùy chọn này.view="context"(mặc định) yêu cầu ngữ cảnh gọn, hướng đến tác nhân; các chế độ xem khác là"full","preview","blog","figures","concepts"hoặc"neighbors". Trong chế độ xem ngữ cảnh,figure_limitgiới hạn số bản xem trước hình (mặc định của máy chủ là 3; truyền 0 để tắt bản xem trước nhưng vẫn giữ tín hiệufigures_truncated).get_resource(resource_id_or_url)Tra cứu tài nguyên theo id (từ kết quả tìm kiếm tài nguyên hoặc danh sáchresourcescủaget_paper) hoặc URL/resource/...của Lacuna: URL bên ngoài, tóm tắt, các khía cạnh (tác vụ, phương thức, kích thước, giấy phép), chỉ số của nhà cung cấp, trích đoạn README/thẻ, các bài báo được liên kết trongpublications(kèmpaper_idvà mối quan hệ nhưdataset_for), các hướng nghiên cứu liên quan và tài nguyên được đề cập.- Công cụ tác giả:
get_author_context(…, view="context"),get_author_papers,get_author_directionsvàget_author_neighbors. Bắt đầu vớiget_author_context, chế độ này mặc định hiển thị dạng gọn, hướng đến tác nhân (giới hạn số bài báo và dùng danh sáchimpact_directionsdễ đọc thay cho dữ liệu đo lường thôimpact_clusters). Dùng các công cụ chuyên biệt về bài báo, hướng nghiên cứu và tác giả lân cận để phân trang qua các bộ sưu tập đó mà không lặp lại ngữ cảnh tác giả.view="full"trả về ngữ cảnh đầy đủ theo cấu trúc bị giới hạn bởi máy chủ (các bộ sưu tập vẫn bị giới hạn ở 100 mục). Truyềninclude_neighbors=trueđể chủ động đưa các tác giả tương tự vào kết quả; thao tác này có thể làm tăng đáng kể độ trễ của máy chủ. - Công cụ địa điểm xuất bản và tổ chức:
get_venue_context(…, view="context"),get_institution_context(…, view="context"),get_institution_authors. Các công cụ ngữ cảnh mặc định dùng dạng gọn (danh sách bị giới hạn, loại bỏ các khối trùng lặp; địa điểm xuất bản giữ lại một phần hoạt động gần đây luôn bao gồmyearđược yêu cầu). Dùngget_institution_authorsđể phân trang qua danh sách tác giả đầy đủ của một tổ chức.
API được bao bọc
| Công cụ MCP | Điểm cuối API của Lacuna |
|---|---|
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 và provider được gửi dưới dạng các tham số truy vấn kind và provider lặp lại, đồng thời yêu cầu search_type="resource" hoặc "all". author_id_or_url giới hạn search_type="paper" ở một tác giả, chấp nhận ID tác giả thô hoặc URL trang tác giả của Lacuna. fields giới hạn/trọng số các trường văn bản dùng để xếp hạng từ vựng, ví dụ title^4,abstract, và chọn bộ xếp hạng từ vựng thử nghiệm; với lượt tìm kiếm bài báo được sắp xếp theo mức độ liên quan mặc định, tùy chọn này bỏ qua bộ xếp hạng từ vựng+kết hợp ngữ nghĩa trong môi trường production. Các trường được phép là title, abstract, summary, concepts, name, top_names, venue, description, topics, provider_key, paper_titles; mỗi trường chỉ hợp lệ với các loại có trường đó — title: bài báo/cụm/địa điểm xuất bản/giả thuyết/tài nguyên; description/topics/provider_key/paper_titles: tài nguyên; abstract/summary/concepts: bài báo; name: tác giả/tổ chức/địa điểm xuất bản; top_names: cụm/giả thuyết; venue: bài báo/địa điểm xuất bản (search_type="all" áp dụng cho tất cả). Trọng số phải thỏa mãn 0 < weight <= 100. Các trường không xác định, trọng số ngoài phạm vi, trường không tương thích với loại và fields kết hợp với ranking_profile="semantic" đều bị từ chối, vì nếu không máy chủ sẽ âm thầm loại bỏ, giới hạn hoặc bỏ qua chúng.) |
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 (mặc định) hoặc ?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 (khi đặt &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; chế độ ngữ cảnh và đầy đủ gửi include_resources. URL trang Work (/work/<name>, /work/<slug>/wrk_…) hoặc id wrk_… dạng thuần được đọc qua GET /api/v1/context/work/{work_id_or_name} trước |
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 chủ động yêu cầu các tác giả tương tự) |
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" → cùng tuyến nhưng không có view |
get_institution_context(institution_key_or_url, view="context") | view="context" → GET /api/v1/context/institution/{ikey}?view=compact; view="full" → cùng tuyến nhưng không có view |
get_institution_authors(institution_key_or_url, limit=50, offset=0) | GET /api/v1/institutions/{ikey}/authors |
Với các đối số id-hoặc-URL, hãy truyền id thô do search_lacuna trả về hoặc URL trang Lacuna tương ứng. MCP chuẩn hóa các trường url và *_url tương đối với Lacuna thành URL tuyệt đối, đồng thời chuyển các liên kết Lacuna thành URL tuyệt đối (bao gồm cả các trang /resource/...) bên trong các trường có tên summary_markdown, article_markdown, markdown, content hoặc description.
get_author_context bị giới hạn ở phía máy chủ trong cả hai chế độ xem. Chế độ xem gọn mặc định trả về bản tóm lược được tuyển chọn; view="full" trả về cấu trúc đầy đủ lớn hơn với các bộ sưu tập nhúng bị giới hạn ở 100 mục. Hãy dùng get_author_papers và get_author_directions thay vì cố phân trang các bộ sưu tập ngữ cảnh nhúng.
Mỗi lệnh gọi tìm kiếm bị giới hạn tối đa 50 kết quả; yêu cầu trang bài báo theo hướng nghiên cứu bị giới hạn tối đa 100 kết quả.
Trong search_lacuna, date_from và date_to là các giới hạn ngày xuất bản bao gồm cả hai đầu mút. Các định dạng được chấp nhận là YYYY, YYYY-MM và YYYY-MM-DD; ví dụ,
date_from="2020", date_to="2022-03" bao gồm các bài báo từ ngày 1 tháng 1 năm 2020
đến hết ngày 31 tháng 3 năm 2022.
search_lacuna cung cấp các cấu hình xếp hạng sau:
default/lexicalCấu hình mặc định cho mọi lượt tìm kiếm. Khisearch_type="paper",sort="relevance"vàfieldschưa được đặt, cấu hình này sử dụng bộ xếp hạng từ vựng+kết hợp ngữ nghĩa trong môi trường production của máy chủ, với cơ chế dự phòng linh hoạt. Giá trị mặc địnhsearch_type="all"của MCP thay vào đó sử dụng xếp hạng từ vựng mặc định của máy chủ.semanticDùng để truy xuất bài báo dựa trên embedding. Truy vấn ngữ nghĩa bỏ qua nhánh xếp hạng từ vựng thông thường, nhưng máy chủ vẫn có thể bổ sung các kết quả khớp từ vựng chính xác với tiêu đề. Chỉ được hỗ trợ cho các lượt tìm kiếmpapervàall(chỉ bài báo có embedding ngữ nghĩa), và không dùng cùng bộ lọcresource_kind/provider.bm25_title_abstract/bm25Dùng để khớp từ vựng, giới hạn trong tiêu đề và phần tóm lược. Bị từ chối đối với các lượt tìm kiếmauthorvàinstitution(các bản ghi đó không có trường tiêu đề hoặc phần tóm lược).
Mọi lượt tìm kiếm đều dùng cấu hình mặc định của máy chủ trừ khi có ranking_profile. MCP từ chối các tổ hợp cấu hình/loại không được hỗ trợ vì nếu không máy chủ sẽ chuyển sang tìm kiếm chuỗi con và âm thầm bỏ qua cấu hình xếp hạng được yêu cầu.
sort chấp nhận relevance (mặc định), year_desc và year_asc. Không thể kết hợp sắp xếp theo năm với ranking_profile="semantic" — máy chủ sẽ âm thầm bỏ qua cách sắp xếp — nên MCP từ chối tổ hợp đó; với truy vấn vừa mới vừa liên quan, hãy giữ xếp hạng ngữ nghĩa và giới hạn độ mới bằng date_from/date_to.
Biến môi trường
LACUNA_SITE_URLMặc định làhttps://lacuna.tiptreesystems.comLACUNA_MCP_TIMEOUTMặc định là30LACUNA_MCP_MAX_RETRIESMặc định là2; áp dụng cho thời gian chờ, lỗi truyền tải và các phản hồi HTTP429,502,503và504.LACUNA_MCP_USER_AGENTMặc định làlacuna-research-mcp/{package_version}LACUNA_MCP_BEARER_TOKENToken bearer tùy chọn được gửi dưới dạngAuthorization: Bearer ...cho các bản triển khai Lacuna riêng tư.LACUNA_MCP_CLIENT_TOKENToken tùy chọn được gửi dưới dạngX-Lacuna-Client-Tokenđể máy chủ MCP được lưu trữ tự nhận diện với Lacuna nhằm áp dụng giới hạn tốc độ tìm kiếm riêng.LACUNA_MCP_LOG_LEVELMặc định làWARNING(một trong các giá trịDEBUG,INFO,WARNING,ERROR,CRITICAL). Mặc định này giúp hoạt động thông thường không tạo nhiều log; chỉ hạ mức này khi gỡ lỗi, vìINFO/DEBUGcho phép HTTP client ghi toàn bộ URL yêu cầu — bao gồm cả chuỗi truy vấn tìm kiếm — ra stderr, nơi một số máy chủ MCP lưu lại.
Các biến môi trường được đọc một lần khi máy chủ MCP được tạo, hoặc trong lần gọi công cụ/API trực tiếp đầu tiên nếu mô-đun được nhập mà không gọi create_mcp().
Bố cục triển khai
Máy chủ là một bộ chuyển đổi MCP mỏng trên API HTTP của Lacuna. Phần triển khai được chia theo trách nhiệm:
lacuna_research_mcp/server.pyTạo ứng dụng MCPServer, đăng ký công cụ, dọn dẹp vòng đời và điểm vào CLIlacuna-research-mcp.lacuna_research_mcp/tools.pyCác hàm công cụ MCP. Mỗi công cụ chuẩn hóa đầu vào, gọi điểm cuối API Lacuna tương ứng thông qua các hàm trợ giúp client dùng chung và trả về dữ liệu tương thích với JSON.lacuna_research_mcp/client.pyTruy cập HTTP thời gian chạy tới Lacuna:httpx.AsyncClientgắn với event loop, xử lý thử lại, bọc lỗi, phân tích JSON, chuẩn hóa URL trong phản hồi vàapi_get/api_object/api_payload.lacuna_research_mcp/config.pyHằng số thời gian chạy,RuntimeConfig, tạo user-agent cho gói và phân tích biến môi trường.lacuna_research_mcp/ids.pyCác hàm trợ giúp chấp nhận id thô hoặc URL trang Lacuna và trích xuất các đoạn đường dẫn API an toàn.lacuna_research_mcp/normalize.pyXử lý hậu kỳ phản hồi cho URL Lacuna tương đối và liên kết Markdown.lacuna_research_mcp/errors.pyLoại ngoại lệ hướng đến người dùng dành cho các lỗi truy cập API Lacuna.
Ghi chú
get_papervàget_directionmặc định làview="context". Theo mặc định, các chế độ xem ngữ cảnh này yêu cầu các payload gọn nhẹ, hướng đến tác nhân của Lacuna để giữ cho phản hồi MCP nhỏ. Ngữ cảnh bài báo bao gồmsummary_markdownkhi có (nếu không thì dùngabstract), tác giả và hình; ngữ cảnh định hướng bao gồmsummary_markdown, giới hạn số lượng bài báo/tác giả/định hướng liên quan và có dấu đánh dấu nội dung bị cắt bớt. Dùngview="full"khi bạn cần siêu dữ liệu thô, và các chế độ xem bài báo khác (preview,blog,figures,concepts,neighbors) khi bạn muốn xem riêng một tài nguyên con.- Một lượt tìm kiếm bài báo được sắp xếp theo mức độ liên quan, không có
fieldstùy chỉnh, sẽ mặc định dùng bộ xếp hạng từ vựng+kết hợp ngữ nghĩa trong môi trường production của máy chủ. Đặtranking_profile="semantic"để truy xuất dựa trên embedding (có thể có lớp phủ tiêu đề chính xác) hoặc"bm25_title_abstract"để đối sánh từ vựng trên tiêu đề và tóm tắt. - Hầu hết các công cụ xem chi tiết đều chấp nhận ID được trả về từ tìm kiếm hoặc URL Lacuna tương ứng.
- Các URL Lacuna tương đối trong trường phản hồi
url/*_urlvà các trường có tênsummary_markdown,article_markdown,markdown,contenthoặcdescriptionđược chuẩn hóa thành URL tuyệt đối. - Khóa địa điểm tổ chức và cơ sở là các mã băm không mang ý nghĩa hiển thị (
d7bf22905bd6là một ví dụ), không phải tên dễ đọc nhưicml. Trước tiên, hãy tìm khóa bằngsearch_lacuna(search_type="venue"), hoặc truyền URL trang/venue/....
Trích dẫn
Nếu bạn thấy công trình của chúng tôi hữu ích, hãy trích dẫn các bài báo làm nền tảng cho tính năng tạo đề xuất nghiên cứu và bản đồ nghiên cứu của Lacuna.
Tạo đề xuất nghiên cứu — 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}
}
Bản đồ nghiên cứu — 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}
}
Giấy phép
MIT. Xem LICENSE.