Sourceright

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

Reference verification MCP server for CSL bibliographies, evidence, and audited writes.

已验证STDIO仅桌面知识与记忆开发者工具

概览

AI 生成的概览

一个技术预览版 MCP 服务器,用于提取、清理、核验并导出 CSL 参考文献,并附带可审计的证据旁路文件。

可以做什么
从文档或文本中提取参考文献与文内引用,转换为规范 CSL JSON,支持直接解析 DOCX,并可校验 CSL、生成报告,在缺少或损坏核验旁路文件时给出降级覆盖诊断。对记录进行标准化、清理、核验与补充,收集提供方证据,并把不确定条目送入人工复核队列。解决冲突、协调引用并生成参考文献完整性报告。导出 XML、ENW、RIS、BibLaTeX 和 YAML 等干净参考文献文件,供 EndNote、Zotero、BibLaTeX 等工具使用。运行不依赖实时提供方的确定性基准测试,并可预览或应用 citation-sync 写入。
适用场景
适合需要可审计、确定性引用清理与以 CSL 为中心的文献流水线的技术编辑、科研诚信与图书馆团队,以及开发者或智能体工作流。它是用于评估和试点的技术预览,不能替代审查员级别的最终核验。
运行要求
以本地 stdio 进程在桌面运行,以 OCI 镜像(ghcr.io/edithatogo/sourceright-mcp)分发。未声明认证、环境变量或请求头。README 描述了一个带 mcp 子命令的 Rust 命令行工具,并计划通过 GitHub Releases、crates.io 等渠道分发。
安装前请注意
项目自称技术预览,并非生产就绪产品或法庭提交合规系统;PDF 提取、实时核心提供方检查、URL/归档完整性、回写建议等能力仍在加固中。citation-sync 仅在显式 apply 标志下写入审计日志或远程测试快照,建议先预览。收集提供方证据时可能将参考文献数据发送给外部提供方。

安装

在 SourceWeft 中

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

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

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Sourceright

[Release] [Publish crate] [Coverage] [smithery badge]

Sourceright is Rust-first reference triage and verification infrastructure for academic writing, agent workflows, and future legal citation work. It is currently a technical preview suitable for developer evaluation and pilot conversations.

Who This Is For

  • Technical editors and research-integrity teams that need auditable reference cleanup.
  • Library, repository, and publisher teams that want deterministic citation verification workflows.
  • Developers and agent workflows that need CSL-centered bibliographic pipelines with sidecar evidence.
  • Legal-tech researchers evaluating a separate legal citation path without conflating it with academic CSL.

What It Does / Does Not Do

Sourceright takes references from documents or text, produces canonical CSL JSON, standardises and cleans the records, collects provider evidence, routes uncertain records to manual review, and exports clean reference files for tools such as EndNote, Zotero, and BibLaTeX.

It does not claim to be a production-ready institutional product, a court filing compliance system, or a substitute for examiner-grade final verification. DOCX manuscripts are now parsed directly for citation intake, but broader PDF extraction, live core-provider checks, better citation disambiguation, URL/archive integrity, and low-noise writeback suggestions remain hardening tracks.

Workflow

text
document/text  -> extracted references and in-text citations  -> references.csl.json  -> standardisation, cleaning, verification, enrichment  -> references.verification.json and review-queue.jsonl  -> conflict resolution, citation reconciliation, and reference integrity reports  -> XML, ENW, RIS, BibLaTeX, and YAML exports

Roadmap

  • Academic reference extraction and CSL JSON canonicalisation.
  • Provider-backed verification through Crossref first, then DOI resolution, DataCite, OpenAlex, PubMed/NCBI, and ORCID where useful.
  • In-text citation reconciliation against reference-list entries.
  • Manual review queues designed for human and agent/subagent verification.
  • Platform-neutral journal screening outputs for editorial workflows, with OJS as the first public integration target.
  • Reference reports for citation integrity auditing and AI-related citation-error signals.
  • CLI and MCP server interfaces over the same Rust core.
  • Legal citation analysis with a separate legal citation model and public-provider slots.
  • Claim/source/provenance graphs built over detected citation support without asserting claim truth.
  • Examiner-grade audit hardening for broader PDF extraction, live provider evidence, institutional-author matching, URL/archive checks, and explicit writeback plans.

See conductor/tracks.md for the implementation track map. The canonical requirements and repo contract are in docs/src/feature-contract-matrix.md, with the design diagrams in docs/src/design.md.

The current quality and security contract is documented in docs/src/security-and-quality-gates.md. Use the repository's bounded local gate runner before opening a change:

powershell
pwsh -NoProfile -ExecutionPolicy Bypass -File scripts/run-local-rust-gates.ps1pwsh -NoProfile -ExecutionPolicy Bypass -File scripts/check-workflow-harness.ps1pwsh -NoProfile -ExecutionPolicy Bypass -File scripts/check-release-parity.ps1

