CiteNexus

io.github.akougkas由 GitHub 账号 akougkas 发布v0.2.2更新于 Oct 24, 2026

Search scholarly sources, verify references, and export citations with traceable evidence.

概览

AI 生成的概览

CiteNexus 让 AI 助手检索学术来源、解析并核验参考文献,并以 BibTeX、RIS 或 CSL-JSON 导出可追溯的引用。

可以做什么
跨多个学术来源联合检索,按来源分页,支持年份与开放获取筛选并做保守去重。解析 DOI 及 arXiv、PubMed、OpenAlex、Scopus、Web of Science 等命名空间标识符,并用检索到的元数据核对标题与年份。将单条或批量记录导出为 BibTeX、RIS 或 CSL-JSON,并在不臆造字段的前提下规范化已有 BibTeX。翻阅某篇论文的参考文献或被引文献,并查看按来源和索引分别记录的引用次数。查找来源报告的开放获取位置(可选经 Unpaywall 补充),并查看已配置的来源。
适用场景
适合构建文献候选清单、修复不确定的参考文献、核查引用次数背后的来源,或为文献管理软件和写作工具准备参考文献表。适合需要确定性、可溯源引用元数据而非模型生成字段的研究助手。
运行要求
以 PyPI 包形式通过 uvx 在本地以 stdio 运行;需要 Python 3.11+ 和 uv,首次运行会下载包及依赖。Crossref、DataCite、Europe PMC、arXiv 和 Semantic Scholar 无需密钥。可选密钥用于 OpenAlex、Scopus、Web of Science、SerpAPI 或 SearchApi,另有可选的 Crossref 与 Unpaywall 联系邮箱。需要访问各来源 API 的网络。
安装前请注意
SerpAPI、SearchApi、Scopus、Web of Science 等商业或计量型适配器会消耗账户额度或需要订阅权限,仅在显式选择时调用。密钥通过环境变量提供。核验只确认标识符存在于检索到的元数据中,并不确认研究结论、作者是否完整、是否支持某主张或是否被撤稿。元数据可能有误,不同来源的引用次数不可直接比较。

安装

在 SourceWeft 中

  1. 打开 控制台中的 CiteNexus,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

CiteNexus MCP

[CiteNexus]

Scholarly discovery and citations with evidence you can trace.

CiteNexus connects research assistants to open scholarly metadata, specialist academic indexes, and optional commercial databases through the Model Context Protocol. Search without an API key, resolve stable identifiers, check references against their sources, and export citations without asking a language model to invent the missing fields.

This is a citation and metadata service for the assistant you already use. It works alongside reference managers such as Zotero and writing environments that support MCP.

CiteNexus 0.2.3 includes the MCP service and the cite-nexus-wtfp companion. The WTF-P integration targets its separate 0.7.0 release. Marketplace listings and native client plugin qualification are tracked independently.

Quick start · WTF-P integration · Provider guide · Troubleshooting · Release information

  • Useful without credentials: Crossref, DataCite and Europe PMC are the default search sources. arXiv and Semantic Scholar are also available without mandatory keys.
  • Optional specialist and commercial access: OpenAlex, Google Scholar through SerpAPI or SearchApi, Scopus and Web of Science Starter have explicit configuration and provider selection.
  • Source-backed records: namespaced identifiers, retrieval timestamps, field attribution, incomplete-author warnings and provider-specific citation counts.
  • Deterministic export: BibTeX, RIS and CSL-JSON from retrieved metadata. No model is required.
  • Current MCP: Python SDK 2.2, the 2026-07-28 specification, structured tool results, resources, prompts, progress, stdio and Streamable HTTP. Earlier clients remain supported by the SDK's legacy protocol path.

Quick start

Python 3.11+ and uv are required.

bash
uvx --from cite-nexus-mcp==0.2.3 cite-nexus-mcp --versionuvx --from cite-nexus-mcp==0.2.3 cite-nexus-mcp --no-env-file --list-providers

For an MCP client with a mcpServers configuration:

json
{  "mcpServers": {    "cite-nexus": {      "command": "uvx",      "args": ["--from", "cite-nexus-mcp==0.2.3", "cite-nexus-mcp", "--no-env-file"]    }  }}

The client starts MCP over stdio. No API key or .env file is required. Running the server command directly waits for a client; it is not an interactive search shell. If your client cannot find uvx, use its absolute executable path. The first run downloads the package and its dependencies.

For a persistent installation, including the WTF-P companion:

bash
uv tool install cite-nexus-mcp==0.2.3cite-nexus-wtfp --check

The diagnostic starts the actual MCP service and lists providers without querying vendor APIs. See the WTF-P setup for the separate integration and executable-path setting.

For local HTTP clients:

bash
uvx --from cite-nexus-mcp==0.2.3 cite-nexus-mcp --no-env-file --transport streamable-http --port 8000

