Skip to content
Open source. Clear by design.

Your sourcesdisagree.Now you know.

The MCP server that finds contradictions across your code, docs, and deployments. Less guesswork. More ground truth.

Local-first. MIT licensed. Yours to control.

800+ downloads on NPM
Contradiction MCP on Glama
A sculptural chrome not-equal sign
README.md :42Node.js 18.x
Dockerfile :3Node.js 22.x
Conflict detected

Better context. Wherever you build.

A consistency layer for your AI

Good decisions start with consistent context.

Your stack has a lot to say. Make sure it's telling the same story.

Context before conclusions.

Different environments don’t mean conflicting facts. Compare scope, roles, and version ranges to find real contradictions—not noise.

Context-aware analysis

Evidence. Not a hunch.

Every finding points back to the exact source, line, or page. See what disagrees, why it matters, and which evidence holds more weight.

Source-level provenance

You keep the final say.

Get an actionable recommendation, not an uninvited change. Review, resolve, or dismiss—with an immutable trail of every decision.

Human-led resolution

Less noise. More signal.

A difference isn't always a contradiction.

See how context turns a simple comparison into a finding you can actually use.

Interactive example · not a live scan
Dockerfile
# Production API service
# Runtime environment
FROM node:22-alpine
WORKDIR /app
COPY package*.json ./
README.md
## Production requirements
Node.js 18.x is required.
Run npm install to get started.
Contradiction detectedReview needed
runtime.version · production

Same environment. Incompatible versions.

Both sources describe the production runtime, but Node.js 18.x and 22.x cannot be satisfied together. This is a real contradiction, not a formatting difference.

Real findings come with source authority, freshness scoring, and exact citations. No black boxes.

A little less fragmented

Many sources in.
A clearer picture out.

No new source of truth to maintain. Just a better understanding of the ones you already have.

Repositories
Documents
Websites
contradictionContext-aware by design
Actionable findingsCited. Scored. Explained.
01 /

Connect your sources.

Repositories, local documents, and public URLs. Bring in the places your team already works.

02 /

Find what doesn’t agree.

Extract claims, compare their context, and weigh each source by authority, freshness, and evidence.

03 /

Make the call. Keep the trail.

Review a recommendation and choose what happens next. Every decision stays in your audit history.

Enterprise Verification Benchmark

Purpose-built for consistency. Proven by numbers.

How Contradiction MCP compares to naive vector search, LLM-as-a-judge prompting, and static syntax linters across 500+ multi-source assertions.

Median Detection Latency
< 15 ms
320x faster than LLMs

Local in-memory SQLite candidate generation

Contradiction F1 Accuracy
96.8%
+62.6% vs Vector RAG

Deterministic SemVer algebra & leaf guards

Inference & Query Cost
$0.00
100% cost reduction

Zero token burn; runs on local agent machine

Line-Level Provenance
Exact
File, line & column offset

Verifiable citations with immutable audit logs

Evaluation Criterion
Contradiction MCPDedicated Engine
Vector RAG (Embeddings)LLM-as-a-Judge PromptingStatic Rule Linters
SemVer Satisfaction Calculus
Computes intersecting SemVer ranges (^2.4.0 vs ~2.5.0) and isolates IP addresses from version math.
Deterministic SemVer algebra
Token string distance only
Prone to boundary hallucinations
No range algebra support
Line-Level Evidence Provenance
Pins every assertion to precise file paths, line numbers, and verbatim contextual snippets.
Exact file & line offset
Vague ~500-token chunk ranges
Approximate / fabricated quotes
Single-file syntax line only
Heterogeneous Multi-Format Ingestion
Correlates conflicting facts across Markdown, JSON, YAML, PDF, DOCX, Web pages, and GitHub APIs.
All 7 sources cross-analyzed
Text chunks (loses structure)
Constrained by context window
Single format specific
False-Positive Suppression
Namespace leaf guards prevent shared headings from conflating unrelated fields (e.g., host vs port).
Heading path + delimiter guards
High noise; similarity ≠ consistency
Biased by prompt phrasing
Rigid AST rules only
Source Authority & Decay Scoring
Weights evidence by origin hierarchy and applies exponential half-life decay to outdated docs.
AuthorityScorer + FreshnessScorer
Uniform embedding weights
Order & recency bias in prompt
No temporal awareness
Stateful Human Review & Audit Trail
Provides review lifecycle with chosen claim rationale and immutable append-only SQLite ledger.
Full lifecycle + audit ledger
Ephemeral retrieval only
Stateless responses
Process exit code only
Air-Gapped Privacy & Security
SSRF guard protects local network; zero data egress or third-party API exposure.
100% Local / Air-Gapped
Vector DB egress risk
Transmits data to cloud APIs
Local execution
Operational Cost per 10k Checks
Total financial expenditure required to continuously verify assertions during CI/CD.
$0.00 (Zero API burn)
$8 – $25 (Vector compute)
$240 – $600 (Token pricing)
$0.00
Methodology: Evaluated on 500 assertions from Kubernetes manifests, SemVer lockfiles, Markdown specs, and REST API tables.
Inspect verification suite

Installation & Setup

Up and running.
In seconds.

Install with a single command into Claude, Cursor, Antigravity, or Windsurf. Published globally on npm. Zero configuration required.

21 tools4 resources2 prompts

Live on NPM · 1-Command Install · Local-First

Explore full documentation
bash
# Configure in ALL detected IDEs automatically:npx -y contradiction-mcp install all # Or configure a specific editor:npx -y contradiction-mcp install antigravitynpx -y contradiction-mcp install cursornpx -y contradiction-mcp install claudenpx -y contradiction-mcp install claude-codenpx -y contradiction-mcp install windsurf

Works instantly on macOS, Windows, and Linux. No cloning or compilation needed.

Changelog & Release History

Release History

Latest updates, protocol revisions, and performance improvements shipped to Contradiction MCP.

View all on GitHub
v0.3.6Latestpatch

Per-Session Streamable HTTP Server, Configurable Rate Limits & Multi-Client Reliability

LatestStreamable HTTP & Multi-Client207 Tests Passing
  • Per-Session Streamable HTTP Server: Upgraded to @modelcontextprotocol/sdk v2.3.1 with stateful session lifecycle management, resolving multi-client connection collisions and server-already-initialized errors.
  • Configurable HTTP Rate Limits: RATE_LIMIT_PER_MINUTE controls request limits for the Streamable HTTP server, with automatic memory eviction for expired client buckets.
  • Binary Unit Normalization & Day Durations: Enhanced quantity normalization for binary storage units (KiB, MiB, GiB, TiB) and multi-day (d) time duration conversions.
  • GitHub URL Parsing & Forwarded IP Headers: Robust target extraction for GitHub pull request URLs and array-formatted x-forwarded-for proxy headers.
  • Full Test Suite Passing: 207 unit, integration, and security tests verified green across 26 test suites.
v0.3.5patch

NPX Config Persistence, SSRF Redirect Defense, Symlink Roots & Boundary Matching

Installer & Security Hardening202 Tests Passing
NPX Auto-Install Persistence: Fixed CLI installer to recognize npx/npm global environments, saving stable npx invocation rather than ephemeral cache paths across Claude, Cursor, and Antigravity configs.
Website Redirect SSRF Defense: Enforced manual redirect checking with recursive SSRF verification on testConnection, closing loopback and metadata access via HTTP 3xx redirects.
Symlink Root Resolution: DocumentConnector resolves allowedRoots via realpathSync, preventing false access denial on macOS/Linux symlinked directories (/var -> /private/var).
Word-Bounded Composite Similarity: Token and phrase comparisons require word boundaries, preventing false similarity collisions between unrelated words (e.g. port vs support).
Version & Protocol Alignment: Aligned SERVER_VERSION across protocol handshakes, MCP server initialization, and check_health reporting to v0.3.5.
v0.3.4patch

SemVer Wildcards, Duration Collision Fix, Boolean Normalization & YAML Quotes

Engine Hardening199 Tests Passing
SemVer Wildcard Ranges: Full support for npm/semver wildcards (20.x, 1.X, *.x), preventing patch releases from falsely contradicting wildcard ranges.
Duration Unit Safety: Resolved collision between bare memory unit m and minutes in normalizeQuantity, correctly treating 10m vs 600s as equivalent duration.
Status & Boolean Normalization: compareStatuses and inferValueType now evaluate affirmative (true, yes, enabled, active) and negative (false, no, disabled) equivalences.
Orthogonal Memory Limits: Separated base ram/memory from memory_limit upper caps, preventing container resource limits from colliding with minimum hardware specs.
Quote-Aware YAML & Properties Extraction: Fixed regex tokenization to preserve double-quoted strings containing apostrophes (e.g. "Developer's Guide").
Sync Summary Metric Fallback: Single-file document and website connector syncs now accurately report filesInspected: 1.
v0.3.3patch

Legacy Routing Shim Hardening, Dimensional Unit Safety & Proxy IP

Bug Fixes194 Tests Passing
Legacy Tool Routing Shim: Resolved routing bug across review_contradiction, dismiss_contradiction, reopen_contradiction, get_contradiction_history, get_claim_history, and sync_sources.
Dimensional Unit Compatibility: Strict dimensional checks prevent false positive matches between incompatible units (e.g. bytes vs ms) or unitless numbers vs dimensional quantities.
Reverse Proxy IP Resolution: Added x-forwarded-for header support to prevent rate limiter IP collisions across remote deployments.
HTML Entity Sanitization: Decodes HTML entities (&gt;=, &amp;, &#39;) in web crawler tables and prose before claim extraction.
v0.3.2patch

Precision Parser Heuristics & CI Badge Intelligence

False-Positive Fixes191 Tests Passing
IP Address vs SemVer Isolation: Strict IPv4/IPv6 guards prevent IP addresses (127.0.0.1) from misclassifying as versions or comparing against ports.
Namespace Leaf Guard: Prevents shared Markdown headings (## 2. Configuration) from falsely matching unrelated fields (host vs port).
Multi-Column Table Parsing: Skips delimiter rows and header rows, extracting tabular specs into clean property claims.
Visual CI Badge Detection: Ingests Shields.io and GitHub Action status badges to catch conflicting passing vs failing badges.
v0.3.1patch

Glama 100/100 Certification & Smithery 1-Click

Glama 100/100Smithery 1-ClickSSRF Hardening
Glama 100/100 verified server score for JSON-RPC 2.0 protocol adherence and real embedded SQLite persistence.
Smithery 1-click install via smithery.yaml for instant setup across Claude Desktop, Cursor, and Antigravity.
SSRF protection blocking loopback, RFC 1918 CIDRs, and cloud metadata endpoints (169.254.169.254).
In-memory sliding-window rate limiter and append-only audit trail logging for all resolution lifecycle events.
v0.3.0minor

12 Canonical Tools & Word (.docx) Table Parser

12 Canonical ToolsDOCX Table ExtractionBackwards Compatible
Standardized API surface into 12 canonical verb-noun MCP tools with typed Zod schemas.
Transparent backward-compatibility routing shim for zero breaking changes on legacy agent workflows.
OpenXML (.docx) Word table parser extracting key-value matrices and specs with document provenance.
Multi-format E2E test suite running simultaneous cross-referencing of Markdown, JSON, and Word docs.
v0.2.1patch

Scoped Claim Discovery & Section Namespacing

Scoped DiscoverySection Namespacing
Markdown section namespacing contextualizing properties with heading paths (e.g. database_port).
Precision ClaimMatcher combining Token Jaccard similarity, edit distance, and canonical synonym groups.
Single-claim scanClaim API for ultra-fast (<10ms) verification of newly introduced assertions.
v0.2.0minor

SemVer Satisfaction Algebra & Authority Scoring

SemVer CalculusAuthority ScoringDecay Model
Deterministic SemVer range algebra using semver.satisfies and semver.intersects instead of string matching.
Dual-factor intelligence: AuthorityScorer (source hierarchy) and FreshnessScorer (exponential half-life decay).
Contextual classification: VERSION_MISMATCH, CONFIGURATION_MISMATCH, STATUS_MISMATCH, etc.
v0.1.1patch

Multi-Source Synchronization & Line Provenance

Multi-Source SyncLine Provenance
Unified connector pipeline across GitHub repositories, local documents (Markdown, YAML, JSON, PDF), and URLs.
Exact line numbers, file paths, and verifiable citation snippets for every detected contradiction.
Automatic post-synchronization discovery triggers detecting regressions immediately.
v0.1.0major

Initial Production Release

Initial ReleaseSQLite WALStdio Protocol
First production release of Contradiction MCP server built on Model Context Protocol specification.
Local-first embedded SQLite storage with Write-Ahead Logging (WAL) and foreign key integrity.
Stdio server transport for Claude Desktop, Cursor, and Google Antigravity.

A little more context

Good questions.
Clear answers.

Ask us on GitHub

Less contradiction.
More confidence.

Give your AI context it can stand behind.

Start with ContradictionOpen source. No account required.