contradiction-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| API_KEY | No | Secret bearer token required for HTTP authentication | |
| NODE_ENV | No | Runtime mode: development, test, or production | development |
| HTTP_HOST | No | Binding address for HTTP daemon (DNS rebinding guarded) | 127.0.0.1 |
| HTTP_PORT | No | Port for Streamable HTTP server when MCP_TRANSPORT=http | 3000 |
| LOG_LEVEL | No | Logging level: debug, info, warn, error | error |
| GITHUB_TOKEN | No | Personal Access Token to prevent GitHub API rate limits | |
| ALLOWED_ROOTS | No | Comma-separated directory paths permitted for file ingestion | . |
| DATABASE_PATH | No | Path to SQLite database file or :memory: | ./data/contradiction.db |
| MCP_TRANSPORT | No | Transport mode: stdio or http | stdio |
| RATE_LIMIT_MAX | No | Maximum requests permitted per sliding time window | 100 |
| MAX_FILE_SIZE_BYTES | No | Maximum file size allowed for document ingestion | 10485760 |
| RATE_LIMIT_WINDOW_MS | No | Sliding rate limiter window in milliseconds | 60000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| contradiction.health.checkA | Checks the operational status of the Contradiction MCP server, including SQLite database connectivity, storage metrics, active connectors, and runtime diagnostics. Read-only and safe to invoke frequently for readiness and liveness probing. |
| contradiction.sources.listA | Lists all registered external data source connectors (document, website, github) and ingested source entities tracked by the system, including source IDs, synchronization timestamps, and claim counts. Read-only operation. Use this tool to inspect available data sources before initiating scans or synchronization. |
| contradiction.sources.testA | Validates connectivity, authentication, and accessibility for an external data source or connector (such as a GitHub repository, web URL, or local file) without persisting any data or modifying state. Use this tool to verify credentials and target reachability prior to running synchronization. |
| contradiction.sources.syncA | Ingests and synchronizes one or more external data sources (local document file, public website URL, or GitHub repository), extracts factual claims with exact line provenance, idempotently updates SQLite storage, and triggers automatic contradiction discovery. Mutating and idempotent operation. Supports single source ingestion or concurrent batch synchronization. |
| contradiction.conflicts.scanA | Discovers conflicting and inconsistent factual assertions across connected sources. Can scan the entire database, or scope the scan to a specific source, file, or single claim. Uses deterministic candidate grouping, entity resolution, and value comparison algorithms to detect and persist contradictions without duplicates. Mutating and idempotent. |
| contradiction.claims.analyzeA | Performs deep comparative analysis between two factual claims to determine whether they contradict each other. Evaluates semantic meaning, value differences, numeric/temporal ranges, and contextual dimensions (environment divergence, scope, source roles). Returns contradiction classification, severity, confidence score, and detailed explanation. Read-only operation. |
| contradiction.claims.listA | Queries stored factual assertions and claims extracted from connected sources with flexible filtering by subject, predicate, source, environment, and value type. Read-only operation. Use this tool to explore known facts, find subjects with multiple assertions, or inspect extracted data. |
| contradiction.claims.getA | Retrieves complete details for a single factual claim by ID, including its subject, predicate, current and normalized values, provenance evidence, originating source metadata, and chronological historical value transitions over time. Read-only operation. |
| contradiction.conflicts.listA | Queries stored contradiction records from the database with filtering by resolution status, severity level, contradiction type, and confidence score. Returns enriched contradiction records with associated claim summaries and originating source details. Read-only operation. Use this tool to prioritize and triage conflicts. |
| contradiction.conflicts.getA | Retrieves complete details of a single contradiction record by ID, including full representations of both conflicting claims, originating source metadata, exact line evidence snippets, and chronological audit trail of all review and resolution actions. Read-only operation. |
| contradiction.conflicts.adviseA | Generates deterministic authority, freshness, and evidence comparison between conflicting claims to advise an AI agent or human reviewer on which claim likely represents current truth and recommended remediation steps. Read-only deterministic calculation. |
| contradiction.conflicts.resolveA | Updates the lifecycle status and audit trail of a contradiction record. Supports marking as REVIEWED, resolving as RESOLVED with an authoritative chosen claim, dismissing as DISMISSED (acceptable divergence), or reopening back to OPEN. Preserves an immutable audit trail of reviewer identity, decision reason, and timestamp. Mutating operation. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| investigate_contradiction | Provides a structured investigation plan for an AI agent to resolve a specific contradiction. |
| review_source_consistency | Guides an agent through scanning and reviewing consistency for claims associated with an ingested source. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| health-metrics | System health and operational metrics |
TDQS
Scored across 12 tools
Each tool targets a distinct resource and action: health check, source management, claim inspection/analysis, and conflict discovery/triage/resolution. The descriptions clearly separate the overlapping analysis tools (claims.analyze vs conflicts.advise) by their output purpose.
All tools follow the same dot-separated namespace pattern: contradiction.<resource>.<action>. The action verbs are consistently lowercase and descriptive, creating a predictable and uniform naming convention across the entire toolset.
The 12 tools are well-scoped for a contradiction management service. Each tool serves a clear purpose within source ingestion, claim inspection, conflict scanning, or resolution, with no redundancy or excessive expansion.
The core workflow is well covered: source sync/test, claim retrieval/analysis, conflict discovery/listing/advice/resolution. The only notable gaps are the absence of delete or update operations for sources and claims, but these are not essential for the server's primary contradiction-management purpose.