ArXiv to code, replication audits, paper contradictions, citation audit, prose forensics.
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.
Abandoned Compound & Uncommercialized Trial Miner — Finds shelved drug and biologic candidates worth a second look. Give a disease or target (mines ClinicalTrials.gov for terminated, withdrawn and suspended trials and for completed Phase 1/2 non-industry trials with no later industry Phase 2/3/4 trial), a compound you already have in mind (drug name or ChEMBL id), a trial (NCT id), or a desired material property (literature mode, no trials). Every
A ClinicalTrials.gov trial id (e.g. "NCT01257048"). The compound it tested is reviewed as with `compound`.
A compound you already have in mind, as a drug name or ChEMBL id (e.g. "edaravone", "CHEMBL290916"). Returns whether it is an abandoned, safe-to-pursue candidate or why it was excluded (marketed, safety signal, active development). Replaces the condition search.
Dossiers to produce (default 4, max 8). Model cost is at most one fast call per candidate.
Desired material property (e.g. "high ionic conductivity solid electrolyte"). Mines the literature indexes; no trials are involved.
Include completed Phase 1/2 non-industry trials with no later industry Phase 2/3/4 trial of the same intervention. Default true.
Disease, condition or biological target (e.g. "amyotrophic lateral sclerosis", "BACE1"). Mines stopped and completed-without-follow-up clinical trials.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http writerslogic-research https://agents.writerslogic.com/mcp/research
Abandoned Compound & Uncommercialized Trial Miner — Finds shelved drug and biologic candidates worth a second look. Give a disease or target (mines ClinicalTrials.gov for terminated, withdrawn and suspended trials and for completed Phase 1/2 non-industry trials with no later industry Phase 2/3/4 trial), a compound you already have in mind (drug name or ChEMBL id), a trial (NCT id), or a desired material property (literature mode, no trials). Every
| Argument | Type | Description |
|---|---|---|
| nctId | string | A ClinicalTrials.gov trial id (e.g. "NCT01257048"). The compound it tested is reviewed as with `compound`. |
| compound | string | A compound you already have in mind, as a drug name or ChEMBL id (e.g. "edaravone", "CHEMBL290916"). Returns whether it is an abandoned, safe-to-pursue candidate or why it was excluded (marketed, safety signal, active development). Replaces the condition search. |
| maxCandidates | integer | Dossiers to produce (default 4, max 8). Model cost is at most one fast call per candidate. |
| materialProperty | string | Desired material property (e.g. "high ionic conductivity solid electrolyte"). Mines the literature indexes; no trials are involved. |
| includeCompletedNoFollowUp | boolean | Include completed Phase 1/2 non-industry trials with no later industry Phase 2/3/4 trial of the same intervention. Default true. |
| biologicalTargetOrCondition | string | Disease, condition or biological target (e.g. "amyotrophic lateral sclerosis", "BACE1"). Mines stopped and completed-without-follow-up clinical trials. |
{
"type": "object",
"properties": {
"nctId": {
"type": "string",
"pattern": "^(?:NCT|nct)\\d{8}$",
"description": "A ClinicalTrials.gov trial id (e.g. \"NCT01257048\"). The compound it tested is reviewed as with `compound`."
},
"compound": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "A compound you already have in mind, as a drug name or ChEMBL id (e.g. \"edaravone\", \"CHEMBL290916\"). Returns whether it is an abandoned, safe-to-pursue candidate or why it was excluded (marketed, safety signal, active development). Replaces the condition search."
},
"maxCandidates": {
"type": "integer",
"maximum": 8,
"minimum": 1,
"description": "Dossiers to produce (default 4, max 8). Model cost is at most one fast call per candidate."
},
"materialProperty": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "Desired material property (e.g. \"high ionic conductivity solid electrolyte\"). Mines the literature indexes; no trials are involved."
},
"includeCompletedNoFollowUp": {
"type": "boolean",
"description": "Include completed Phase 1/2 non-industry trials with no later industry Phase 2/3/4 trial of the same intervention. Default true."
},
"biologicalTargetOrCondition": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "Disease, condition or biological target (e.g. \"amyotrophic lateral sclerosis\", \"BACE1\"). Mines stopped and completed-without-follow-up clinical trials."
}
},
"additionalProperties": false
}arXiv-to-Production Code & Hyperparameter Compiler — Fetches an arXiv paper's full text (ar5iv), selects method, pseudocode, hyperparameter tables and ablations, and returns a core-algorithm summary, hyperparameters each with a source pointer and a verbatim quote verified against the text, ablation warnings with evidence sentences, and one self-contained TypeScript or Python file that is compile/syntax-checked and literal-checked against the extract
| Argument | Type | Description |
|---|---|---|
| arxivId | string | arXiv id or URL, e.g. 1706.03762 or https://arxiv.org/abs/1706.03762. |
| searchQuery | string | Title or keywords; the top arXiv hit is used. Provide exactly one of arxivId or searchQuery. |
| targetLanguage* | string |
{
"type": "object",
"required": [
"targetLanguage"
],
"properties": {
"arxivId": {
"type": "string",
"maxLength": 120,
"description": "arXiv id or URL, e.g. 1706.03762 or https://arxiv.org/abs/1706.03762."
},
"searchQuery": {
"type": "string",
"maxLength": 300,
"description": "Title or keywords; the top arXiv hit is used. Provide exactly one of arxivId or searchQuery."
},
"targetLanguage": {
"enum": [
"typescript",
"python"
],
"type": "string"
}
},
"additionalProperties": false
}Forensic AI-trajectory & prose craft auditor — Deterministic prose forensics: word echoes within 50 words, repeated 3-6-grams, sentence-starter runs, hedge/filter/passive/nominalization density, burstiness, MATTR, Flesch-Kincaid, vocabulary fingerprints, AI syntactic tics (Not X. Y. pivots, verbless fragments, autonomous body parts), optional revision-history trajectory, and an editorial humanization map whose quotes are verified verbatim. Eve
| Argument | Type | Description |
|---|---|---|
| text* | string | Plain-text prose to audit (English). |
| genre | string | Context for the editorial pass only. |
| revisionHistory | array | Earlier drafts of the same text with ISO-8601 timestamps; adds a revision trajectory as process evidence. |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 300000,
"minLength": 1,
"description": "Plain-text prose to audit (English)."
},
"genre": {
"enum": [
"fiction",
"memoir",
"essay",
"journalism",
"academic",
"business",
"other"
],
"type": "string",
"description": "Context for the editorial pass only."
},
"revisionHistory": {
"type": "array",
"items": {
"type": "object",
"required": [
"timestamp",
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 200000
},
"timestamp": {
"type": "string",
"maxLength": 40,
"minLength": 4,
"description": "ISO-8601 date-time."
}
},
"additionalProperties": false
},
"maxItems": 50,
"description": "Earlier drafts of the same text with ISO-8601 timestamps; adds a revision trajectory as process evidence."
}
},
"additionalProperties": false
}Causal Claim Referee — Referees a causal claim against an observational table (JSON rows, CSV text, or a published contingency table with counts) and leads with a verdict, confidence, whether the claim holds, the crude and adjusted effects with bootstrap intervals, and a concrete next step. Underneath: crude and stratified effects, Mantel-Haenszel pooling, Simpson's-paradox detection, d-separation and backdoor/front-doo
| Argument | Type | Description |
|---|---|---|
| csv | string | Alternative to data: CSV text with a header line (comma, semicolon or tab separated; quoted fields allowed; at most 20000 data rows). Numeric cells become numbers. |
| dag | object | Your causal DAG (formal input: no LLM is called to build the graph or, by default, the report). Omit to have one proposed by two independent model samples, which is then an assumption. |
| bins | integer | Quantile bins for numeric covariates, default 4. |
| data | array | Observational table as an array of row objects (at most 20000 rows). Cells are string, number, boolean or null; rows missing a used variable are dropped. Provide this or csv. |
| seed | integer | Seed for bootstrap and Monte Carlo; default derived from the input hash. |
| alpha | number | Significance level for the permutation test and the (1-alpha) bootstrap interval, default 0.05. |
| claim* |
Citation Audit — Bibliography in, evidence audit out: reference-verifier checks every reference (fabricated, mis-cited, retracted, corrected); the top DOI-bearing references (corrections first, then the most cited in the manuscript) get a replication-auditor pass on the sentence that cites them; when a target is contested, paper-contradictions compares it with the studies against it. The contradiction check is opt
| Argument | Type | Description |
|---|---|---|
| topK | integer | References to audit for replication (default 2). |
| claim | string | The claim the bibliography supports; used for the replication and contradiction checks instead of the citing sentence. |
| latex | string | LaTeX source with a thebibliography environment (\bibitem) or embedded filecontents .bib; \cite commands supply citation contexts and are checked against the entries. |
| bibtex | string | BibTeX/BibLaTeX text (the contents of a .bib file). |
| pdfUrl | string | Public PDF URL. Text extraction is best-effort (Word and Google Docs exports work best). |
| arxivId | string | arXiv id or URL; references are read from the ar5iv HTML (.ltx_bibitem), falling back to the PDF. |
| manuscript | string | Optional manuscript text (LaTeX or plain) that supplies citation contexts: \cite keys, [n] numbers or Author (year) citations. |
Rank the most compressible (cliched) phrases in a chapter — Finds the phrases in a passage that compress most against a reference corpus of generic prose, so a writer can target the low-entropy spans instead of guessing. For each sentence (default) or sliding n-gram, computes the marginal compressed-byte contribution per character with zlib level 9 and a built-in reference corpus of common narrative clichés; the lowest-scoring spans are the most predictabl
| Argument | Type | Description |
|---|---|---|
| mode | string | sentence (default) scores at sentence boundaries; ngram scores every sliding window of ngramSize words. |
| text* | string | The chapter or passage to score. |
| topN | integer | How many lowest-score spans to return (default 10). |
| minChars | integer | Minimum characters per candidate span (default 18). |
| ngramSize | integer | Words per window when mode is ngram (default 5). |
| reference | string | Optional reference corpus to prepend before compression. When absent, the built-in 50 KB generic-prose corpus is used unless useBuiltInReference is false. |
| useBuiltInReference | boolean | Pass false to score with no reference corpus (local redundancy only). Default true. |
Crosstalk epistemic swarm & falsification engine — Stress-tests a research question instead of answering it once. Classifies the domain, generates up to 3 independent hypotheses, attacks each with an adversarial falsification pass, checks live literature on arXiv and OpenAlex (plus any papers you supply by arXiv id or DOI; every record content-addressed by sha256), then synthesizes a calibrated answer. The output leads with a headline (status, ans
| Argument | Type | Description |
|---|---|---|
| papers | array | Up to 5 papers you already have, as arXiv ids or URLs (2201.11903, arxiv.org/abs/...) or DOIs (10.xxxx/..., doi.org URLs). They are fetched and become citable evidence records alongside the live literature search. |
| context | string | Optional background, constraints, data or prior attempts. |
| question* | string | The question or claim to deliberate. |
| maxHypotheses | integer | Independent hypotheses to generate and attack (default 3). |
{
"type": "object",
"required": [
"question"
],
"properties": {
"papers": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 4
},
"maxItems": 5,
"description": "Up to 5 papers you already have, as arXiv ids or URLs (2201.11903, arxiv.org/abs/...) or DOIs (10.xxxx/..., doi.org URLs). They are fetched and become citable evidence records alongside the live literature search."
},
"context": {
"type": "string",
"maxLength": 8000,
"description": "Optional background, constraints, data or prior attempts."
},
"question": {
"type": "string",
"maxLength": 4000,
"minLength": 3,
"description": "The question or claim to deliberate."
},
"maxHypotheses": {
"type": "integer",
"maximum": 3,
"minimum": 1,
"description": "Independent hypotheses to generate and attack (default 3)."
}
},
"additionalProperties": false
}Cross-Lingual Dark Science Arbitrage Scout — Finds scientific work that exists only in non-English literature. Give an English topic, a technical bottleneck, or a paper you know (seedPaper: DOI or arXiv id); the scout plans native-terminology searches in up to 6 languages (default zh, ja, de, fr, ko) across OpenAlex, Crossref, HAL, J-STAGE and Europe PMC, drops works that already have an English twin, and returns up to 8 ranked discoveries.
| Argument | Type | Description |
|---|---|---|
| toDate | string | Latest publication date (inclusive). |
| fromDate | string | Earliest publication date. Default: 10 years before the call. |
| seedPaper | string | An English-language paper you already know, as a DOI (bare or doi.org URL) or arXiv id/URL. Its title becomes the research topic (or is added to it) so the scout finds non-English work on the same problem. |
| maxResults | integer | Discoveries to return (default 5, max 8). |
| researchTopic | string | English research topic, e.g. "sulfide solid electrolytes for all-solid-state lithium batteries". |
| targetLanguages | array | ISO 639-1 codes of non-English languages to mine (max 6). Default zh, ja, de, fr, ko. |
| technicalBottleneck | string | English description of an unsolved technical bottleneck. Provide this, researchTopic or seedPaper (or several). |
Open Research Opportunity Miner — Leads with a verdict (OPEN_GAPS_FOUND, NO_CLEAR_OPEN_GAPS or NO_GAPS_EXTRACTED), a confidence, a headline naming the top gap with its quoted evidence, and the next step. Collects papers for a topic or seed list (arXiv ids or URLs, DOIs, PMIDs; arXiv and OpenAlex search), reads full text from ar5iv or Europe PMC, and extracts future-work, limitation and open-question sentences in code with exact se
| Argument | Type | Description |
|---|---|---|
| mode | string | fast: zero model calls (lexical clustering and lexical addressed-check). full (default): one clustering call and one judging call, bounded to one status level. |
| field | string | Field or discipline keyword added to the topic search, e.g. "machine learning". |
| query | string | Research topic, e.g. "parameter-efficient fine-tuning of language models". |
| seeds | array | Seed papers you already have: arXiv ids or URLs (2106.09685, arXiv:1706.03762, arxiv.org/abs/...), DOIs or doi.org URLs, or PMIDs (PMID:12345678 or a PubMed URL). Always analysed, not date-filtered. |
| toDate | string | Only topic-search papers published on or before this date (YYYY-MM-DD). |
| fromDate | string | Only topic-search papers published on or after this date (YYYY-MM-DD). |
| maxPapers | integer | Papers to analyse, at most 25 (default 10); seeds count toward it. |
Manuscript Pre-submission Check — Verifies every reference in a manuscript against Crossref, OpenAlex, arXiv and Europe PMC (fabricated, mis-cited, retracted) and runs deterministic prose forensics on the same text. Runs reference-verifier ($0.50) + audit-prose-forensics ($1.00) in one paid call for 20% less than buying them separately. Charged only when every member succeeds.
| Argument | Type | Description |
|---|---|---|
| genre | string | Context for the editorial pass only. |
| bibtex | string | BibTeX/BibLaTeX text (the contents of a .bib file). |
| manuscript* | string | Full manuscript text including its reference list. |
| references | string | Plain-text reference list (numbered, blank-line separated, or one per line; APA, IEEE, Vancouver, Chicago). |
{
"type": "object",
"required": [
"manuscript"
],
"properties": {
"genre": {
"enum": [
"fiction",
"memoir",
"essay",
"journalism",
"academic",
"business",
"other"
],
"type": "string",
"description": "Context for the editorial pass only."
},
"bibtex": {
"type": "string",
"maxLength": 400000,
"minLength": 10,
"description": "BibTeX/BibLaTeX text (the contents of a .bib file)."
},
"manuscript": {
"type": "string",
"maxLength": 300000,
"minLength": 1,
"description": "Full manuscript text including its reference list."
},
"references": {
"type": "string",
"maxLength": 200000,
"minLength": 10,
"description": "Plain-text reference list (numbered, blank-line separated, or one per line; APA, IEEE, Vancouver, Chicago)."
}
},
"additionalProperties": false
}Paper Contradiction Finder — Takes 2 to 4 papers (DOI, arXiv id, PMID or their URLs) on a shared question and answers whether their reported numbers conflict: a verdict (CONTRADICTION_FOUND / NO_CONTRADICTION_FOUND / INCONCLUSIVE) with confidence, a one-line headline, the decisive quotes side by side and a next step, then the full evidence. Fetches the best available text (ar5iv, Europe PMC full text, else abstract), extracts
| Argument | Type | Description |
|---|---|---|
| mode | string | full (default): one model call judges whether candidate claim pairs measure the same quantity in comparable populations. fast: no model call; only pairs with identical normalized outcome phrases are tested. |
| claim | string | Optional claim or question to focus on; claims about it are paired first. |
| papers* | array | 2 to 4 papers on a shared question, each a DOI (bare, doi: or doi.org URL), an arXiv id or arxiv.org URL, or a PMID (bare, PMID:n, or a pubmed.ncbi.nlm.nih.gov or europepmc.org URL). |
{
"type": "object",
"required": [
"papers"
],
"properties": {
"mode": {
"enum": [
"full",
"fast"
],
"type": "string",
"description": "full (default): one model call judges whether candidate claim pairs measure the same quantity in comparable populations. fast: no model call; only pairs with identical normalized outcome phrases are tested."
},
"claim": {
"type": "string",
"maxLength": 2000,
"minLength": 3,
"description": "Optional claim or question to focus on; claims about it are paired first."
},
"papers": {
"type": "array",
"items": {
"type": "string",
"maxLength": 300,
"minLength": 3
},
"maxItems": 4,
"minItems": 2,
"description": "2 to 4 papers on a shared question, each a DOI (bare, doi: or doi.org URL), an arXiv id or arxiv.org URL, or a PMID (bare, PMID:n, or a pubmed.ncbi.nlm.nih.gov or europepmc.org URL)."
}
},
"additionalProperties": false
}Bibliography Reference Verifier — Checks every reference in a bibliography against Crossref, OpenAlex, arXiv and Europe PMC and leads with a verdict (FIX_REQUIRED, REVIEW_RECOMMENDED, INCOMPLETE or ALL_VERIFIED), a confidence, a one-line headline, the next step and a prioritized fix list. Input: BibTeX, LaTeX \bibitem, a plain-text list (APA, IEEE, Vancouver), an arXiv id (read via ar5iv), a PDF URL, or just a list of DOIs, arXiv
| Argument | Type | Description |
|---|---|---|
| latex | string | LaTeX source with a thebibliography environment (\bibitem) or embedded filecontents .bib; \cite commands supply citation contexts and are checked against the entries. |
| bibtex | string | BibTeX/BibLaTeX text (the contents of a .bib file). |
| pdfUrl | string | Public PDF URL. Text extraction is best-effort (Word and Google Docs exports work best). |
| arxivId | string | arXiv id or URL; references are read from the ar5iv HTML (.ltx_bibitem), falling back to the PDF. |
| manuscript | string | Optional manuscript text (LaTeX or plain) that supplies citation contexts: \cite keys, [n] numbers or Author (year) citations. |
| references | string | Plain-text reference list (numbered, blank-line separated, or one per line; APA, IEEE, Vancouver, Chicago). |
| identifiers | array | Bare identifiers instead of a bibliography: up to 150 DOIs (bare, doi: or doi.org URL), arXiv ids or URLs, or PMIDs (bare, PMID: or PubMed URL), mixed freely. Each is resolved and checked for retraction, correction and a published version of record. |
Scientific Consensus & Replication Failure Auditor — Give a DOI, arXiv id, PMID, URL, title or a free-text claim and get a verdict-first screen of whether the finding has been retracted, contradicted or failed to replicate: ROBUST / CONTESTED / UNREPLICABLE_HYPE / INSUFFICIENT_EVIDENCE with a 0-100 replicationRiskScore, confidence, a DO_NOT_RELY / VERIFY_BEFORE_RELYING / RELY_WITH_CAVEATS action, a one-line headline and a next step. Checks Crossref,
| Argument | Type | Description |
|---|---|---|
| doi | string | DOI of the paper to audit (bare, doi: or doi.org URL). Takes precedence over paperTitleOrDoi. |
| url | string | A doi.org, arxiv.org or pubmed.ncbi.nlm.nih.gov URL for the paper. |
| pmid | string | PubMed id (digits) or pubmed.ncbi.nlm.nih.gov URL. Mapped to the DOI through Europe PMC. |
| arxivId | string | arXiv id or arxiv.org URL (2106.09685, arXiv:1706.03762, hep-th/9901001). Resolved through Semantic Scholar and OpenAlex. |
| paperTitleOrDoi | string | DOI (10.xxxx/..., bare or doi.org URL), arXiv or PubMed URL, or title of the paper to audit. |
| scientificClaim | string | Free-text claim; the originating and closely related works are located by search. Used as context when a paper is also given. |
{
"type": "object",
"properties": {
"doi": {
"type": "string",
"maxLength": 300,
"minLength": 7,
"description": "DOI of the paper to audit (bare, doi: or doi.org URL). Takes precedence over paperTitleOrDoi."
},
"url": {
"type": "string",
"maxLength": 500,
"minLength": 8,
"description": "A doi.org, arxiv.org or pubmed.ncbi.nlm.nih.gov URL for the paper."
},
"pmid": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "PubMed id (digits) or pubmed.ncbi.nlm.nih.gov URL. Mapped to the DOI through Europe PMC."
},
"arxivId": {
"type": "string",
"maxLength": 80,
"minLength": 4,
"description": "arXiv id or arxiv.org URL (2106.09685, arXiv:1706.03762, hep-th/9901001). Resolved through Semantic Scholar and OpenAlex."
},
"paperTitleOrDoi": {
"type": "string",
"maxLength": 500,
"minLength": 3,
"description": "DOI (10.xxxx/..., bare or doi.org URL), arXiv or PubMed URL, or title of the paper to audit."
},
"scientificClaim": {
"type": "string",
"maxLength": 2000,
"minLength": 10,
"description": "Free-text claim; the originating and closely related works are located by search. Used as context when a paper is also given."
}
},
"additionalProperties": false
}Integer Sequence Identifier — Identifies an integer sequence from terms (a JSON array or pasted text), an OEIS A-number, a safe-parsed formula or recurrence, or a description, and leads with a verdict, confidence, A-number, formula, next terms and a next step. Searches the OEIS directly, then superseeker-style (differences, partial sums, gcd, ratios, binomial, Euler, leading terms, plus a search without the last two terms to f
| Argument | Type | Description |
|---|---|---|
| count | integer | How many terms to expand from the formula; default 20. |
| start | integer | Index n of the first expanded term; default 0. |
| terms | array | Integer terms, 4 to 60, each at most 40 digits. Pass values beyond 2^53 as decimal strings. |
| aNumber | string | Alternative to terms: an OEIS A-number (A000108) or oeis.org URL. The entry is fetched and its data searched for related sequences; returns its name, formulas and next terms. |
| explain | boolean | Ask a model for a one-sentence explanation drawn only from the matched OEIS entry; its quote is verified in code, otherwise the entry name is returned. Default false. |
| formula | string | Alternative to terms: a closed form in n such as "binomial(2*n,n)/(n+1)", or a recurrence such as "a(n) = a(n-1) + a(n-2)" (with initialTerms). Operators + - * / % ^, functions binomial fact abs gcd min max floor mod. Evaluated by a safe parser, never eval; every term must be an integer. |
We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 15, 2026.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.
| string |
| The causal claim being refereed, in plain language. |
| outcome* | string | Binary column (risk difference, risk ratio, odds ratio) or numeric column (mean difference). |
| llmReport | boolean | Ask a model to write the executive report in prose (numbers verified in code, template fallback). Default false: the report is a deterministic template over the computed results. |
| treatment* | string | Column with exactly two distinct values. |
| covariates* | array | Candidate adjustment variables (at most 12). Numeric ones with more than `bins` distinct values are cut at deterministic quantile edges; others must have at most 20 levels. |
| countColumn | string | Name of a column holding how many times each row repeats, so a published contingency table can be sent as a few aggregate rows (counts must be non-negative integers; the expanded table is capped at the row limit). |
| outcomeType | string | Force the outcome type; inferred from the number of distinct values otherwise. |
| descriptions | object | Optional one-line description per variable, used only to propose the DAG. |
| successValue | any | Outcome value that counts as success for a binary outcome; same default rule. |
| treatedValue | any | Treatment value that counts as treated; required unless the values are numeric or boolean (then the larger is treated). |
| bootstrapReps | integer |
| claimDirection | string | Direction of the claimed effect of treated vs control; default nonzero. |
| permutationSamples | integer | Used only when the exact enumeration would exceed 1000000 label assignments. |
{
"type": "object",
"required": [
"treatment",
"outcome",
"covariates",
"claim"
],
"properties": {
"csv": {
"type": "string",
"maxLength": 3000000,
"minLength": 10,
"description": "Alternative to data: CSV text with a header line (comma, semicolon or tab separated; quoted fields allowed; at most 20000 data rows). Numeric cells become numbers."
},
"dag": {
"type": "object",
"required": [
"edges"
],
"properties": {
"edges": {
"type": "array",
"items": {
"type": "object",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"maxLength": 100
},
"from": {
"type": "string",
"maxLength": 100
}
},
"additionalProperties": false
},
"maxItems": 200,
"description": "Directed edges from cause to effect between the treatment, outcome, covariates and unobserved nodes."
},
"unobserved": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"maxItems": 10,
"description": "Latent variables that appear in edges (for example an unmeasured confounder)."
}
},
"description": "Your causal DAG (formal input: no LLM is called to build the graph or, by default, the report). Omit to have one proposed by two independent model samples, which is then an assumption.",
"additionalProperties": false
},
"bins": {
"type": "integer",
"maximum": 10,
"minimum": 2,
"description": "Quantile bins for numeric covariates, default 4."
},
"data": {
"type": "array",
"items": {
"type": "object"
},
"maxItems": 20000,
"minItems": 2,
"description": "Observational table as an array of row objects (at most 20000 rows). Cells are string, number, boolean or null; rows missing a used variable are dropped. Provide this or csv."
},
"seed": {
"type": "integer",
"maximum": 4294967295,
"minimum": 0,
"description": "Seed for bootstrap and Monte Carlo; default derived from the input hash."
},
"alpha": {
"type": "number",
"maximum": 0.2,
"minimum": 0.001,
"description": "Significance level for the permutation test and the (1-alpha) bootstrap interval, default 0.05."
},
"claim": {
"type": "string",
"maxLength": 2000,
"minLength": 3,
"description": "The causal claim being refereed, in plain language."
},
"outcome": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Binary column (risk difference, risk ratio, odds ratio) or numeric column (mean difference)."
},
"llmReport": {
"type": "boolean",
"description": "Ask a model to write the executive report in prose (numbers verified in code, template fallback). Default false: the report is a deterministic template over the computed results."
},
"treatment": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Column with exactly two distinct values."
},
"covariates": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"maxItems": 12,
"description": "Candidate adjustment variables (at most 12). Numeric ones with more than `bins` distinct values are cut at deterministic quantile edges; others must have at most 20 levels."
},
"countColumn": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Name of a column holding how many times each row repeats, so a published contingency table can be sent as a few aggregate rows (counts must be non-negative integers; the expanded table is capped at the row limit)."
},
"outcomeType": {
"enum": [
"binary",
"continuous"
],
"type": "string",
"description": "Force the outcome type; inferred from the number of distinct values otherwise."
},
"descriptions": {
"type": "object",
"description": "Optional one-line description per variable, used only to propose the DAG."
},
"successValue": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
],
"description": "Outcome value that counts as success for a binary outcome; same default rule."
},
"treatedValue": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
],
"description": "Treatment value that counts as treated; required unless the values are numeric or boolean (then the larger is treated)."
},
"bootstrapReps": {
"type": "integer",
"maximum": 2000,
"minimum": 100
},
"claimDirection": {
"enum": [
"positive",
"negative",
"nonzero"
],
"type": "string",
"description": "Direction of the claimed effect of treated vs control; default nonzero."
},
"permutationSamples": {
"type": "integer",
"maximum": 200000,
"minimum": 1000,
"description": "Used only when the exact enumeration would exceed 1000000 label assignments."
}
},
"additionalProperties": false
}| references | string | Plain-text reference list (numbered, blank-line separated, or one per line; APA, IEEE, Vancouver, Chicago). |
| identifiers | array | Bare identifiers instead of a bibliography: up to 150 DOIs (bare, doi: or doi.org URL), arXiv ids or URLs, or PMIDs (bare, PMID: or PubMed URL), mixed freely. Each is resolved and checked for retraction, correction and a published version of record. |
{
"type": "object",
"properties": {
"topK": {
"type": "integer",
"maximum": 2,
"minimum": 1,
"description": "References to audit for replication (default 2)."
},
"claim": {
"type": "string",
"maxLength": 2000,
"minLength": 10,
"description": "The claim the bibliography supports; used for the replication and contradiction checks instead of the citing sentence."
},
"latex": {
"type": "string",
"maxLength": 400000,
"minLength": 10,
"description": "LaTeX source with a thebibliography environment (\\bibitem) or embedded filecontents .bib; \\cite commands supply citation contexts and are checked against the entries."
},
"bibtex": {
"type": "string",
"maxLength": 400000,
"minLength": 10,
"description": "BibTeX/BibLaTeX text (the contents of a .bib file)."
},
"pdfUrl": {
"type": "string",
"maxLength": 2000,
"minLength": 8,
"description": "Public PDF URL. Text extraction is best-effort (Word and Google Docs exports work best)."
},
"arxivId": {
"type": "string",
"maxLength": 80,
"minLength": 4,
"description": "arXiv id or URL; references are read from the ar5iv HTML (.ltx_bibitem), falling back to the PDF."
},
"manuscript": {
"type": "string",
"maxLength": 400000,
"minLength": 10,
"description": "Optional manuscript text (LaTeX or plain) that supplies citation contexts: \\cite keys, [n] numbers or Author (year) citations."
},
"references": {
"type": "string",
"maxLength": 200000,
"minLength": 10,
"description": "Plain-text reference list (numbered, blank-line separated, or one per line; APA, IEEE, Vancouver, Chicago)."
},
"identifiers": {
"type": "array",
"items": {
"type": "string",
"maxLength": 300,
"minLength": 3
},
"maxItems": 150,
"minItems": 1,
"description": "Bare identifiers instead of a bibliography: up to 150 DOIs (bare, doi: or doi.org URL), arXiv ids or URLs, or PMIDs (bare, PMID: or PubMed URL), mixed freely. Each is resolved and checked for retraction, correction and a published version of record."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"text"
],
"properties": {
"mode": {
"enum": [
"sentence",
"ngram"
],
"type": "string",
"description": "sentence (default) scores at sentence boundaries; ngram scores every sliding window of ngramSize words."
},
"text": {
"type": "string",
"maxLength": 200000,
"minLength": 20,
"description": "The chapter or passage to score."
},
"topN": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "How many lowest-score spans to return (default 10)."
},
"minChars": {
"type": "integer",
"maximum": 400,
"minimum": 8,
"description": "Minimum characters per candidate span (default 18)."
},
"ngramSize": {
"type": "integer",
"maximum": 7,
"minimum": 3,
"description": "Words per window when mode is ngram (default 5)."
},
"reference": {
"type": "string",
"maxLength": 200000,
"description": "Optional reference corpus to prepend before compression. When absent, the built-in 50 KB generic-prose corpus is used unless useBuiltInReference is false."
},
"useBuiltInReference": {
"type": "boolean",
"description": "Pass false to score with no reference corpus (local redundancy only). Default true."
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"toDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Latest publication date (inclusive)."
},
"fromDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Earliest publication date. Default: 10 years before the call."
},
"seedPaper": {
"type": "string",
"maxLength": 300,
"minLength": 5,
"description": "An English-language paper you already know, as a DOI (bare or doi.org URL) or arXiv id/URL. Its title becomes the research topic (or is added to it) so the scout finds non-English work on the same problem."
},
"maxResults": {
"type": "integer",
"maximum": 8,
"minimum": 1,
"description": "Discoveries to return (default 5, max 8)."
},
"researchTopic": {
"type": "string",
"maxLength": 500,
"minLength": 3,
"description": "English research topic, e.g. \"sulfide solid electrolytes for all-solid-state lithium batteries\"."
},
"targetLanguages": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z]{2}$"
},
"maxItems": 6,
"description": "ISO 639-1 codes of non-English languages to mine (max 6). Default zh, ja, de, fr, ko."
},
"technicalBottleneck": {
"type": "string",
"maxLength": 1000,
"minLength": 3,
"description": "English description of an unsolved technical bottleneck. Provide this, researchTopic or seedPaper (or several)."
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"mode": {
"enum": [
"fast",
"full"
],
"type": "string",
"description": "fast: zero model calls (lexical clustering and lexical addressed-check). full (default): one clustering call and one judging call, bounded to one status level."
},
"field": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "Field or discipline keyword added to the topic search, e.g. \"machine learning\"."
},
"query": {
"type": "string",
"maxLength": 300,
"minLength": 3,
"description": "Research topic, e.g. \"parameter-efficient fine-tuning of language models\"."
},
"seeds": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 5
},
"maxItems": 25,
"description": "Seed papers you already have: arXiv ids or URLs (2106.09685, arXiv:1706.03762, arxiv.org/abs/...), DOIs or doi.org URLs, or PMIDs (PMID:12345678 or a PubMed URL). Always analysed, not date-filtered."
},
"toDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"maxLength": 10,
"minLength": 10,
"description": "Only topic-search papers published on or before this date (YYYY-MM-DD)."
},
"fromDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"maxLength": 10,
"minLength": 10,
"description": "Only topic-search papers published on or after this date (YYYY-MM-DD)."
},
"maxPapers": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Papers to analyse, at most 25 (default 10); seeds count toward it."
}
},
"additionalProperties": false
}| checkSupport | boolean | Needs manuscript text (or latex, arxivId, pdfUrl). Spends one fast-tier model call to judge whether each cited abstract supports its citing sentence (at most 20 citations). |
{
"type": "object",
"properties": {
"latex": {
"type": "string",
"maxLength": 400000,
"minLength": 10,
"description": "LaTeX source with a thebibliography environment (\\bibitem) or embedded filecontents .bib; \\cite commands supply citation contexts and are checked against the entries."
},
"bibtex": {
"type": "string",
"maxLength": 400000,
"minLength": 10,
"description": "BibTeX/BibLaTeX text (the contents of a .bib file)."
},
"pdfUrl": {
"type": "string",
"maxLength": 2000,
"minLength": 8,
"description": "Public PDF URL. Text extraction is best-effort (Word and Google Docs exports work best)."
},
"arxivId": {
"type": "string",
"maxLength": 80,
"minLength": 4,
"description": "arXiv id or URL; references are read from the ar5iv HTML (.ltx_bibitem), falling back to the PDF."
},
"manuscript": {
"type": "string",
"maxLength": 400000,
"minLength": 10,
"description": "Optional manuscript text (LaTeX or plain) that supplies citation contexts: \\cite keys, [n] numbers or Author (year) citations."
},
"references": {
"type": "string",
"maxLength": 200000,
"minLength": 10,
"description": "Plain-text reference list (numbered, blank-line separated, or one per line; APA, IEEE, Vancouver, Chicago)."
},
"identifiers": {
"type": "array",
"items": {
"type": "string",
"maxLength": 300,
"minLength": 3
},
"maxItems": 150,
"minItems": 1,
"description": "Bare identifiers instead of a bibliography: up to 150 DOIs (bare, doi: or doi.org URL), arXiv ids or URLs, or PMIDs (bare, PMID: or PubMed URL), mixed freely. Each is resolved and checked for retraction, correction and a published version of record."
},
"checkSupport": {
"type": "boolean",
"description": "Needs manuscript text (or latex, arxivId, pdfUrl). Spends one fast-tier model call to judge whether each cited abstract supports its citing sentence (at most 20 citations)."
}
},
"additionalProperties": false
}| termsText |
| string |
| Alternative to terms: the terms pasted as text, separated by commas, spaces or semicolons (for example copied from a spreadsheet, a paper or an OEIS data line). |
| description | string | Alternative to terms and formula: a plain-language description. A short description that names an entry (up to 4 content words, all in the entry name, e.g. Catalan numbers) is resolved by OEIS text search with no model; otherwise one fast model call proposes terms and keywords, which OEIS then confirms. |
| initialTerms | array | Seed values a(start), a(start+1), ... for a recurrence formula. |
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"maximum": 60,
"minimum": 4,
"description": "How many terms to expand from the formula; default 20."
},
"start": {
"type": "integer",
"maximum": 1000,
"minimum": -100,
"description": "Index n of the first expanded term; default 0."
},
"terms": {
"type": "array",
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string",
"pattern": "^[+-]?[0-9]{1,40}$"
}
]
},
"maxItems": 60,
"minItems": 4,
"description": "Integer terms, 4 to 60, each at most 40 digits. Pass values beyond 2^53 as decimal strings."
},
"aNumber": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Alternative to terms: an OEIS A-number (A000108) or oeis.org URL. The entry is fetched and its data searched for related sequences; returns its name, formulas and next terms."
},
"explain": {
"type": "boolean",
"description": "Ask a model for a one-sentence explanation drawn only from the matched OEIS entry; its quote is verified in code, otherwise the entry name is returned. Default false."
},
"formula": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Alternative to terms: a closed form in n such as \"binomial(2*n,n)/(n+1)\", or a recurrence such as \"a(n) = a(n-1) + a(n-2)\" (with initialTerms). Operators + - * / % ^, functions binomial fact abs gcd min max floor mod. Evaluated by a safe parser, never eval; every term must be an integer."
},
"termsText": {
"type": "string",
"maxLength": 4000,
"minLength": 4,
"description": "Alternative to terms: the terms pasted as text, separated by commas, spaces or semicolons (for example copied from a spreadsheet, a paper or an OEIS data line)."
},
"description": {
"type": "string",
"maxLength": 500,
"minLength": 3,
"description": "Alternative to terms and formula: a plain-language description. A short description that names an entry (up to 4 content words, all in the entry name, e.g. Catalan numbers) is resolved by OEIS text search with no model; otherwise one fast model call proposes terms and keywords, which OEIS then confirms."
},
"initialTerms": {
"type": "array",
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string",
"pattern": "^[+-]?[0-9]{1,40}$"
}
]
},
"maxItems": 20,
"description": "Seed values a(start), a(start+1), ... for a recurrence formula."
}
},
"additionalProperties": false
}