mcpField
S
Sourceright

Sourceright

本地服务
github.com/edithatogo科研与教育14 天前更新

关于 Sourceright

Sourceright 是面向学术写作者、编辑和研究诚信团队的 Rust 参考文献整理与核验系统。它将记录规范化为 CSL JSON、收集证据,并把不确定条目交由人工复核;目前属于技术预览版。

主要功能

  1. 01CSL JSON 规范化与清理
  2. 02提供方证据及核验 sidecar
  3. 03人工复核队列与冲突处理
  4. 04引文对照与完整性报告
  5. 05导出 XML、ENW、RIS、BibLaTeX 和 YAML

适用场景

  1. 01清理稿件中的参考文献
  2. 02通过人工或 Agent 工作流复核不确定引文
  3. 03审计引文完整性及其证据
  4. 04向文献管理工具导出核验后的参考文献

MCP 相关

CLI 提供基于同一 Rust 核心的 MCP 服务模式,MCP 客户端可通过该服务使用参考文献工作流。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"edithatogo-sourceright": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/edithatogo/sourceright-mcp:0.1.20"
]
}
}
}
启动命令docker run -i --rm ghcr.io/edithatogo/sourceright-mcp:0.1.20

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/edithatogo/sourceright-mcp:0.1.20

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Sourceright

Release Publish crate Coverage smithery badge

Sourceright 是一套以 Rust 为先的参考文献筛查与验证基础设施,面向学术写作、Agent 工作流以及未来的法律引文工作。目前,它处于技术预览阶段,适合开发者评估和试点交流。

适用对象

  • 需要可审计参考文献清理的技术编辑和研究诚信团队。
  • 希望采用确定性引文验证工作流的图书馆、知识库和出版商团队。
  • 需要以 CSL 为核心的书目处理流程及旁路证据的开发者和 Agent 工作流。
  • 评估独立法律引文处理路径的法律科技研究人员,且不将其与学术 CSL 混为一谈。

功能与非功能

Sourceright 从文档或文本中提取参考文献,生成规范的 CSL JSON,对记录进行标准化和清理,收集提供方证据,将不确定的记录转交人工审核,并导出可供 EndNote、Zotero 和 BibLaTeX 等工具使用的整洁参考文献文件。

它并不声称自己是可用于生产的机构级产品、法院文件合规系统,也不能替代审查员级别的最终验证。现在可以直接解析 DOCX 手稿以导入引文,但更广泛的 PDF 提取、实时核心提供方检查、更好的引文消歧、URL/存档完整性检查,以及低干扰的回写建议仍是需要强化的方向。

工作流

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

路线图

  • 学术参考文献提取与 CSL JSON 规范化。
  • 首先通过 Crossref 进行提供方支持的验证,然后在适用时使用 DOI 解析、DataCite、OpenAlex、PubMed/NCBI 和 ORCID。
  • 将文内引文与参考文献列表条目进行核对。
  • 面向人工及 Agent/子 Agent 验证的人工审核队列。
  • 面向编辑工作流的跨平台期刊筛选输出,并以 OJS 作为首个公开集成目标。
  • 用于引文完整性审计和 AI 相关引文错误信号的参考文献报告。
  • 基于同一 Rust 核心的 CLI 和 MCP 服务接口。
  • 使用独立法律引文模型和公共提供方接口进行法律引文分析。
  • 基于检测到的引文依据构建声明/来源/出处图谱,但不对声明的真实性作出断言。
  • 面向审查员级别审计的强化工作,包括更广泛的 PDF 提取、实时提供方证据、机构作者匹配、URL/存档检查,以及明确的回写计划。

有关实施轨道图,请参阅 conductor/tracks.md。 规范要求和仓库约定见 docs/src/feature-contract-matrix.md,设计图见 docs/src/design.md。

当前的质量与安全约定记录在 docs/src/security-and-quality-gates.md。 提交更改前,请使用仓库提供的本地有界门禁运行器:

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

在 Linux 或 macOS 上,也可以使用 Rust 门禁运行器 ./scripts/run-local-rust-gates.sh。它使用主机上的 stable 工具链和 临时目标目录;PowerShell 运行器遵循相同策略,并且仅在 GCC 可用时选择 Windows GNU 工具链。

当前状态

