EVIDIQ Atlas
Reproducible research for large datasets. Give an agent CSV, JSON, NDJSON, or Parquet and receive bounded analysis, chart specifications, content-addressed artifacts, and a canonical report that can be verified independently.
EVIDIQ Atlas
Agent #9023Quickstart
Connect the Streamable HTTP MCP endpoint, inspect capabilities, and validate the exact source before making a paid call.
claude mcp add --transport http evidiq-atlas https://mcp.evidiq.dev/atlas/mcp
Or probe the live pricing discovery endpoint:
curl -s https://mcp.evidiq.dev/atlas/x402
Prefer a Skill file? Fetch the agent-readable EVIDIQ Atlas Skill:
curl -s https://mcp.evidiq.dev/atlas/skill.md
What Atlas is for
Data quality
Infer schema and surface missingness, cardinality, distributions, duplicate estimates, and outliers.
Read-only analytics
Ask precise questions with one bounded DuckDB SELECT or CTE.
Visualization
Return deterministic Plotly-compatible specifications without copying Plotly source.
Version comparison
Measure row, schema, null-rate, distinct-count, and key-overlap drift.
Longer research
Combine profiles, correlations, IQR checks, and monthly trends into one canonical, optionally signed report.
Evidence
Retain dataset digests, methods, assumptions, warnings, artifacts, and optional 0G anchors.
Atlas is intentionally not a generic coding or vibe-coding agent. It exposes no user-authored Python, JavaScript, shell, package installation, database attachment, or arbitrary file export.
Dataset sources
Inline sources support CSV, JSON, and newline-delimited JSON. Public remote URLs additionally support Parquet. A source object is explicit so Atlas never guesses whether a string is data or a URL.
{
"kind": "inline",
"format": "csv",
"name": "sales.csv",
"data": "month,region,revenue\n2026-01,APAC,1200\n2026-02,EMEA,1450"
}{
"kind": "url",
"format": "parquet",
"name": "events.parquet",
"url": "https://data.example.org/events.parquet"
}Ten MCP tools
Five free tools support preflight and verification. Five paid tools have different immutable prices based on their bounded workload.
Paid analysis
- profile_dataset — Infer schema and measure rows, missingness, distincts, distributions, and sample records. (0.005 USDT0)
- query_dataset — Run one bounded read-only SELECT/CTE against the loaded dataset table. (0.01 USDT0)
- visualize_dataset — Produce deterministic bar, line, scatter, histogram, or box chart JSON. (0.015 USDT0)
- compare_datasets — Compare row/schema/null/distinct drift and optional key overlap. (0.02 USDT0)
- research_dataset — Run profiling, duplicate estimation, correlations, IQR outliers, and optional trends. (0.03 USDT0)
Free preflight and verification
- atlas_capabilities — Inspect formats, limits, providers, security boundaries, and pricing. (free)
- validate_dataset_source — Validate inline data or remote URL/DNS safety before payment. (free)
- estimate_cost — Quote the immutable cost of any paid tool. (free)
- verify_atlas_report — Recompute report integrity and verify trusted EIP-191 authenticity against an expected or configured signer. (free)
- get_artifact — Retrieve a content-addressed JSON artifact by exact ID. (free)
Recommended workflow
- Call atlas_capabilities for current formats and limits.
- Call validate_dataset_source; remote validation checks URL and DNS without downloading content.
- Call estimate_cost for the intended operation.
- Submit one paid call per request. Atlas rejects batches with multiple paid calls instead of undercharging.
- Preserve the report/artifact IDs and verify reports received from another party.
Payment settles before the bounded operation begins and covers the allocated attempt, including safe fetch and computation. Free validation exists to catch malformed or unsafe input first.
Read-only SQL
A single dataset is exposed as table dataset. Atlas accepts exactly one SELECT or WITHstatement and applies row, response-size, memory, and time limits.
{
"source": { "kind": "url", "format": "parquet", "url": "https://data.example.org/sales.parquet" },
"sql": "SELECT region, sum(revenue) AS total FROM dataset GROUP BY region ORDER BY total DESC",
"rowLimit": 500
}Atlas rejects external readers, globbing, extension install/load, ATTACH, COPY, DDL, DML, multiple statements, system schemas, table functions, environment/settings introspection, and volatile expressions such as random, UUID, or current-time functions. Ad-hoc SQL reports are marked deterministic only when the outer query has an effective ORDER BY; otherwise the report records deterministic: false.
Visualization
visualize_dataset emits a deterministic Plotly-compatible JSON specification. The caller controls rendering; Atlas does not execute browser code.
{
"source": { "kind": "inline", "format": "csv", "data": "month,revenue\n2026-01,1200\n2026-02,1450" },
"chart": { "type": "line", "x": "month", "y": "revenue", "title": "Monthly revenue" }
}Reports and artifacts
Every paid result carries a complete report body: request parameters, dataset digests, engine version, result, methods, assumptions, warnings, and reproducibility metadata. Atlas computes SHA-256 over canonical JSON for the complete body and adds an EIP-191 signature when its signer key is configured.
{
"reportId": "atlas_report_…",
"body": {
"schemaVersion": "evidiq.atlas.report.v1",
"tool": "profile_dataset",
"datasets": [{ "digest": "sha256:…", "format": "csv", "bytes": 18422 }],
"methods": ["DuckDB schema inference", "descriptive statistics"],
"warnings": []
},
"integrity": {
"algorithm": "sha256",
"canonicalization": "evidiq-jcs-v1",
"digest": "sha256:…",
"signature": "0x…",
"signer": "0x…"
}
}Report verification separates integrity from trusted authenticity. An unsigned report can have a valid structure, derived report ID, and body digest, but valid and authentic become true only when its EIP-191 signature matches an explicit expectedSigner or the deployment's configured trusted signer.
Artifacts are file-backed and content-addressed. Their ID-derived kind, digest, byte count, content type, and canonical content are checked on retrieval. They provide integrity and reproducibility, not authorization; deployments must protect sensitive artifact IDs and apply their own data policy.
Remote-fetch and runtime security
- HTTP(S) only, no URL credentials, and only standard ports.
- A and AAAA records are checked; private, loopback, link-local, CGNAT, multicast, reserved, documentation, and cloud-metadata ranges are rejected.
- The checked public IP is pinned for the connection; every redirect is revalidated and re-resolved.
- Redirect, timeout, content type, Content-Length, and decompressed-byte limits are enforced.
- Each paid call gets a fresh in-memory DuckDB database and private temporary directory. External database access is disabled after controlled ingest.
DuckDB, E2B, and 0G
DuckDB is Atlas's primary engine because its MIT-licensed in-process OLAP runtime fits CSV/JSON/Parquet and bounded read-only SQL. E2B is retained behind an optional provider boundary, but Atlas v1 honestly keeps deterministic tools on DuckDB and does not expose E2B's generic code runtime.
0G Storage anchoring is optional and best-effort. Its public, privacy-minimized record contains only the report ID, fixed integrity labels and report-body digest, plus each dataset's format, digest, and byte count. It excludes artifact IDs/digests/kinds, dataset names, source URLs, signatures, signer addresses, raw datasets, results, samples, and query rows. A storage failure is surfaced as storageNote and does not falsify the local report.
x402 pricing
| Tool | Atomic | USDT0 | Access |
|---|---|---|---|
| profile_dataset | 5000 | 0.005 | x402 |
| query_dataset | 10000 | 0.01 | x402 |
| visualize_dataset | 15000 | 0.015 | x402 |
| compare_datasets | 20000 | 0.02 | x402 |
| research_dataset | 30000 | 0.03 | x402 |
| atlas_capabilities | 0 | Free | Always ungated |
| validate_dataset_source | 0 | Free | Always ungated |
| estimate_cost | 0 | Free | Always ungated |
| verify_atlas_report | 0 | Free | Always ungated |
| get_artifact | 0 | Free | Always ungated |
Payments use x402 v2 exact with USDT0 (6 decimals) on X Layer (eip155:196). The public discovery endpoint lists all ten tools. If a broadcast settlement is awaiting confirmation, Atlas returns HTTP 202 with its transaction hash; retry the same authorization so confirmation can be checked without broadcasting or paying again. Ambiguous facilitator settlement returns a service error instead of a new 402 challenge.
Verification and settlement run through the official OKX Onchain OS Payment SDK (@okxweb3/x402-core and @okxweb3/x402-evm). The OKX facilitator verifies each authorization and settles it on X Layer before an analysis begins. Each immutable per-tool price reaches the SDK as an explicit USDT0 atomic amount, so neither the fee nor its token can be substituted by currency conversion.
Settled on X Layer
A live profile_dataset call paid 0.005 USDT0 (5000 atomic), settled through the OKX facilitator, and returned a canonical dataset profile.
0x3ea2fa7947eabcfb6527702700b57d6c760cffe6bc356b048528a8468115da6cLicensing
EVIDIQ owns and licenses its original Atlas integration code under MIT. DuckDB, E2B, the 0G SDK, MCP SDK, and other dependencies remain third-party technology under their own licenses. Atlas consumes pinned packages, does not copy upstream source, and preserves notices in THIRD_PARTY_NOTICES.md and package distributions.
Atlas produces reproducible descriptive evidence, not a guarantee that a source is complete, unbiased, legally usable, or causally explanatory. Review source provenance, sampling, units, and domain assumptions before acting on a result.