Free report citation preflight and real-source trials; paid evidence via a local wallet adapter.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Free deterministic audit of caller-supplied report text and structured references using [cite:id] markers. Lists unmarked text blocks, unknown/unused refs, duplicate exact source URLs, missing/unsupported URLs and quote presence in the report. Produces validated evidence request batches. No fetch, signing, payment, semantic verification or claim-coverage score.
Free deterministic audit of caller-supplied report text and structured references using [cite:id] markers. Lists unmarked text blocks, unknown/unused refs, duplicate exact source URLs, missing/unsupported URLs and quote presence in the report. Produces validated evidence request batches. No fetch, signing, payment, semantic verification or claim-coverage score.
| Argument | Type | Description |
|---|---|---|
| report* | string | |
| references* | array |
{
"type": "object",
"title": "Batchloom report citation preflight",
"required": [
"report",
"references"
],
"properties": {
"report": {
"type": "string",
"maxLength": 24000,
"minLength": 1
},
"references": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"url",
"quotes"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_-]{0,31}$"
},
"url": {
"anyOf": [
{
"type": "string",
"maxLength": 2048
},
{
"type": "null"
}
],
"description": "Use null when the reference URL is missing; unsupported URLs are reported, never fetched."
},
"quotes": {
"type": "array",
"items": {
"type": "string",
"maxLength": 400
},
"maxItems": 4,
"description": "Literal source quotations to check; 12–400 code points are required for a prepared evidence request."
}
},
"additionalProperties": false
},
"maxItems": 20
}
},
"description": "Audit caller-supplied text using explicit [cite:id] markers, including inside code or quotations. Blank-line-separated nonempty blocks are counted as text blocks, not factual claims. No remote pages are read. Runtime limits and validation are authoritative.",
"x-max-utf8-bytes": 98304,
"additionalProperties": false
}Compare two supplied evidence snapshots bound to the same input. No fetch, payment or content storage. Unreadable sources and changed/unknown processing profiles are not classified as quote removal. Maximum 196608 bytes; no authenticity or truth inference.
| Argument | Type | Description |
|---|---|---|
| after* | object | Saved inputHash plus a bounded version-1 evidence body. Other client-result fields are ignored; no payment/authenticity claim is inferred. |
| input* | object | |
| before* | object | Saved inputHash plus a bounded version-1 evidence body. Other client-result fields are ignored; no payment/authenticity claim is inferred. |
{
"type": "object",
"title": "Compare two saved citation evidence snapshots",
"required": [
"input",
"before",
"after"
],
"properties": {
"after": {
"type": "object",
"required": [
"inputHash",
"evidence"
],
"properties": {
"evidence": {
"type": "object",
"required": [
"version",
"results",
"usableSources",
"allResultsUnusable",
"warnings"
],
"properties": {
"results": {
"type": "array",
"items": {
"type": "object"
},
"maxItems": 5,
"minItems": 1
},
"version": {
"const": "1"
},
"warnings": {
"type": "array",
"items": {
"type": "string",
"maxLength": 2000
},
"maxItems": 20
},
"usableSources": {
"type": "integer",
"maximum": 5,
"minimum": 0
},
"processingProfile": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"allResultsUnusable": {
"type": "boolean"
}
},
"description": "At most 65536 canonical UTF-8 bytes. Detailed status/match consistency is enforced by the runtime."
},
"inputHash": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
}
},
"description": "Saved inputHash plus a bounded version-1 evidence body. Other client-result fields are ignored; no payment/authenticity claim is inferred.",
"additionalProperties": true
},
"input": {
"type": "object",
"required": [
"sources"
],
"properties": {
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"url",
"quotes"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"pattern": "^https://",
"maxLength": 2048
},
"quotes": {
"type": "array",
"items": {
"type": "string",
"maxLength": 400,
"minLength": 12
},
"maxItems": 4,
"minItems": 1
}
},
"additionalProperties": false
},
"maxItems": 5,
"minItems": 1
},
"requireAllSources": {
"type": "boolean",
"description": "Preserve the exact billing policy from the original request, including omission."
}
},
"additionalProperties": false
},
"before": {
"type": "object",
"required": [
"inputHash",
"evidence"
],
"properties": {
"evidence": {
"type": "object",
"required": [
"version",
"results",
"usableSources",
"allResultsUnusable",
"warnings"
],
"properties": {
"results": {
"type": "array",
"items": {
"type": "object"
},
"maxItems": 5,
"minItems": 1
},
"version": {
"const": "1"
},
"warnings": {
"type": "array",
"items": {
"type": "string",
"maxLength": 2000
},
"maxItems": 20
},
"usableSources": {
"type": "integer",
"maximum": 5,
"minimum": 0
},
"processingProfile": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"allResultsUnusable": {
"type": "boolean"
}
},
"description": "At most 65536 canonical UTF-8 bytes. Detailed status/match consistency is enforced by the runtime."
},
"inputHash": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
}
},
"description": "Saved inputHash plus a bounded version-1 evidence body. Other client-result fields are ignored; no payment/authenticity claim is inferred.",
"additionalProperties": true
}
},
"description": "Pure offline comparison; no source fetching or payment. Both inputHash values must equal SHA-256 of the canonical input. Old or different processing profiles and non-increasing/unknown timestamps receive review-only observations.",
"x-max-utf8-bytes": 196608,
"additionalProperties": false,
"x-output-max-utf8-bytes-exclusive": 32768
}Read price, exact supported hosts, limitations and safe purchase recovery. No network crawl or payment.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Read a fixed synthetic evidence example. No live fetch, payment or truth guarantee.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Read the free product manifest, source-license price, endpoint limits and purchase/recovery instructions. Does not buy or sign anything.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Read three free fixed SVG examples. No source toolkit is included.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Validate input, compute its canonical hash and read exact payment/client requirements and receipt storage readiness. Fetches no source, generates no secret, signs and pays nothing. Source/facilitator capacity remains unchecked.
| Argument | Type | Description |
|---|---|---|
| sources* | array | |
| requireAllSources | boolean | When true, settlement requires every requested source to be readable. Does not require quotes to match. Original input and policy must be preserved for recovery. |
{
"type": "object",
"title": "Batchloom static citation evidence input",
"required": [
"sources"
],
"properties": {
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"url",
"quotes"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"pattern": "^https://",
"maxLength": 2048,
"description": "Exact host must occur in x-allowed-hosts; no subdomain wildcards."
},
"quotes": {
"type": "array",
"items": {
"type": "string",
"maxLength": 400,
"minLength": 12,
"description": "12–400 Unicode code points, also after NFC and whitespace normalization. No non-whitespace control characters or unpaired surrogates."
},
"maxItems": 4,
"minItems": 1
}
},
"additionalProperties": false
},
"maxItems": 5,
"minItems": 1
},
"requireAllSources": {
"type": "boolean",
"description": "When true, settlement requires every requested source to be readable. Does not require quotes to match. Original input and policy must be preserved for recovery."
}
},
"description": "UTF-8 serialized request at most 32768 bytes. Exact built-in publisher hosts only; HTTPS port 443, no credentials, fragments, IP addresses or controls. Runtime validation is authoritative.",
"x-allowed-hosts": [
"docs.docker.com",
"react.dev",
"docs.astral.sh",
"www.typescriptlang.org",
"www.postgresql.org",
"proceedings.mlr.press",
"aclanthology.org",
"example.com",
"arxiv.org",
"en.wikipedia.org",
"developers.cloudflare.com",
"www.sec.gov",
"www.federalreserve.gov",
"docs.python.org",
"developer.mozilla.org",
"www.nasa.gov",
"science.nasa.gov",
"www.noaa.gov",
"www.nist.gov",
"www.cdc.gov",
"www.who.int",
"www.worldbank.org",
"data.worldbank.org",
"www.imf.org",
"www.oecd.org",
"www.un.org",
"www.gov.uk",
"www.legislation.gov.uk",
"eur-lex.europa.eu",
"doc.rust-lang.org",
"go.dev",
"nodejs.org",
"tc39.es",
"www.rfc-editor.org"
],
"x-max-utf8-bytes": 32768,
"additionalProperties": false
}Render one product as up to three SVG assets for free. Arguments are the render input directly, not an input wrapper; maximum 8192 UTF-8 bytes when serialized. Returns assets and warnings, without toolkit source.
| Argument | Type | Description |
|---|---|---|
| brand* | any | |
| style | any | |
| theme | any | |
| formats | array | |
| products* | array |
{
"type": "object",
"title": "Batchloom free preview input",
"required": [
"brand",
"products"
],
"properties": {
"brand": {
"allOf": [
{
"type": "string",
"pattern": "^[^-\u001f----
---]*$",
"description": "Plain text only. C0/C1, zero-width/direction controls and line/paragraph separators are forbidden. No markup is interpreted. NFC, outer whitespace and repeated ASCII spaces are normalized with a warning. Length is measured in Unicode code points."
}
],
"maxLength": 40,
"minLength": 1
},
"style": {
"enum": [
"editorial",
"bold",
"minimal"
],
"default": "editorial"
},
"theme": {
"enum": [
"lime",
"blue",
"pink"
],
"default": "lime"
},
"formats": {
"type": "array",
"items": {
"enum": [
"square",
"portrait",
"story"
]
},
"default": [
"square",
"portrait",
"story"
],
"maxItems": 3,
"minItems": 1,
"uniqueItems": true
},
"products": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"title"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$",
"maxLength": 64,
"minLength": 1,
"description": "Portable filename identifier, unique across products ignoring ASCII case."
},
"cta": {
"allOf": [
{
"type": "string",
"pattern": "^[^-\u001f----
---]*$",
"description": "Plain text only. C0/C1, zero-width/direction controls and line/paragraph separators are forbidden. No markup is interpreted. NFC, outer whitespace and repeated ASCII spaces are normalized with a warning. Length is measured in Unicode code points."
}
],
"default": "",
"maxLength": 45
},
"price": {
"allOf": [
{
"type": "string",
"pattern": "^[^-\u001f----
---]*$",
"description": "Plain text only. C0/C1, zero-width/direction controls and line/paragraph separators are forbidden. No markup is interpreted. NFC, outer whitespace and repeated ASCII spaces are normalized with a warning. Length is measured in Unicode code points."
}
],
"default": "",
"maxLength": 35
},
"title": {
"allOf": [
{
"type": "string",
"pattern": "^[^-\u001f----
---]*$",
"description": "Plain text only. C0/C1, zero-width/direction controls and line/paragraph separators are forbidden. No markup is interpreted. NFC, outer whitespace and repeated ASCII spaces are normalized with a warning. Length is measured in Unicode code points."
}
],
"maxLength": 100,
"minLength": 1
},
"subtitle": {
"allOf": [
{
"type": "string",
"pattern": "^[^-\u001f----
---]*$",
"description": "Plain text only. C0/C1, zero-width/direction controls and line/paragraph separators are forbidden. No markup is interpreted. NFC, outer whitespace and repeated ASCII spaces are normalized with a warning. Length is measured in Unicode code points."
}
],
"default": "",
"maxLength": 180
}
},
"additionalProperties": false
},
"maxItems": 1,
"minItems": 1
}
},
"description": "Render deterministic, self-contained SVG product cards. No HTML, image, font or URL resources are accepted. Strings are displayed as escaped plain text. Runtime validation additionally rejects invalid Unicode, remaining Unicode format controls outside the BMP, whitespace-only required text and product IDs that collide ignoring ASCII case. Free HTTP previews accept one product and a JSON body up to 8192 UTF-8 bytes.",
"additionalProperties": false
}Try one supported source and one quote with the production extractor. No payment or durable receipt. Shared free quota plus 2 attempts/client/UTC day and 100 attempts/service/UTC day.
| Argument | Type | Description |
|---|---|---|
| sources* | array | |
| requireAllSources | boolean | When true, settlement requires every requested source to be readable. Does not require quotes to match. Original input and policy must be preserved for recovery. |
{
"type": "object",
"title": "Free custom evidence trial",
"required": [
"sources"
],
"properties": {
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"url",
"quotes"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"pattern": "^https://",
"maxLength": 2048,
"description": "Exact host must occur in x-allowed-hosts; no subdomain wildcards."
},
"quotes": {
"type": "array",
"items": {
"type": "string",
"maxLength": 400,
"minLength": 12,
"description": "12–400 Unicode code points, also after NFC and whitespace normalization. No non-whitespace control characters or unpaired surrogates."
},
"maxItems": 1,
"minItems": 1
}
},
"additionalProperties": false
},
"maxItems": 1,
"minItems": 1
},
"requireAllSources": {
"type": "boolean",
"description": "When true, settlement requires every requested source to be readable. Does not require quotes to match. Original input and policy must be preserved for recovery."
}
},
"description": "Try one supported source and one quote with the production extractor. No payment or durable receipt. Shared free quota plus 2 attempts/client/UTC day and 100 attempts/service/UTC day.",
"x-allowed-hosts": [
"docs.docker.com",
"react.dev",
"docs.astral.sh",
"www.typescriptlang.org",
"www.postgresql.org",
"proceedings.mlr.press",
"aclanthology.org",
"example.com",
"arxiv.org",
"en.wikipedia.org",
"developers.cloudflare.com",
"www.sec.gov",
"www.federalreserve.gov",
"docs.python.org",
"developer.mozilla.org",
"www.nasa.gov",
"science.nasa.gov",
"www.noaa.gov",
"www.nist.gov",
"www.cdc.gov",
"www.who.int",
"www.worldbank.org",
"data.worldbank.org",
"www.imf.org",
"www.oecd.org",
"www.un.org",
"www.gov.uk",
"www.legislation.gov.uk",
"eur-lex.europa.eu",
"doc.rust-lang.org",
"go.dev",
"nodejs.org",
"tc39.es",
"www.rfc-editor.org"
],
"x-max-utf8-bytes": 4096,
"additionalProperties": false
}Validate up to 100 products and 3 formats for free. Arguments are the render input directly. Returns validity, product count, expected asset count and validation warnings; no rendered assets or toolkit source.
| Argument | Type | Description |
|---|---|---|
| brand* | any | |
| style | any | |
| theme | any | |
| formats | array | |
| products* | array |
{
"type": "object",
"title": "Batchloom Agent Kit render input",
"required": [
"brand",
"products"
],
"properties": {
"brand": {
"allOf": [
{
"type": "string",
"pattern": "^[^-\u001f----
---]*$",
"description": "Plain text only. C0/C1, zero-width/direction controls and line/paragraph separators are forbidden. No markup is interpreted. NFC, outer whitespace and repeated ASCII spaces are normalized with a warning. Length is measured in Unicode code points."
}
],
"maxLength": 40,
"minLength": 1
},
"style": {
"enum": [
"editorial",
"bold",
"minimal"
],
"default": "editorial"
},
"theme": {
"enum": [
"lime",
"blue",
"pink"
],
"default": "lime"
},
"formats": {
"type": "array",
"items": {
"enum": [
"square",
"portrait",
"story"
]
},
"default": [
"square",
"portrait",
"story"
],
"maxItems": 3,
"minItems": 1,
"uniqueItems": true
},
"products": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"title"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$",
"maxLength": 64,
"minLength": 1,
"description": "Portable filename identifier, unique across products ignoring ASCII case."
},
"cta": {
"allOf": [
{
"type": "string",
"pattern": "^[^-\u001f----
---]*$",
"description": "Plain text only. C0/C1, zero-width/direction controls and line/paragraph separators are forbidden. No markup is interpreted. NFC, outer whitespace and repeated ASCII spaces are normalized with a warning. Length is measured in Unicode code points."
}
],
"default": "",
"maxLength": 45
},
"price": {
"allOf": [
{
"type": "string",
"pattern": "^[^-\u001f----
---]*$",
"description": "Plain text only. C0/C1, zero-width/direction controls and line/paragraph separators are forbidden. No markup is interpreted. NFC, outer whitespace and repeated ASCII spaces are normalized with a warning. Length is measured in Unicode code points."
}
],
"default": "",
"maxLength": 35
},
"title": {
"allOf": [
{
"type": "string",
"pattern": "^[^-\u001f----
---]*$",
"description": "Plain text only. C0/C1, zero-width/direction controls and line/paragraph separators are forbidden. No markup is interpreted. NFC, outer whitespace and repeated ASCII spaces are normalized with a warning. Length is measured in Unicode code points."
}
],
"maxLength": 100,
"minLength": 1
},
"subtitle": {
"allOf": [
{
"type": "string",
"pattern": "^[^-\u001f----
---]*$",
"description": "Plain text only. C0/C1, zero-width/direction controls and line/paragraph separators are forbidden. No markup is interpreted. NFC, outer whitespace and repeated ASCII spaces are normalized with a warning. Length is measured in Unicode code points."
}
],
"default": "",
"maxLength": 180
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1
}
},
"description": "Render deterministic, self-contained SVG product cards. No HTML, image, font or URL resources are accepted. Strings are displayed as escaped plain text. Runtime validation additionally rejects invalid Unicode, remaining Unicode format controls outside the BMP, whitespace-only required text and product IDs that collide ignoring ASCII case.",
"additionalProperties": false
}Check bounded URLs and literal quotes against the fixed host list before purchase. Does not fetch pages or establish source availability. No payment.
| Argument | Type | Description |
|---|---|---|
| sources* | array | |
| requireAllSources | boolean | When true, settlement requires every requested source to be readable. Does not require quotes to match. Original input and policy must be preserved for recovery. |
{
"type": "object",
"title": "Batchloom static citation evidence input",
"required": [
"sources"
],
"properties": {
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"url",
"quotes"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"pattern": "^https://",
"maxLength": 2048,
"description": "Exact host must occur in x-allowed-hosts; no subdomain wildcards."
},
"quotes": {
"type": "array",
"items": {
"type": "string",
"maxLength": 400,
"minLength": 12,
"description": "12–400 Unicode code points, also after NFC and whitespace normalization. No non-whitespace control characters or unpaired surrogates."
},
"maxItems": 4,
"minItems": 1
}
},
"additionalProperties": false
},
"maxItems": 5,
"minItems": 1
},
"requireAllSources": {
"type": "boolean",
"description": "When true, settlement requires every requested source to be readable. Does not require quotes to match. Original input and policy must be preserved for recovery."
}
},
"description": "UTF-8 serialized request at most 32768 bytes. Exact built-in publisher hosts only; HTTPS port 443, no credentials, fragments, IP addresses or controls. Runtime validation is authoritative.",
"x-allowed-hosts": [
"docs.docker.com",
"react.dev",
"docs.astral.sh",
"www.typescriptlang.org",
"www.postgresql.org",
"proceedings.mlr.press",
"aclanthology.org",
"example.com",
"arxiv.org",
"en.wikipedia.org",
"developers.cloudflare.com",
"www.sec.gov",
"www.federalreserve.gov",
"docs.python.org",
"developer.mozilla.org",
"www.nasa.gov",
"science.nasa.gov",
"www.noaa.gov",
"www.nist.gov",
"www.cdc.gov",
"www.who.int",
"www.worldbank.org",
"data.worldbank.org",
"www.imf.org",
"www.oecd.org",
"www.un.org",
"www.gov.uk",
"www.legislation.gov.uk",
"eur-lex.europa.eu",
"doc.rust-lang.org",
"go.dev",
"nodejs.org",
"tc39.es",
"www.rfc-editor.org"
],
"x-max-utf8-bytes": 32768,
"additionalProperties": false
}