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 |
|---|---|
| health_checkA | Checks the operational status of Contradiction MCP, including database connectivity and server metrics. |
| analyze_claim_pairB | Analyzes two claims to determine whether they contradict each other, returning contradiction classification, severity, confidence score, and explanation. |
| scan_for_contradictionsB | Scans all claims in the database using deterministic candidate grouping, detects contradictions, persists them without duplicates, and returns a summary report. |
| scan_claim_for_contradictionsB | Performs an incremental scan for a single claim against relevant candidate claims in the database and persists new contradictions. |
| scan_source_for_contradictionsA | Scans all claims from a specific source, file, or repository for contradictions against all other claims in the database. |
| list_contradictionsB | Queries stored contradiction records from the database with optional filtering by status, severity, type, and confidence. |
| get_contradictionA | Retrieves a single contradiction by ID, including its complete claim and source records for in-depth agent investigation. |
| list_connectorsB | Lists all available external source connectors with their capabilities, authentication requirements, and statuses. |
| test_github_connectionA | Tests connectivity to GitHub and validates accessibility of a specific repository without exposing credentials. |
| sync_github_repositoryA | Ingests a real GitHub repository, extracts factual claims (runtimes, dependencies, ports), idempotently persists them in SQLite, and runs automatic contradiction discovery on touched claims. |
| explain_claim_relationshipC | Explains why two claims do or do not contradict each other based on context dimensions including environment, scope, source role, temporal state, SemVer range compatibility, and set membership. |
| review_contradictionB | Marks a contradiction record as REVIEWED, recording the reviewer identity and optional notes in the persistent audit trail. |
| resolve_contradictionC | Resolves a contradiction record, recording the authoritative chosen claim (optional), resolution reason, and audit trail. |
| dismiss_contradictionB | Dismisses a contradiction record as acceptable or non-actionable, preserving an audit record of the decision. |
| reopen_contradictionA | Reopens a previously resolved or dismissed contradiction back to OPEN status with audit trail logging. |
| get_contradiction_historyA | Retrieves the chronological audit history of review and resolution actions performed on a contradiction record. |
| get_claim_historyB | Retrieves the chronological value transition history for a specific factual claim, tracking updates and superseded values. |
| advise_resolutionB | Generates deterministic authority and freshness scoring comparison to advise an agent on which claim likely represents current truth. |
| sync_sourceA | Unified ingestion tool: synchronizes any registered source connector (github, document, website), idempotently extracts claims, and runs automatic contradiction discovery. |
| sync_sourcesB | Batch ingestion tool: synchronizes multiple external sources with bounded concurrency, failure isolation, and unified contradiction discovery. |
| sync_documentB | Synchronizes a local document file (Markdown, text, JSON, YAML, CSV), extracts claims with exact line provenance, and discovers contradictions. |
| sync_websiteB | Fetches an explicit public web page with strict SSRF defenses, extracts factual claims, and discovers contradictions. |
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 22 tools
Several tools overlap heavily: sync_source, sync_sources, sync_github_repository, sync_document, and sync_website all ingest sources, with the unified sync_source making specialized syncs ambiguous; similarly scan_for_contradictions, scan_claim_for_contradictions, and scan_source_for_contradictions differ mainly in scope. Descriptions help, but an agent could still misselect among sync/scan variants.
Nearly all names use snake_case verb_noun or verb_noun_phrase patterns such as list_contradictions, resolve_contradiction, and sync_website, with a minor exception like health_check. The convention is predictable, though scan_for_contradictions slightly breaks the verb_noun shape.
22 tools is borderline heavy for the scope; the contradiction domain is complex, but several source-sync and scan tools could be consolidated. It earns most places, yet the count sits at the upper edge of reasonable.
The server covers ingestion, contradiction detection, pair analysis, resolution lifecycle, audit history, and connector health. Gaps remain around direct claim/source management such as listing, getting, or deleting claims and sources, but core contradiction workflows are complete.