Skip to main content
Glama

Stipple — Document Verification & Extraction

Check text against published web sources

check_source_overlap
Read-only

Check whether text OVERLAPS text published on the public web — a plagiarism-style check: does this text appear elsewhere? was this copied? find the source of this text.

Provide the document ONE way: `text` (pasted prose), `url` (a public http(s) link —
fetched server-side; that page and its host are excluded from matches), OR `bytes_b64`
(a base64 PDF/.docx/text file, plus `filename` for routing).

Returns two evidence tiers, never mixed: `matches` are EXACT/near-verbatim overlaps
confirmed against the fetched source page — each carries the quoted text from both
sides, the source URL, and char spans for highlighting. `possible_paraphrases` are
model JUDGEMENTS (reworded overlap), clearly labelled, never quotes, and alone they
cap the overlap band at "low". `overlap_band` summarises: none | low | notable | high.

HONEST SCOPE: this searches the PUBLIC WEB within capped queries — it is not an
academic-database check, absence of matches is never an originality certificate, and
overlap says nothing about who published first or intent. Plagiarism is a judgement
this tool never makes. English-language prose only; non-prose and unsupported
languages abstain (`applicable: false`). Free within the weekly cap.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNo
textNo
filenameNodocument.pdf
bytes_b64No

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes far beyond the readOnlyHint annotation by disclosing the two-tier evidence system (matches vs possible_paraphrases), the fact that paraphrases are model judgements and never quotes, the cap on overlap band for paraphrase-only results, the capped query limits, the exclusion of the fetched page and host from matches, and the explicit statement that plagiarism is a judgement the tool never makes. This is rich behavioral disclosure that prevents misuse.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but well-organized: purpose first, then input modes, then output tiers, then honest scope. Every sentence earns its place. It loses one point for length — the honest-scope section could be tightened slightly — but the structure is logical and front-loaded with the most critical information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (4 params, 0% schema coverage, output schema present, 13 siblings), the description is remarkably complete. It covers input constraints, output structure, evidence reliability, limitations, language support, and cost implications. The output schema exists to explain return values, so the description's focus on behavior and constraints is exactly right.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden. It explains the semantics of text, url, and bytes_b64 (including that url is fetched server-side and excluded from matches, and that bytes_b64 needs filename for routing). The only minor gap is that filename's default and role are only partially explained, but the core parameter semantics are well covered.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource ('Check whether text OVERLAPS text published on the public web') and immediately frames it as a plagiarism-style check with concrete questions ('does this text appear elsewhere? was this copied? find the source of this text'). It clearly distinguishes itself from siblings like detect_ai_text and verify_document by focusing on source overlap rather than authorship or document verification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states the three mutually exclusive input modes ('Provide the document ONE way: text, url, or bytes_b64'), which is critical usage guidance. It also gives clear when-not-to-use context: 'not an academic-database check', 'absence of matches is never an originality certificate', 'English-language prose only; non-prose and unsupported languages abstain'. This is exemplary routing and exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.