Sourceright

io.github.edithatogoPublished by GitHub account edithatogov0.1.20Updated Oct 24, 2026

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

VerifiedSTDIODesktop onlyKnowledge & MemoryDeveloper Tools

Overview

AI-generated overview

A technical-preview MCP server that extracts, cleans, verifies and exports CSL bibliographic references with auditable evidence sidecars.

What you can do
Extract references and in-text citations from documents or text and convert them to canonical CSL JSON, including direct DOCX intake and CSL validation/reporting with degraded-coverage diagnostics when verification sidecars are missing or malformed. Standardise, clean, verify and enrich records, collecting provider evidence and routing uncertain entries to a manual review queue. Resolve conflicts, reconcile citations and produce reference integrity reports. Export clean reference files in XML, ENW, RIS, BibLaTeX and YAML for tools such as EndNote, Zotero and BibLaTeX. Run deterministic benchmark fixtures without live providers, and preview or apply citation-sync writes.
When to use it
For technical editors, research-integrity and library teams, and developer or agent workflows that need auditable, deterministic citation cleanup and CSL-centred bibliographic pipelines. It is a technical preview for evaluation and pilots, not a substitute for examiner-grade final verification.
Requirements
Runs as a local stdio process on the desktop, distributed as an OCI image (ghcr.io/edithatogo/sourceright-mcp). No authentication, environment variables or headers are declared. The README describes a Rust CLI with an mcp subcommand and planned GitHub Releases, crates.io and other distribution channels.
Before you install
The project describes itself as a technical preview, not production-ready or a court-filing compliance system, and several capabilities (broader PDF extraction, live core-provider checks, URL/archive integrity, writeback suggestions) remain hardening tracks. citation-sync writes audit logs or remote fixture snapshots only with an explicit apply flag, so preview first. Provider evidence collection may send reference data to external providers.

Installation

In SourceWeft

  1. Open Sourceright in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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.

Source: README.md at commit c5fa583

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.20LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts