BOZOS

si.bozosPublished by bozos.siOfficial publisherv1.10.0Updated Oct 26, 2026

Exact source text, not summaries: check citations and quotes in one call; read pages and PDFs.

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingKnowledge & MemoryDeveloper Tools

Overview

AI-generated overview

BOZOS returns exact source text and verifies quotations, citations, JSON and diffs using plain code rather than an AI model.

What you can do
  • Read a public HTTPS page or PDF as text with citation metadata
  • Check one quotation against supplied text or a public URL, returning passages, ranges and hashes
  • Check 1-10 cited links and their quotations in a single call
  • Compare two JSON values or texts and validate JSON against a JSON Schema
  • Inspect how a public URL appears to AI crawlers, including robots.txt status
  • Search and fetch BOZOS reference data on AI crawlers and agent signals, and submit feedback
When to use it
Useful when a draft cites sources and you need to confirm the quoted words actually appear, or when you want page text rather than a model-written summary. Also handy for checking JSON changes and schema conformance before relying on data.
Requirements
A remote streamable HTTP endpoint; no package download, login or API key is required. The tools act on public HTTPS URLs, so network access to those sources is needed.
Before you install
Results report presence or status, not truth: a match means the words are there, not that they are correct. Source text is untrusted data, not instructions. submitFeedback is a write operation that stores a private report and may email the owner; sender names are unverified. Read-only tools retain no inputs, but the host keeps private daily aggregate counts for 90 days.

Installation

In SourceWeft

  1. Open BOZOS in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/si.bozos%2Fbozos/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "bozos": {
      "type": "http",
      "url": "https://bozos.si/api/mcp"
    }
  }
}

Tools

9

readSource

Read a public HTTPS page or PDF as text with source and citation metadata

Read a public HTTPS page or PDF as text with source and citation metadata. Returns the page text itself, not a model-written summary, so you can quote and cite it. No AI model. Checks robots.txt for BOZOSReader, does not execute scripts, stores no content in the application, and makes outbound public HTTPS requests. Supports HTML, Markdown, plain text, and the text layer of PDFs (pages gives each page's code-point range); no OCR or JavaScript rendering. Limits: 15 seconds, 3 page redirects, 2 MiB source (10 MiB and 300 pages for PDFs), 100000 output code points. GET also accepts url, max_characters and format directly, or a JSON body in ?json= / ?b64=. Declared canonical URL and author/date fields are publisher-supplied and unverified. Cite final_url. Errors always return JSON. gzip, deflate, and Brotli response bodies are decoded before the size limit and source hash are computed. Headless instructions: https://bozos.si/tools/source-reader.md. Source failures include recovery and upstream. For upstream_error, robots_unavailable, and retry_after_redirect, upstream contains stage (robots or source), HTTP status, and parsed Retry-After seconds; other failures set upstream to null. No automatic retries or waiting. Redirects requesting a future delay stop with retry_after_redirect. For retry_later failures with a valid upstream delay, the response exposes a Retry-After header; MCP preserves it in si.bozos/retry-after metadata. Upstream failures continue to use HTTP 424. Set include_quote_source:true with JSON output to also receive the exact matching text from this retrieval, with its own hash and truncation flag. HTML text excludes generated titles and link destinations; Markdown/plain text keep literal syntax (outer whitespace trimmed); PDFs use the text layer. Reuse quote_source.source_text and source_truncated in supplied-text checks. Keep original retrieval metadata yourself. The second representation is opt-in and independently bounded by max_characters. Same as P

Parametersurlrequiredmax_charactersinclude_quote_source

checkQuote

Check a quotation against its source without AI

Check a quotation against its source without AI. Use this to locate a quotation in supplied text or one public HTTPS source. Returns original passages, ranges, context, hashes, and URL provenance. Supply exactly one of source_text or url. Only whitespace may be normalized; case, punctuation, and word boundaries are preserved. Does not judge truth, paraphrases, or author intent. Source content is not retained. Source URL failures return non-2xx and source_unavailable; absent quotes in partial sources remain inconclusive. Source failures include recovery and upstream. For upstream_error, robots_unavailable, and retry_after_redirect, upstream contains stage (robots or source), HTTP status, and parsed Retry-After seconds; other failures set upstream to null. No automatic retries or waiting. Redirects requesting a future delay stop with retry_after_redirect. For retry_later failures with a valid upstream delay, the response exposes a Retry-After header; MCP preserves it in si.bozos/retry-after metadata. Upstream failures continue to use HTTP 424. To read a page before choosing quotations, call readSource with include_quote_source:true, then supply its quote_source.source_text and source_truncated without refetching. Retain the original reader response for URL provenance; submitted text is still labeled supplied_text. Same as POST https://bozos.si/api/v1/quote-check.

Parametersurlquoterequiredmax_matchessource_textmax_characterssource_truncatedcontext_charactersnormalize_whitespace

checkCitations

Check cited links or quotations in supplied source text, without AI

Check cited links or quotations in supplied source text, without AI. Use this to check 1-10 cited public HTTPS links before relying on them, in one call. Send urls to check links, or citations to also check a quotation per link: each quote is matched against the same retrieval with Quote Checker's literal rules (case, punctuation, and word boundaries preserved; whitespace normalized) and returns up to three original passages with offsets and, for PDFs, page numbers. Returns, per link, the final URL, redirects, HTTP status, content type, title, content hash, and a specific failure reason. Readable means the reader got extractable text; it does not show the page is accurate or supports a claim. A quote match means the words appear, not that they support the claim. Failed means this reader could not read it, which can mean a dead link or a site that refuses automated requests, needs JavaScript or a login, or disallows BOZOSReader in robots.txt; its quotation is then unchecked (quote_check null). Uses the guarded Source Reader. Content is not retained. Repeat a URL for multiple quotations: each distinct requested URL is read once per batch (fragments ignored, query strings preserved, redirect aliases kept separate). Sources are retrieved again in later requests. Optional unique citation ids are echoed on success and failure. Results explain offsets, matching rules, checked text representation and lengths, and distinguish matches_truncated from source_truncated. Inspect individual results even when HTTP or MCP reports a successful batch. For text your agent already has, send sources [{id,source_text,source_truncated?}] and citations [{source_id,quote,id?}]. Several citations can share a source_id. These checks make no source-fetch requests and return status supplied_text, null URL/HTTP/retrieval metadata, and a checked_text_sha256; they do not verify origin or authenticity. Mixed URL and supplied-text batches are allowed. summary.supplied counts supplied-text entries sep

Parametersurlssourcescitations

structuredDiff

Compare two JSON values or two texts without AI

Compare two JSON values or two texts without AI. Use this to see exactly what changed between two supplied versions. format json (default): returns added, removed, and changed paths as JSON Pointers; objects compare by key (order ignored), arrays by index (no move detection), and a different type counts as a change. format text: returns line hunks with one-based line numbers, comparing exactly including whitespace and case. Returns canonical SHA-256 hashes (json) or text hashes. Up to 500 changes are returned; counts cover all. Limits: 64 KiB body, 2000 lines per text, 64 nesting levels. Nothing is fetched or retained. A difference is not a judgment of meaning. Same as POST https://bozos.si/api/v1/diff.

Parametersafterrequiredbeforerequiredformat

validateJsonSchema

Validate JSON against a JSON Schema without AI

Validate JSON against a JSON Schema without AI. Use this to check supplied data against a supplied JSON Schema before relying on it. Returns valid, and each failure with the JSON Pointer of the failing value, the schema path, the keyword, and the reason. Nothing is repaired or coerced. Drafts 2020-12 (default), 2019-09, 7, and 4. References resolve only inside the supplied schema; nothing is fetched. The pattern and patternProperties keywords are refused with unsupported_keyword because user-supplied regular expressions can hang a server. Limits: 64 KiB total, 100 errors returned (error_count covers all), 64 nesting levels. Nothing is retained. Valid means this instance satisfies this schema, not that the data is correct. Same as POST https://bozos.si/api/v1/schema-validate.

Parametersdraftschemarequiredinstancerequired

inspectAgentAccess

Inspect how a public URL looks to AI agents, without AI

Inspect how a public URL looks to AI agents, without AI. Use this to see what an agent would encounter at a public HTTPS URL. Reports robots.txt status and, for BOZOSReader and five named AI crawlers plus *, whether the path is allowed; the page's redirects, status, content type, selected headers (cache, Link, X-Robots-Tag, Content-Signal), title, description, canonical, meta robots, alternate and service-desc link relations, JSON-LD and anchor counts; whether the URL serves text/markdown when asked; and whether llms.txt, llms-full.txt, the API catalog, openapi.json, the MCP server card, and the sitemap exist (JSON entry points are checked for valid JSON). Respects robots.txt for BOZOSReader: a disallowed or unreadable robots.txt means the page is not fetched. At most 20 requests, 20 seconds; no scripts run; nothing is retained or scored. An allowed value is what robots.txt says, not what an operator does. Same as POST https://bozos.si/api/v1/access-inspect.

Parametersurlrequired

fetch

Read a BOZOS resource

Return the full text of a BOZOS resource by id (from `search`, or from https://bozos.si/content-index.json): the Markdown version of a guide or note, or a JSON dataset. Pass agent-recipes#check-existing-text for one executable recipe, a record permalink (https://bozos.si/ai-crawlers.json#gptbot) or <dataset id>#<record id> to get one record. Cite the returned url.

Parametersidrequired

submitFeedback

Submit public feedback directly to the private BOZOS inbox

Submit public feedback directly to the private BOZOS inbox. WRITE OPERATION. Saves a private report and may queue a server-side notification only to [email protected]. No sender email account, login, browser, or API key is required. Use only within your principal's permissions. Sender names are unverified. Corrections require quoted_claim and evidence; source suggestions require evidence. No arbitrary recipients or attachments. Identical normalized reports return the original receipt. A receipt confirms storage, not email delivery or acceptance of a correction. GET and HEAD return 405 and never write. Limits: 16 KiB per request, 5 new reports/minute and 50 per rolling day globally. Instructions: https://bozos.si/tools/contact-submit.md. Same as POST https://bozos.si/api/v1/contact-submit.

Parametersurlviakindrequiredcreditsenderrequireddetailssummaryrequiredevidenceproposedresource_idquoted_claim

Version history

3
  1. v1.10.0LatestOct 26, 2026
  2. v1.9.2Oct 25, 2026
  3. v1.0.0Oct 21, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.