Mirobody
Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.
作者提供的说明(英文原文)
Checks every LaTeX reference against Crossref, dblp, arXiv, DataCite, PubMed and OpenAlex. No LLM.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"paper-preflight": {
"command": "uvx",
"args": [
"paper-preflight",
"mcp"
]
}
}
}在终端中运行这条命令
claude mcp add paper-preflight -- uvx paper-preflight mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"paper-preflight": {
"command": "uvx",
"args": [
"paper-preflight",
"mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"paper-preflight": {
"type": "stdio",
"command": "uvx",
"args": [
"paper-preflight",
"mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 amos689 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(1.0.0)于23天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:Mirobody, FHIR MCP Server, Google Health MCP
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.
MCP server providing seamless access to FHIR APIs for AI tools and healthcare applications
Privacy-first unofficial Google Health API v4 MCP server for health, sleep, activity, HR agents
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
**Check every reference of a paper against real scholarly records before you submit.
No LLM guessing, no false accusations.**
English · 简体中文 · Quick start · User guide · Releases · Feedback
Language models invent references, and copy-pasted BibTeX carries wrong years, wrong authors and dead DOIs. paper-preflight reads your paper (LaTeX, Word, Markdown, Typst, a PDF or a plain reference list) and asks Crossref, dblp, arXiv, DataCite, PubMed and OpenAlex about every cited work, with Semantic Scholar too if you have a free key, Open Library for books without a DOI, and GitHub, PyPI, CRAN, Hugging Face and OpenML for software, models and datasets:
Every finding is backed by a record, or by every source that could know the work answering "no". When it cannot tell, it says "cannot determine" and why, instead of guessing. No language model takes part in a verdict.
Status: 1.0. On three weeks of real arXiv papers held out for the release: 0.79 false
alarms per 100 references, against 409 real problems found (accuracy).
Rule IDs, the JSON report, settings, commands and the Python API are kept through 1.x
(what is stable). False positives are the bugs we most want to hear
about: please open an issue.
With uv nothing needs installing:
uvx paper-preflight check path/to/paper
path/to/paper is the project's folder, its main .tex file or a .bib file. To install it for good (Python 3.11 or later):
pip install paper-preflight
| Extra | Adds | Install |
|---|---|---|
pdf | Reading the reference list of a PDF | pip install "paper-preflight[pdf]" |
mcp | The MCP server for coding agents | pip install "paper-preflight[mcp]" |
support | The experimental evidence finder, with its local model | pip install "paper-preflight[support]" |
The repository's demo paper cites eleven works, several of them wrong on purpose. The animation above is a real run of paper-preflight check examples/demo-paper against the live sources. In it, the correct NeurIPS paper is verified through dblp although Crossref only holds fake copies of it, the book without an identifier is confirmed by Open Library, and the Chinese book, whose script is not supported yet, is "cannot determine", not "not found".
The same run as text
$ paper-preflight check examples/demo-paper
paper-preflight 1.0.0 · main.tex · 12 entries, 12 cited keys
error CIT001 main.tex:31 Citation key 'nonexistent2023' is not defined in any bibliography file (1 use(s)). error REF001 refs.bib:43 The doi of 'devlin2019bert' (10.1109/cvpr.2016.90) resolves to a different work in Crossref: "Deep Residual Learning for Image Recognition" (He et al., 2016). error REF003 refs.bib:66 'lindqvist2024quantum' was not found in Crossref, dblp and Semantic Scholar, and every source responded. Check that the work exists and that its title is correct. error REF004 refs.bib:73 'wakefield1998ileal' has been retracted (reported by Crossref, OpenAlex). Cite it only if the text discusses the retraction. error CIT002 refs.bib:128 Entry key 'kingma2015adam' is already defined at line 47; BibTeX ignores this one. warning REF015 refs.bib:31 'he2015residual' cites a preprint that has been published in CVPR (2016), DOI 10.1109/cvpr.2016.90. Cite the published version and keep the eprint field. warning CIT004 refs.bib:37 Entries 'devlin2019bert' and 'he2016deep' look like the same work (same DOI). warning REF013 refs.bib:51 'kingma2015adam' gives the year 2016, but dblp records 2014, 2015. warning REF017 refs.bib:112 The doi of 'tacl2019example' contains LaTeX escapes: '10.1162/tacl\_a\_00276'. Write it as: 10.1162/tacl_a_00276 info REF005 refs.bib:73 'wakefield1998ileal' has a published correction (reported by Crossref). info REF090 refs.bib:95 'zhou2016ml' could not be verified: non-Latin titles are not supported yet; grey literature without an identifier (book, report, software, web page). info CIT003 refs.bib:116 Entry 'lecun1998gradient' is never cited.
References: 7 verified · 1 metadata mismatch · 1 identifier conflict · 1 not found · 1 cannot determine 5 error(s) · 4 warning(s) · 3 info
| You have | Command |
|---|---|
A LaTeX project: its folder, main .tex or .bib; a project that ships only its compiled .bbl, as many arXiv sources do, is read from it (checked, never edited) | paper-preflight check path/to/paper |
| A Word manuscript: citations inserted by Zotero, Mendeley or EndNote, Word's own sources, or the reference list as typed | paper-preflight check paper.docx |
Markdown, Quarto or R Markdown: [@key] against its bibliography | paper-preflight check paper.qmd |
Typst: @key against #bibliography(...), a .bib or Hayagriva .yml | paper-preflight check paper.typ |
A bibliography on its own: BibTeX, CSL-JSON (.json), RIS (.ris) or YAML (.yml) | paper-preflight check refs.ris |
| A reference list as plain text, in the common styles (APA, IEEE, ACM, Nature, Vancouver, Springer, Elsevier, MDPI, GOST, Chicago, MLA) | paper-preflight check references.txt, or - for stdin |
Only the PDF (with the pdf extra) | paper-preflight check paper.pdf |
| Any arXiv paper: its source is downloaded to a temporary folder, checked and deleted | paper-preflight check arxiv:2607.06922 |
What each input can and cannot tell, in detail: docs/inputs.md.
Every reference gets one verdict:
| Verdict | Means |
|---|---|
| verified | A record of the work was found and agrees with the entry |
| metadata mismatch | The work was found, but the entry says something else about it: the findings name the field |
| identifier conflict | The entry's DOI or arXiv ID belongs to another work |
| not found | Every source that could know the work answered, and none has it |
| cannot determine | It could not be decided, and the report says why |
The findings say what is wrong:
| Rule | Finding |
|---|---|
| REF001 | The DOI or arXiv ID points to a different paper |
| REF002 | The DOI or arXiv ID does not exist |
| REF003 | The work was not found in any source, and every source answered |
| REF004 · REF005 | The work was retracted, or has an expression of concern or a correction |
| REF010–REF014 | Authors, title, year or venue differ from the real record |
| REF015 | A cited preprint has been formally published |
| REF016 | The registry has a DOI the entry lacks (offered as a safe fix) |
| REF017 | An identifier is written so that links break (10.1162/tacl\_a\_00276, …v1) |
| REF018 | A cited arXiv preprint was withdrawn by its authors |
| REF019 · REF021 | A linked repository, package or dataset does not exist; a linked web page is gone, with no archived copy |
| REF020 | A preprint is cited with a venue no catalogue of journals and conferences has |
| REF090 | Cannot determine, always with the reason (source unavailable, grey literature, …) |
| CIT001–CIT008 | Undefined, duplicate, unused or near-duplicate citation keys; broken .bib syntax |
| TEX001–TEX004 | Included files missing, unreadable or including each other; a remote bibliography left unchecked |
| RUN001 · RUN002 · CFG001 | A run left incomplete by a source outage; a source answered in place of another; a suppression comment that silenced nothing |
Every rule has a page: what it checks, when it can be wrong, and what to do. paper-preflight explain REF003 prints it in the terminal.
Four measurements, all against the live sources:
| Measured on | Result |
|---|---|
| Real papers: 60 arXiv papers from three weeks held out for 1.0, 2,714 references, every flag reviewed by hand | 0.79 false alarms per 100 references (one every three papers), against 409 real problems |
| Hallucinations that passed peer review: the 151 GPTZero found in NeurIPS 2025 and ICLR 2026 papers | 142 flagged (94%), 9 cannot determine, none verified |
| HALLMARK, a public benchmark: 831 entries never used during development | Any issue: precision 98.5%, recall 93.5%, false-positive rate 1.9% |
| Next to five other tools, on 104 references labelled by hand in a published study | Precision 72.5%, against 31–51% for the others, at 87.9% recall |
Precision comes first: a reference is called fabricated only on positive evidence, and an unanswered or ambiguous lookup is reported as "cannot determine", never as "not found". The evaluation harness and every run's summary are in evals/.
Each week is 20 arXiv papers (cs, stat, q-bio, quant-ph and astro-ph) chosen mechanically. For 1.0, three weeks never used before were committed together, before the changes they measure, and each was run once on the same code. The gate was at most 1.5 false alarms per 100 references in each week and at most 1.0 on average. Above them are the more recent weeks that stayed under 1.0, each run once with the version of its time; every week measured, those over 1.0 too, is in evals/README.md.
| Papers first submitted | Version | References | Flags | Real problems | False alarms | Unclear | False alarms per 100 references |
|---|---|---|---|---|---|---|---|
| 2026-10-07..13 | 1.0 candidate, 1st try | 991 | 81 | 76 | 4 | 1 | 0.4 |
| 2026-09-30..10-06 | 0.7.0 | 1,014 | 89 | 79 | 7 | 3 | 0.7 |
| 2026-09-23..29 | 0.6.0 | 786 | 48 | 42 | 6 | 0 | 0.8 |
| 2026-06-24..30 | 0.8.0 | 1,127 | 143 | 132 | 10 | 1 | 0.9 |
| 2026-05-13..19 | 1.0 candidate, 1st try | 1,008 | 133 | 123 | 8 | 2 | 0.8 |
| 2026-05-06..12 | 1.0 candidate, 2nd try | 950 | 133 | 126 |
只显示了开头部分;其余内容请在仓库中阅读