Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Verify and repair BibTeX references with DOI-first MCP tools.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"bibverify": {
"command": "uvx",
"args": [
"bibverify",
"mcp"
]
}
}
}在终端中运行这条命令
claude mcp add bibverify -- uvx bibverify mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"bibverify": {
"command": "uvx",
"args": [
"bibverify",
"mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"bibverify": {
"type": "stdio",
"command": "uvx",
"args": [
"bibverify",
"mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 Hylouis233 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.3.0)于3个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:Spec Driven Development, Remote Desktop Commander, ProAgentStore
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
MCP-first control plane for ProAgentStore agents and private instances.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Verify bibliographic existence and metadata consistency without destructive edits.
Chinese · Install · Quick start · MCP · Development
Bibverify is a BibTeX metadata verification tool for researchers, editors, automation, and AI assistants. It starts with exact DOI, PMID, PMCID, or arXiv identifiers and then scores candidates from title, author, year, venue, and pagination evidence.
Bibverify evaluates whether a bibliographic record can be located in the queried sources and whether its metadata agrees. It does not prove that research findings are true, data is authentic, or a venue is reputable. A missing database record is not evidence that a reference is fabricated. By default, the source .bib file is never overwritten.
identifier_conflict instead of being hidden by title search.abstract, keywords, file, note, and custom fields that providers do not return; conflicting persistent identifiers are never overwritten automatically.Retry-After support for 429/5xx responses.GitHub Actions tests all three operating systems across all four supported Python versions.
The current published release is v0.3.0. This branch prepares v0.4.0; commands marked v0.4.0 become usable only after their linked npm, GHCR, or GitHub Release artifact has been published.
Run without a permanent installation:
uvx bibverify --version
Starting with v0.4.0, Node.js users can use the zero-dependency npm launcher. It downloads the matching native release, verifies SHA256SUMS, and forwards every argument and exit code:
npx --yes @hylouis233/bibverify --version
pnpm dlx @hylouis233/bibverify --version bunx --bun @hylouis233/bibverify --version
For a persistent CLI in an isolated Python environment, use uv tool or pipx:
uv tool install bibverify
pipx install bibverify
Inside a virtual environment, regular pip also works:
python -m pip install --upgrade bibverify
Each release also provides smoke-tested native packages on GitHub Releases. Beginning with v0.4.0, the release matrix covers Windows x64 plus macOS and glibc 2.28+ Linux on both x64 and ARM64. musl-based Linux users should use the Python package or container image. Windows ARM64 is not published natively yet because an MCP runtime dependency does not currently provide Windows ARM64 wheels; npm automatically uses the tested x64 build under Windows 11 emulation, or you can use the ARM64 container instead.
The same release publishes a multi-architecture container:
docker run --rm ghcr.io/hylouis233/bibverify:0.4.0 --version
Package-manager manifests are generated from the final release bytes, not from unverified build inputs. Homebrew, Scoop, and WinGet are not live catalog entries yet: v0.4.0 will attach submission- ready manifests to GitHub Release, after which each external catalog still requires onboarding or review. See Distribution channels for rollout status.
bibverify doi 10.1038/nature12373 --key example2013
For a machine-readable response:
bibverify doi 10.1038/nature12373 --json
.bib fileCreate a starter configuration:
bibverify config init
Place references.bib next to the configuration and run:
bibverify check --config config.json
You can override the input and output paths from the command line:
bibverify check references.bib --config config.json --output-dir bibverify-output
Inspect results without writing any file:
bibverify check references.bib --dry-run --json
After reviewing the report, explicitly apply high-confidence field updates. Bibverify creates a byte-for-byte backup first:
bibverify check references.bib --apply
PowerShell example:
py -m bibverify check '.\Bibliography\references.bib' --output-dir '.\Verification results'
The v0.2 forms remain available for compatibility, although new scripts should use subcommands:
bibverify config.json
bibverify --doi 10.1038/nature12373 --key example2013
A minimal configuration looks like this:
{
"language": "EN", "bib_file": "references.bib", "encoding": "auto", "output_dir": "bibverify-output", "user_info": { "email": "your_email@example.com", "app_name": "Bibverify" } }
See config_template.json for every commonly used option.
Path behavior is intentionally predictable:
bib_file and output_dir values are resolved from the directory containing config.json, not the shell's current directory.output_dir is omitted, output is written next to the input bibliography.encoding: "auto" tries UTF-8 with BOM, UTF-8, and GB18030. It does not fall back to Latin-1 and silently turn unknown bytes into mojibake.Keys can be stored in a local configuration, but environment variables are safer and harder to commit accidentally:
| Environment variable | Used for |
|---|---|
BIBVERIFY_EMAIL | Crossref polite pool and contact information |
BIBVERIFY_OPENALEX_API_KEY | OpenAlex |
BIBVERIFY_SEMANTIC_SCHOLAR_API_KEY | Semantic Scholar |
BIBVERIFY_PUBMED_API_KEY | PubMed/NCBI |
BIBVERIFY_CORE_API_KEY | CORE |
PowerShell:
$env:BIBVERIFY_EMAIL = 'you@example.com'
$env:BIBVERIFY_OPENALEX_API_KEY = '...' bibverify check --config config.json
Bash or Zsh:
export BIBVERIFY_EMAIL='you@example.com'
export BIBVERIFY_OPENALEX_API_KEY='...' bibverify check --config config.json
{
"query_settings": { "delay_between_requests": 0.5, "timeout": 10, "connect_timeout": 3.05, "read_timeout": 20, "max_retries": 3, "backoff_factor": 0.5, "stop_on_first_match": true, "match_threshold": 0.86, "ambiguous_threshold": 0.68, "auto_update_threshold": 0.92, "cache_enabled": true, "cache_ttl_hours": 168, "cache_path": ".bibverify-cache.sqlite3" } }
connect_timeout and read_timeout separately bound connection setup and response reads; the compatibility timeout field remains available. match_threshold controls automatic candidate acceptance, ambiguous_threshold controls which plausible candidates enter review, and auto_update_threshold is an additional gate for field changes. Higher values are more conservative. Relative cache paths are resolved from the config directory.
The official bioRxiv details route does not provide arbitrary title search. Bibverify therefore calls bioRxiv only for an exact 10.1101/... DOI and leaves title-only discovery to providers whose contracts support it, such as Crossref and Europe PMC.
bibverify check [BIB_FILE] [--config PATH] [--output-dir DIR] [--format txt|json|jsonl|csv] [--dry-run|--apply] [--json]
bibverify doi DOI [--key KEY] [--config PATH] [--json] bibverify config init [--output PATH] [--force] bibverify doctor [--config PATH] [--json] bibverify providers list [--json] bibverify cache clear [--config PATH] bibverify benchmark [--dataset PATH] bibverify mcp [--config PATH] [--workspace-root DIR] [--transport stdio|streamable-http] bibverify agent init [--target generic|codex|claude|cursor] [--output PATH] bibverify skill export [--target ...]
Exit codes:
| Code | Meaning |
|---|---|
0 | Verification completed and metadata is consistent |
1 | Runtime error reserved for uncategorized command failures |
2 | Metadata differences or high-confidence updates exist |
3 | Ambiguous, not-found, or identifier-conflict entries require review |
4 | A provider was unavailable and verification is incomplete |
5 | The input file, configuration, or entry is invalid |
With --json, stdout contains JSON only. Diagnostics go to stderr, which keeps the command safe for CI and scripts.
For an input named references.bib, Bibverify may create:
bibverify_report_ . : complete states, candidates, provider errors, confidence, and field provenance in txt, json, jsonl, or csv.references_backup_ .bib: byte-for-byte copy of the source.references_updated_ .bib: complete bibliography after non-destructive merging; omitted when nothing changes.references_review_ .bib: ambiguous, not-found, unavailable-source, identifier-conflict, or invalid entries; omitted when nothing needs review.The report-level complete value is true only when every entry completed verification. A rate-limited or unreachable provider makes it false even if another source found a candidate. Each field_diffs record includes original/suggested values, source, confidence, normalized equivalence, action, and reason.
Each output can be disabled independently through output_settings. --dry-run overrides those settings and performs zero writes. The default command only writes proposals; only --apply changes the source after a backup.
Static priority is only the starting point:
identifier_conflict.Unpaywall is currently treated as open-access enrichment, not as a primary bibliographic metadata provider. Provider states distinguish matched, no_match, ambiguous, rate_limited, auth_error, network_error, parse_error, provider_error, and skipped.
Bibverify uses the official MCP Python SDK and supports local stdio and Streamable HTTP transports.
Start a stdio server:
bibverify mcp --config config.json --workspace-root .
MCP client configuration:
{
"mcpServers": {
只显示了开头部分;其余内容请在仓库中阅读