Context7
Up-to-date docs for AI agents
作者提供的说明(英文原文)
Search arXiv/Semantic Scholar/OpenAlex + medical evidence (PubMed/Europe PMC) + LaTeX/PDF tools.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
https://latex-tools.online/mcp在终端中运行这条命令
claude mcp add --transport http paper https://latex-tools.online/mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"paper": {
"url": "https://latex-tools.online/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"paper": {
"type": "http",
"url": "https://latex-tools.online/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
https://latex-tools.online/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 MCPServings 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
尚未检查;我们会轮流检查各个端点
尚未检查;我们会轮流检查各个端点
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(0.5.0)于5个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Context7, Codebase Memory, Exa
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Remotely-callable MCP server for academic paper search, full-text retrieval & image→LaTeX, served at https://latex-tools.online/mcp.
Three corpora behind one normalized interface:
s2) — the full S2 API surface: citation graph, authors, recommendations, full-text snippets, bulk datasetsoa) — 316M all-field works: citation graph, authors with h-index, institutions, topics, influence metricsPlus a unified `search_all` that fuses all three corpora, image→LaTeX OCR, and LaTeX lint + PDF→text tooling.
| Tool | Purpose |
|---|---|
| `search_all(query, max_results=10, sources='arxiv,semanticscholar,openalex')` | Unified search. Fans out to all three corpora concurrently, de-duplicates the same work (by DOI/title) and re-ranks with Reciprocal Rank Fusion. Each hit carries sources (who found it) + an ids map for follow-up calls. Prefer this for broad lookups. |
search_papers(query, source='arxiv', max_results=10, sort_by='relevance') | Single-corpus search. arXiv query accepts plain text or field syntax (ti: au: cat:cs.CL abs: + AND/OR). |
get_paper(paper_id, source='arxiv') | One paper's full record. S2 id accepts S2 id / DOI: / ARXIV: / CorpusId:. |
search_by_author(author, source='arxiv') | Papers by author, newest first. |
list_recent(category, source='arxiv') | Latest in a category (arXiv code or S2 field of study). |
list_categories(source='arxiv') | Common category codes. |
| `read_paper(paper_id, format='markdown')` | FULL text (arXiv). markdown = body with formulas as $LaTeX$; html = raw LaTeXML page; latex = original manuscript .tex source. |
list_paper_sources() | Available corpora. |
read_paper fetch chain: arxiv.org/html/{id} → ar5iv fallback (markdown/html), or arxiv.org/e-print/{id} tarball main .tex (latex). Formulas are recovered from the LaTeXML alttext invariant.
| Tool | Purpose |
|---|---|
| `search_medical(query, study_types='rct,meta-analysis,systematic-review', year_from=0, max_results=10, fetch_fulltext=True)` | Clinical literature search. Queries PubMed, filters by research type via Publication-Type tags and re-ranks by the evidence pyramid (meta-analysis / systematic review > RCT > cohort > ...), so real trials surface above high-cited reviews/guidelines that pure-citation ranking floats up. Open-access full text is attached from Europe PMC by PMID. If the type filter yields nothing it auto-relaxes (flagged filter_relaxed). query is English keyword/boolean text — do NL/multilingual query understanding upstream. Backed by NCBI E-utilities + Europe PMC (both free, no key required). |
Turn a formula or table image back into LaTeX (e.g. a figure cropped from a paper) without needing your own vision model. Backed by the co-located recognize service (PaddleOCR-VL / DeepSeek-OCR / texify).
| Tool | Purpose |
|---|---|
recognize_formula(image_url=... or image_base64=..., model='deepseek-ocr') | Formula image → LaTeX. image_url is downloaded server-side (with SSRF guards). Returns {latex, model, elapsed_ms}. |
recognize_table(image_url=... or image_base64=..., model='deepseek-ocr') | Table image → LaTeX tabular. |
list_ocr_models() | Available OCR models (deepseek-ocr, paddleocr-vl, texify). |
Companions to the LaTeX/PDF web tools at latex-tools.online — same backends, exposed over MCP.
| Tool | Purpose |
|---|---|
lint_latex(code) | Check a LaTeX snippet for errors and return an auto-fixed version. Returns {errors, fixed_code, summary_en, summary_zh, elapsed_ms}. |
extract_pdf(pdf_url=... or pdf_base64=..., formula=True, table=True) | PDF → clean Markdown/LaTeX text via MinerU (useful for papers with no open-access full text). pdf_url is downloaded server-side (SSRF-guarded). Content-addressed + cached: a recently-seen or small PDF returns content in one call; a fresh PDF (MinerU is GPU-heavy, minutes) returns status='running' + a task_id. |
extract_pdf_result(task_id) | Fetch an extract_pdf job by task_id. Returns content once status='done'; while 'running', content is null — call again shortly. |
get_openalex_work · get_openalex_citations · get_openalex_references · search_openalex_works (filters: year range, open-access, min-citations, institution)search_openalex_authors · search_openalex_institutionsget_openalex_trends · list_openalex_topicsget_paper_citations · get_paper_references · get_paper_authorsmatch_paper_title · autocomplete_paperssearch_papers_bulk (≤1000, sortable, token paging) · get_papers_batchsearch_authors · get_author · get_author_papers · get_authors_batchsearch_snippets (search inside paper body)recommend_papers_for_paper · recommend_papers_from_exampleslist_dataset_releases · get_dataset_release · get_dataset_download_links · get_dataset_diffspaper_mcp/
server.py FastMCP server (tool registrations + instructions) models.py normalized Paper model aggregate.py cross-source fusion (dedup + Reciprocal Rank Fusion) sources/ base.py source registry (get_source / list_sources) arxiv.py arXiv Atom API + read_paper (HTML/markdown/latex) semanticscholar.py Semantic Scholar full API surface openalex.py OpenAlex REST API (works/authors/institutions/topics) recognize.py image→LaTeX client over the co-located recognize service latextools.py lint + PDF-extract clients over the latex-tools.online services pyproject.toml
cd paper-mcp
python -m venv .venv && . .venv/bin/activate pip install -e . PAPER_MCP_PORT=9400 python -m paper_mcp.server
| Var | Default | Notes |
|---|---|---|
PAPER_MCP_HOST | 127.0.0.1 | |
PAPER_MCP_PORT | 9400 | |
PAPER_MCP_PATH | /mcp | |
SEMANTIC_SCHOLAR_API_KEY | — | optional; raises S2 rate limit. |
MCP_MAX_PER_HOUR | 300 | Direct-client JSON-RPC POST budget per IP. |
MCP_WORKER_MAX_PER_HOUR | 300 | Trusted reverse-proxy Worker budget per HMAC-derived connection key. Raw keys are not retained. |
MCP_WORKER_SHARED_MAX_PER_HOUR | 2400 | Shared ceiling across all trusted Worker connections. |
MCP_RATE_COOLDOWN_SEC | 300 | Minimum fast-rejection cooldown after a bucket reaches its limit. |
_USER_AGENT, backoff).read_paper covers ~80%+ of papers via official HTML; older scan-only papers may have no full text.docs repo on 2026-06-07; that copy is gone.MIT © MCPServings. See LICENSE.