On Linux or macOS, the Rust gate runner is also available as ./scripts/run-local-rust-gates.sh. It uses the host stable toolchain and a temporary target directory; the PowerShell runner follows the same policy and selects the Windows GNU toolchain only when GCC is available.

Current Status

The Rust core now includes canonical CSL handling, verification sidecars, intake segmentation, provider evidence normalization, cleaning, conflict resolution, citation reconciliation, manual review queues, reporting, exports, journal screening contracts, legal citation records, and claim/source provenance graphs. It should be treated as a structured triage and audit workflow and technical preview while the active Conductor programme hardens extraction, interoperability, publication trials, and external registry acceptance. Imported reference workflow material lives under legacy/humanizer-next/ as provenance and regression material until audited, ported, or retired.

CLI

text
sourceright init [document-or-directory]sourceright validate-csl [--json] <references.csl.json>sourceright report [--json|--mcp-resource] [.sourceright-directory]sourceright export --preview --all [.sourceright-directory]sourceright bench [--json]sourceright citation-sync [--preview|--apply] [.sourceright-directory]sourceright mcp

bench runs the checked-in fixture suite without live providers. The benchmark surface is a technical preview for deterministic regression and stress checks. citation-sync defaults to preview mode and requires explicit --apply before writing audit logs or remote fixture snapshots.

report can operate on a CSL-only directory. It emits a degraded-coverage diagnostic when references.verification.json is absent, while malformed sidecars fail with the path and a repair action instead of exposing only a low-level parser error.

Planned Distribution

  • sourceright CLI binary.
  • sourceright mcp server mode.
  • GitHub Releases with platform binaries, checksums, and provenance artifacts.
  • crates.io package after release dry runs pass.
  • OCI MCP image metadata for the official MCP Registry via server.json + Dockerfile labels.
  • Smithery readiness for the local stdio/MCPB path; hosted HTTP transport remains deferred.
  • Glama ownership metadata via glama.json.
  • release-status.md artifacts from the release and tag-triggered publish workflows.
  • coverage-status.md artifacts from the scheduled coverage workflow.
  • Thin adapter packages only where native tool ecosystems require them.
  • The active hardening programme is recorded in conductor/tracks.md; it includes harness/security/quality CI, interoperability fixtures, extraction experiments, and open-publishing platform trials.
  • Older track numbers remain in the Conductor archive for historical traceability; they are not a current product-readiness claim.
  • Tracks 36-40 cover examiner-grade audit hardening: document extraction, live core providers, citation disambiguation, URL/archive integrity, and low-noise writeback suggestions.
  • See docs/src/release-runbook.md, docs/src/coverage-reporting.md, and docs/src/docs-cutover.md for the operational sequence behind those tracks.
  • v*.*.* tags now auto-start the crate publish workflow, and the MCP registry workflow follows the release workflow completion.

Distribution metadata files

  • server.json (io.github.edithatogo/sourceright)
  • Dockerfile labels:
    • io.modelcontextprotocol.server.name
    • org.opencontainers.image.source
  • glama.json

Registry listings are external operational surfaces. Their current state and remaining maintainer or platform blockers are recorded in conductor/submission-packets/live-evidence.json; repository metadata alone is not treated as proof of a live score or callable-tool listing.

Development

powershell
cargo checkcargo testcargo fmt --checkcargo clippy --all-targets -- -D warningscargo run --bin sourceright -- benchcargo package --lockedcargo publish --dry-run --lockedcargo machetecargo semver-checks check-release --release-type minor  # advisory until the public Rust API is stabilizedcargo deny check advisories bans sourcescargo tree -d --lockedtaplo lint Cargo.toml book.toml deny.toml lychee.toml rust-toolchain.toml taplo.toml typos.toml fuzz/Cargo.toml plugins/**/*.toml .cargo/config.tomltypos --config typos.tomlnpm --prefix docs-site run typecheckvale --minAlertLevel=error README.md docs/src docs/import-manifest.md .github/copilot-instructions.mdnpx --yes [email protected] README.md "docs/**/*.md" ".github/**/*.md"lychee --config lychee.toml --offline README.md docs/src/**/*.md docs/import-manifest.mdactionlintzizmor --min-severity medium .github/workflowscargo llvm-cov --locked --all-targets --fail-under-lines 85cargo mutants --workspacepwsh -NoProfile -ExecutionPolicy Bypass -File scripts/verify.ps1 -CoverageMinimum 85

Coverage stays gated above 85 percent line coverage in CI and in the checked-in pre-commit hook.

Release and publish workflows each emit a release-status.md artifact so the latest tag has a named checklist surface. Coverage runs emit a coverage-status.md artifact so the latest numeric report has a named checklist surface.

License

Licensed under either of:

  • Apache License, Version 2.0
  • MIT license

at your option.

来源:README.md,提交 c5fa583

工具

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

版本历史

1
  1. v0.1.20最新Sep 16, 2026

评分

已满足适用检查项的 50%

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

  • 近 30 天内可连通25 分

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

  • 已声明认证方式10 分

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

  • 已列出工具15 分

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

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