Rust 核心现已包含规范化 CSL 处理、验证附属文件、摄取分段、提供方证据规范化、清理、冲突解决、引文协调、人工审核队列、报告、导出、期刊筛查契约、法律引文记录,以及声明/来源溯源图。应将其视为结构化分流与审计工作流及技术预览;当前 Conductor 计划仍在加强提取、互操作性、出版试验和外部注册表验收。导入的参考工作流材料位于 legacy/humanizer-next/,在经过审计、移植或退役之前,作为溯源和回归材料保留。

CLI

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 在不使用实时提供方的情况下运行已检入的测试样例套件。基准测试功能属于技术预览,用于确定性回归和压力检查。 citation-sync 默认以预览模式运行,写入审计日志或远程测试样例快照前,必须显式指定 --apply。

report 可以处理仅包含 CSL 的目录。如果缺少 references.verification.json,则会输出覆盖率降级诊断;如果附属文件格式错误,则会显示文件路径和修复操作,而不是只暴露底层解析器错误。

计划中的分发方式

  • sourceright CLI 二进制文件。
  • sourceright mcp 服务模式。
  • 通过 GitHub Releases 发布包含平台二进制文件、校验和及溯源材料的版本。
  • 发布试运行通过后,将软件包发布到 crates.io。
  • 通过 server.json + Dockerfile 标签,为官方 MCP Registry 提供 OCI MCP 映像元数据。
  • 为本地 stdio/MCPB 路径做好 Smithery 上架准备;托管式 HTTP 传输仍暂缓。
  • 通过 glama.json 提供 Glama 所有权元数据。
  • 发布和由标签触发的发布工作流生成 release-status.md 构件。
  • 定时覆盖率工作流生成 coverage-status.md 构件。
  • 仅在原生工具生态系统有要求时提供轻量适配器包。
  • 当前的强化计划记录在 conductor/tracks.md 中;内容包括测试框架/安全/质量 CI、互操作性测试样例、提取实验和开放出版平台试验。
  • 较早的轨道编号仍保留在 Conductor 归档中,以便历史追溯;这些编号不代表当前产品已做好发布准备。
  • 轨道 36-40 涵盖审查员级别的审计强化:文档提取、实时核心提供方、引文消歧、URL/存档完整性,以及低噪声回写建议。
  • 有关这些轨道背后的操作流程,请参阅 docs/src/release-runbook.md、docs/src/coverage-reporting.md 和 docs/src/docs-cutover.md。
  • v*.*.* 标签现在会自动启动软件包发布工作流;MCP 注册表工作流会在发布工作流完成后运行。
分发元数据文件
  • server.json(io.github.edithatogo/sourceright)
  • Dockerfile 标签:
    • io.modelcontextprotocol.server.name
    • org.opencontainers.image.source
  • glama.json

注册表列表属于外部运营界面。其当前状态以及尚待维护者或平台解决的问题,记录在 conductor/submission-packets/live-evidence.json 中;不能仅凭仓库元数据,就认定已有实时评分或可调用工具列表。

开发

cargo check
cargo test
cargo fmt --check
cargo clippy --all-targets -- -D warnings
cargo run --bin sourceright -- bench
cargo package --locked
cargo publish --dry-run --locked
cargo machete
cargo semver-checks check-release --release-type minor  # advisory until the public Rust API is stabilized
cargo deny check advisories bans sources
cargo tree -d --locked
taplo lint Cargo.toml book.toml deny.toml lychee.toml rust-toolchain.toml taplo.toml typos.toml fuzz/Cargo.toml plugins/**/*.toml .cargo/config.toml
typos --config typos.toml
npm --prefix docs-site run typecheck
vale --minAlertLevel=error README.md docs/src docs/import-manifest.md .github/copilot-instructions.md
npx --yes [email protected] README.md "docs/**/*.md" ".github/**/*.md"
lychee --config lychee.toml --offline README.md docs/src/**/*.md docs/import-manifest.md
actionlint
zizmor --min-severity medium .github/workflows
cargo llvm-cov --locked --all-targets --fail-under-lines 85
cargo mutants --workspace
pwsh -NoProfile -ExecutionPolicy Bypass -File scripts/verify.ps1 -CoverageMinimum 85

CI 和已检入的 pre-commit 钩子均要求行覆盖率保持在 85%以上。

发布和发布流程都会生成 release-status.md 构件,为最新标签提供明确的检查清单。 覆盖率运行会生成 coverage-status.md 构件,为最新的数值报告提供明确的检查清单。

许可证

可选择以下任一许可证:

  • Apache License, Version 2.0
  • MIT license

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。