MCP integration
One hosted MCP server gives your agent the full Stipple suite — AI-text detection, citation fact-checking, document forensics, source-overlap checks, extraction, adverse-media screening, tender search and identity checks — as native tools. No install required.
Start with your account
- Sign in — every checker is free, with a higher weekly limit once signed in.
- Open Settings → MCP and create a connector URL. Paste it into your agent's MCP connection settings. Clients that support headers can use an account API key instead.
- List the tools, then try
tender_sourcesto check the connection — it is unmetered. A free tool succeeding does not confirm access to the rate-limited tools. - Run the tool you need. If you hit the weekly limit, the reply says when it resets.
A sign-in error means the connection needs your account credentials. A rate-limit error names when it resets. Repeated retries will not resolve either.
The server
Everything lives on https://www.stipple.sh/mcp (Streamable HTTP), listed in the official MCP registry as sh.stipple/openwarrant:
| Tool | What it does |
|---|---|
| detect_ai_text | Probability a document's prose was AI-written, with the tells. |
| verify_references | Citations resolve & match, internal math recomputed, claims judged; returns a public permalink. |
| verify_document | Forensic authenticity inspection — risk band, findings, shareable warrant. |
| check_source_overlap | Does this text overlap text found on the public web (plagiarism-style)? Exact matches are confirmed quotes with source URLs; paraphrase flags are labelled model judgements. Overlap, never accusations. |
| extract_fields | Pull structured fields from any document — ad-hoc list, template, or auto-detected — plus explicit options (all off by default): whole tables as rows (deterministic and free on born-digital PDFs), per-value bounding boxes (native-PDF text layer only), classification, PII redaction, layout, links, figures, retrieval chunks with provenance, page-splitting, and confidence triage (flag_below). GET /v1/extract/capabilities is the machine-readable contract. |
| screen_adverse_media | Screen a person/organisation for adverse media + sanctions exposure (PEP is not screened; the reply says so). Corroboration-gated sanctions matches (name-only = possible, never confirmed) plus entity-disambiguated news, same-name articles excluded. Screening coverage, not a determination. |
| verify_identity | Australian identity check over a set of documents (AFP 100-point or AUSTRAC safe-harbour) — established + the gap. |
| check_pack | Does a set of documents satisfy a checklist? Classifies each (one cheap read) and matches the required slots — a named scheme or an ad-hoc requirements list; reports complete + what's missing. |
| check_document · get_warrant · submit_feedback | Cache check, warrant retrieval, reviewer feedback. |
Claude (claude.ai and Claude Desktop)
Customize → Connectors → + → Add custom connector. Name it, paste your connector URL from the account page (Account → MCP → Create connector URL; it looks like https://www.stipple.sh/mcp/c/…) as the remote MCP server URL, leave the OAuth fields empty, and add. The plain https://www.stipple.sh/mcp also connects, for the five free tools only. Free accounts get one custom connector; on Team and Enterprise plans an owner adds it under Organization settings → Connectors first. The tools then appear in a conversation's tools menu.
ChatGPT
Turn on Developer mode in ChatGPT settings (the menu it sits under has moved between releases — search settings for the phrase; availability can depend on workspace policy). Then create a connector: a name and description, Connection → Public endpoint, and your connector URL from the account page (https://www.stipple.sh/mcp/c/…) — or the plain https://www.stipple.sh/mcp for the free tools only. ChatGPT lists the tools it discovered.
search and fetch, which this server does not expose — its tools do specific jobs with typed arguments.Claude Code
claude mcp add --transport http stipple https://www.stipple.sh/mcpTo use the metered tools, attach your account's key on the same command: --header "Authorization: Bearer stp_…". The key is on your account page after a sign-in.
Accounts and keys — what works where
Five tools need no account from any client: find_tenders, tender_sources, check_document, get_warrant and submit_feedback. The metered tools — detection, references, source overlap, verification, extraction, screening, tender matching, identity and pack checks — need a signed-in account's key (free, no card), sent as an Authorization: Bearer header.
/mcp/c/<token>. Every tool then works and spends this account's weekly limit. Treat the URL as a secret — it is shown once, it does nothing on the REST API, and you can revoke it from the account page. Claude Code, Cursor and config-file clients can keep passing the header instead.The step-by-step version per client, with what to ask once connected, is in Connect an MCP server to ChatGPT and Claude.
Claude Desktop / Cursor / generic clients
Add to your client's MCP configuration:
{
"mcpServers": {
"stipple": { "type": "http", "url": "https://www.stipple.sh/mcp" }
}
}Scoped servers https://www.stipple.sh/mcp-aitext (AI-text only) and https://www.stipple.sh/mcp-verify (fact-check only) remain available for existing installs — new installs should just use /mcp.
Calling the tools
The document tools accept a public url — the cheapest call: one short string, no download or encoding — or inline base64 (bytes_b64); the identity and pack checks take a documents list; the text tools take raw text or a url.
# In any connected client, just ask:
"Fact-check this report: https://example.com/report.pdf"
"Did an AI write this? <pasted text>"
"What kind of document is this? <link or file>"
"Is this payslip genuine? <attached file>"verify_references returns a shareable permalink with every result, so an agent can hand its user a public fact-check record. Each server also publishes MCP prompts (ready-made starters like "Fact-check a report URL") that appear natively in clients that support them.
Limits & behavior
- Same per-IP rate limits as the REST API (the tools share one quota).
- Outbound URL fetches are SSRF-guarded: public http(s) hosts only, every redirect re-validated, size-capped.
- Transport is stateless Streamable HTTP with JSON responses — no session affinity required.