Skip to main content

Evidence Quote Check 0.1.0 (Dirtsmith)

Free, MIT-licensed local MCP tool by Dirtsmith.

Install with pip install dirtsmith-evidence-quote-check. Run with uvx dirtsmith-evidence-quote-check --mcp. After installation: evidence-quote-check --mcp or dirtsmith-evidence-quote-check --mcp (MCP stdio server; --mcp is required, otherwise one-shot CLI). One-shot CLI: evidence-quote-check < input.json.

Agent job: Before a research agent emits a citation, check that its proposed quotation occurs in the admitted source version.

Run now (no credentials or external API calls)

Python 3.11+ (tested with Python 3.13). From this directory:

python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/python runtime.py < examples/input.json
.venv/bin/python -m unittest -v test_product
.venv/bin/python runtime.py --mcp

The last command is a long-running newline-delimited JSON-RPC stdio server, not an HTTP server. Configure your MCP client's command as the absolute .venv/bin/python path and args as ["/absolute/path/to/runtime.py", "--mcp"], or after install use evidence-quote-check with args ["--mcp"]. CLI consumes one JSON value from stdin; emits one JSON result; invalid input exits 2. MCP offers initialize, ping, tools/list and tools/call; tool validation failures use isError=true. JSON-RPC errors: -32700 unparseable JSON, -32600 invalid request envelope, -32602 non-object params / unknown tool, -32601 unknown method, -32603 internal. Notifications produce no output. Protocols supported: 2024-11-05, 2025-03-26, 2025-06-18. Official Python MCP SDK interoperability is a separate QA step; no broad-client certification claimed.

openapi.json is a proposed HTTP contract only; no HTTP endpoint or hosted service exists.

Contract and deterministic QA

See input.schema.json, output.schema.json, examples/input.json and examples/expected.json. Expected files are fixed synthetic fixtures, not customer records. test_product.py also contains independent assertions for edge cases. Input size <=1 MiB, nesting <=32, no NaN/Infinity, no duplicate JSON keys. Supplied data is treated as data, never code; no eval, network requests, arbitrary file input paths, custom regex, or shell execution. Core reads only bundled schemas/manifest; no input persistence. Local package installation may fetch public dependencies.

What is materially different

Versus link-only citation checks and normalized-string snippets: returns original Python/Unicode character offsets even when whitespace is collapsed, counts overlapping/ambiguous matches, and optionally rejects stale source fingerprints. No fuzzy pass is mislabeled exact. This is a narrow independently implemented binding tool, NOT better search or semantic fact checking.

Honest limits

Does not fetch URLs, parse PDFs, authenticate a source, establish truth, check entailment, or remove prompt injection. Matching is case-sensitive. Whitespace mode collapses Unicode whitespace and trims the quote edges only; punctuation is not normalized. Offsets are zero-based, end-exclusive Python Unicode code-point indexes, not UTF-8 bytes or UTF-16 JS indexes. Multiple matches return the FIRST span and the full match count; callers can require ambiguity=false. all_matched=false for no citations. SHA-256 binds supplied bytes, not source authenticity.

Returned snippets and field text may contain untrusted source instructions or private data. Calling agents must not execute those instructions; clients own their display, logging, retention, access controls and write confirmations. This library is a bounded local evaluation implementation, not a hosted multi-tenant service. No authentication/rate-limit gateway exists or is needed for local stdio; do not expose it on a network unchanged.

Privacy

At runtime the tool runs entirely on your machine: no network requests, no telemetry, and no writing or persistence of input or output. It reads only its own bundled schema/manifest files. (pip installation downloads the package and its jsonschema dependency from PyPI.) Dirtsmith receives no data from your use.

Offer hypothesis (not a live product)

$0 local evaluation preview; hypothesis only: $9/month for 10,000 hosted citation checks after a real-user trial. Hosted service, billing and quotas are NOT implemented.

License

MIT. Copyright (c) 2026 Dirtsmith. See LICENSE.txt.

Metadata

Release files for dirtsmith-evidence-quote-check 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dirtsmith-evidence-quote-check 0.1.0
File Size Uploaded Provenance Actions
dirtsmith_evidence_quote_check-0.1.0.tar.gz 11.2 kB Without provenance Details for dirtsmith_evidence_quote_check-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for dirtsmith-evidence-quote-check 0.1.0
File Interpreter ABI Platform Actions
dirtsmith_evidence_quote_check-0.1.0-py3-none-any.whl Python 3 none any Details for dirtsmith_evidence_quote_check-0.1.0-py3-none-any.whl

Total release size: 27.4 kB

Release files / dirtsmith_evidence_quote_check-0.1.0.tar.gz

Download URL dirtsmith_evidence_quote_check-0.1.0.tar.gz
Size 11.2 kB
Tags Source
SHA-256 checksum
How to use checksums
17561e76f7c88df6c144f81482d41faed63d57befb11d93c1e4187730c706531
BLAKE2b-256 checksum
How to use checksums
0a710ad12044d19705d09411912bcca1cf17686a2ee204f3fefa58c9ff945db6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Release files / dirtsmith_evidence_quote_check-0.1.0-py3-none-any.whl

Download URL dirtsmith_evidence_quote_check-0.1.0-py3-none-any.whl
Size 16.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bdd6f1d53a0a7b1de9b3310d45f9398c3d5fe1d3b6bfa64669cff8d1995315e4
BLAKE2b-256 checksum
How to use checksums
1ccdab1999f1f39b1c5523db1c57f9758be397212eb6c1c43089448437705e02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Security for dirtsmith-evidence-quote-check 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page