Connect to http://127.0.0.1:8000/mcp. The CLI binds only to loopback and serves a single trust boundary. A public, multi-user deployment needs authentication, credential isolation and its own deployment integration; the CLI does not supply those features.

Sources and access

Provider IDCoverageAccessSetup
crossrefPublisher-deposited DOI metadata and citation countsFree; defaultOptional CITE_NEXUS_CONTACT_EMAIL for the polite pool
dataciteDatasets, software and other DOI-registered research outputsFree; defaultNone
europe_pmcBiomedical literature, PubMed/PMC records, references and citationsFree; defaultNone
arxivPreprints in physics, mathematics, computing and related fieldsFreeSelect explicitly; paced to one request per three seconds
semantic_scholarAcademic Graph discovery and citation traversalFree/shared anonymous limits; optional keyOptional SEMANTIC_SCHOLAR_API_KEY
openalexMultidisciplinary research graphFree credits / metered account accessOPENALEX_API_KEY
serpapiGoogle Scholar through SerpAPI vendor APICommercial; account allowances varySERPAPI_API_KEY
searchapiGoogle Scholar through SearchApi.io vendor APICommercial; account allowances varySEARCHAPI_API_KEY
scopusElsevier's curated literature indexInstitutional/commercial entitlementSCOPUS_API_KEY; optional SCOPUS_INSTTOKEN
wosClarivate Web of Science StarterInstitutional/commercial entitlementWOS_API_KEY

find-open-access can additionally enrich DOI records with Unpaywall when UNPAYWALL_EMAIL is configured. It returns reported legal OA locations and licensing information; it does not download PDFs or bypass access restrictions.

Free access is subject to provider rate limits and terms. Anonymous Semantic Scholar can be heavily throttled. OpenAlex access policies have changed over time; CiteNexus requires a key for that adapter even when an anonymous request happens to succeed. Institution keys do not by themselves guarantee subscription access or access outside an institution's network.

Commercial and metered adapters are called only when selected explicitly, when resolving their own namespaced IDs, or when deliberately configured as search defaults. Setting a key alone does not add a vendor to default searches. list-providers reports configuration, capabilities and documentation links without testing access or revealing key values.

Research workflows

Use CiteNexus to build a literature shortlist, repair an uncertain reference, check the source behind a citation count, or prepare a bibliography for your writing tool. For a full writing workflow, the WTF-P companion connects discovery to evidence tables, outlines and manuscript work while keeping candidate references visible for review.

Ask your assistant to use the tools directly, or start with the literature-review and bibliography-audit MCP prompts. Example tool arguments:

json
{"query": "reproducible machine learning benchmarks", "providers": ["crossref", "arxiv"], "limit": 5}
json
{"identifier": "10.1038/nature14539", "format": "bibtex"}
json
{"citation": "10.1038/nature14539", "expected_title": "Deep learning", "expected_year": 2015}
json
{"identifier": "PMID:26017442", "direction": "references", "provider": "europe_pmc", "limit": 10}
json
{"identifiers": ["10.1038/nature14539", "arxiv:1706.03762"], "format": "csl-json"}
ToolPurpose
list-providersInspect source capabilities, access tiers and credential configuration
search-papersConcurrent federated search, conservative deduplication and per-source pagination
resolve-paperRetrieve and validate a DOI or namespaced identifier; optionally merge selected sources
get-citationExport one resolved record as bibtex, ris or csl-json
verify-citationCheck an identifier or single BibTeX entry, including supplied title and year
batch-citationsResolve and export 1–20 identifiers with ordered results, partial failures and progress
related-papersPage through a source's citations or references
paper-metricsReturn observed citation counts, separated by provider and index
find-open-accessFind source-reported OA locations, with optional Unpaywall enrichment
enhance-citationNormalize BibTeX formatting while preserving supplied bibliographic facts
find-scholar-idLegacy Scholar discovery through SerpAPI or SearchApi; returns candidates for review

search-papers defaults to 10 results per provider, not 10 overall. Results interleave each provider's ranking, then merge compatible records. limit is 1–50, or at most 20 when using SerpAPI or SearchApi. Use each provider's next_offsets with the same limit, selecting that provider for the next call. Europe PMC search uses next_cursors instead: pass its token as cursor, select only europe_pmc, keep the same query and limit, and leave offset at zero. Offsets must be multiples of the limit, up to 10,000. year_from, year_to and open_access_only filter the fetched page; unknown values are excluded. Abstracts are omitted from search results by default; set include_abstract: true or resolve a record to retrieve them. Search records are compact by default: field_sources is empty while sources still names every provider. Set detail: "full" or resolve a record for per-field provenance. Provider search languages differ: explicit advanced queries use that provider's syntax.

Supported identifiers include 10.1038/nature14539, arxiv:1706.03762, PMID:26017442, PMC12345, openalex:W2919115771, s2:<paperId>, s2:CorpusId:<number>, scholar:<numericClusterId>, scopus:<numericId>, and WOS:<recordId>. DOI, arXiv and PubMed URLs are recognized. Arbitrary URLs are not fetched, and unprefixed numeric strings are not assumed to be PubMed or Scholar IDs.

DOI resolution tries Crossref, DataCite and Europe PMC in order until a matching record is retrieved. An explicit providers list instead checks each compatible selected source and retains evidence and disagreements. Native identifiers route to their corresponding source. A title search always returns candidates; it never silently declares the first result a match.

Read the MCP resources cite-nexus://methodology, cite-nexus://providers and cite-nexus://workflows for machine-accessible guidance.

What “verified” means

Verification establishes that an identifier exists in retrieved metadata and checks any supplied title and year. It does not establish that a paper's findings are correct, that every author is present, that the paper supports a specific claim, or that no retraction exists. A provider outage produces unavailable, rather than a claim that the citation is fabricated.

Exports omit unavailable metadata. Partial author lists generate warnings; BibTeX uses others where appropriate. Citation counts retain their source, index and observation timestamp and are never summed across databases. Counts from different providers are not directly interchangeable. Metadata can contain errors or conflicting publication years, and an absent retraction flag is not proof that a paper is unretracted.

CSL-JSON is structured bibliographic data. Use a CSL processor or your reference manager to render APA, IEEE or a journal's house style. enhance-citation supports default and compact formatting; it does not infer keywords, awards, impact factors or missing authors.

Configuration

Copy .env.example to .env only if you need optional settings. Existing process environment variables take precedence. The CLI loads ./.env, or an explicit --env-file; it never searches parent directories. Importing the Python package does not read .env or call external services. Pass --no-env-file for clients that manage credentials themselves. The WTF-P companion and plugin manifests always use this mode.

VariableDefaultMeaning
CITE_NEXUS_DEFAULT_PROVIDERScrossref,datacite,europe_pmcExplicit search source IDs, comma separated
CITE_NEXUS_TIMEOUT12Timeout in seconds for each HTTP request
CITE_NEXUS_OPERATION_TIMEOUT40Time budget for a provider operation or identifier resolution
CITE_NEXUS_RETRIES1Retries for transport failures, HTTP 429 and 5xx responses
CITE_NEXUS_CONCURRENCY6Maximum simultaneous outbound requests
CITE_NEXUS_CACHE_TTL300In-process response-cache lifetime in seconds; 0 disables it
CITE_NEXUS_CACHE_SIZE256Maximum cached responses; 0 disables caching

Cached records retain their original retrieval and citation-observation timestamps. The cache is bounded and partitions responses by credentials. Responses larger than 8 MB are rejected. Long Retry-After cooldowns return a provider issue instead of holding the call open. Keys and upstream error bodies are excluded from tool errors. Local stderr logging keeps stdout clean for MCP.

See provider details, migration notes, and product direction for access nuances and boundaries.

Development and verification

To work from source:

bash
git clone https://github.com/akougkas/cite-nexus-mcp.gitcd cite-nexus-mcpuv sync --lockeduv run ruff check src tests scriptsuv run ruff format --check src tests scriptsuv run mypy src/cite_nexus_mcpuv run python scripts/prepare_release.py --checkuv run python scripts/marketplaces.py --checkuv run pytest -quv build

The automated suite uses synthetic provider fixtures and mock HTTP, plus real local stdio and Streamable HTTP processes. It requires no vendor credentials and blocks external network access from the test process. Paid and institutional adapters have fixture-based contract coverage; live entitlement testing requires an account with access.

An explicit public-API smoke test is available separately:

bash
uv run python scripts/smoke_public.py

It ignores account credentials and only contacts Crossref, DataCite, Europe PMC, arXiv and anonymous Semantic Scholar. Rate limits and network failures are reported as outcomes.

The official MCP Tasks extension is not advertised. SDK 2.2 does not implement it yet. batch-citations is a bounded synchronous workflow with progress and cancellation, not a durable job queue. The roadmap describes the criteria for adding persistent tasks, local libraries and further licensed providers.

The launch kit includes positioning, listing copy, a demo script, and promotional drafts. The marketplace inventory tracks 41 channels and leads, including verified routes, duplicate channels and inactive or unresolved sites. Source metadata, portable plugin manifests and image assets are prepared for review. See data handling before configuring optional providers or hosting.

License

MIT. Provider content, API access and redistribution remain subject to each source's terms.

来源:README.md,提交 3f92bcf

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

2
  1. v0.2.2最新Sep 17, 2026
  2. v0.2.0Sep 17, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分