protogrid

Search / si.bozos/bozos

BOZOS

R0· no sign-in

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

v1.10.0 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality87good
Trust82of 100
Uptime, 30 days98%
Latency p50280 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "bozos": {
      "type": "http",
      "url": "https://bozos.si/api/mcp"
    }
  }
}
claude mcp add --transport http bozos https://bozos.si/api/mcp
[mcp_servers.bozos]
url = "https://bozos.si/api/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "bozos": {
      "type": "remote",
      "url": "https://bozos.si/api/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "bozos": {
      "type": "http",
      "url": "https://bozos.si/api/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=bozos&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYm96b3Muc2kvYXBpL21jcCJ9"
}
{
  "servers": {
    "bozos": {
      "type": "http",
      "url": "https://bozos.si/api/mcp"
    }
  }
}
{
  "mcpServers": {
    "bozos": {
      "httpUrl": "https://bozos.si/api/mcp"
    }
  }
}
extensions:
  "bozos":
    enabled: true
    name: "bozos"
    type: streamable_http
    uri: "https://bozos.si/api/mcp"
    timeout: 300

Quality 87 / 100good

protocol100 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • pass
    protocol.list_ttltool list is cacheable (ttlMs 300000)
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene94 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length3 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations9 of 9 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 4,679 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
  • pass
    tools.hidden_textno hidden text in tool names, descriptions, schemas or annotations
stability50 · weight 15
  • warn
    stability.changes40 tool changes in 30 days
  • fail
    stability.rug_pull1 tools kept their name but changed most of their description in 30 days; review before trusting them
  • pass
    stability.new_linksno tool change named a new site
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

9 tools, about 4,679 tokens to load them all · tool set f13c987cadc4 · tools last changed 2026-10-25 · checked 2026-11-14 06:30 UTC

Tool changes

  • fetchchangeddescription
    before

    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 a record permalink (https://bozos.si/ai-crawlers.json#gptbot) or <dataset id>#<record id> to get one record. Cite the returned url.

    after · 83% of words in common

    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.

  • textStatsremoved

    Measure text deterministically. Same as POST https://bozos.si/api/v1/text-stats.

  • auditAgentDiscoveryremoved

    Audit supplied crawler and agent discovery materials without fetching URLs. Checks a caller-supplied bundle only. Makes no outbound network requests and retains no payload. Same as POST https://bozos.si/api/v1/discovery-audit.

  • exactCalcremoved

    Exact rational arithmetic with no floating-point error. Same as GET https://bozos.si/api/v1/calc.

  • inspectAgentAccessByUrlremoved

    Access inspector for agents limited to fetching URLs. Read-only GET equivalent of inspectAgentAccess. Supply one url parameter. Same as GET https://bozos.si/api/v1/access-inspect.

  • utcNowremoved

    Get the current UTC and Unix time. Same as GET https://bozos.si/api/v1/now.

  • verifyApprovedActionremoved

    Verify that an action still matches its approved fingerprint. Same as POST https://bozos.si/api/v1/verify.

  • timeInZonesremoved

    Convert a time between IANA time zones, or give the current time anywhere. Same as GET https://bozos.si/api/v1/time.

  • checkRobotsTxtremoved

    Evaluate a robots.txt for one crawler or every AI crawler in the directory, per RFC 9309. Pass the robots.txt text; nothing is fetched. Returns allowed or disallowed per crawler for the path, the matching group and rule, sitemaps, Content-Signal lines, and warnings. Directory crawlers that may ignore robots.txt for user-initiated fetches are flagged. Same as GET https://bozos.si/api/v1/robots-check.

  • datasetChangesremoved

    List dataset records added, changed, or removed after a date. Record-level delta for every BOZOS dataset (or the ones named), so a cached copy can be updated without re-downloading. Records include their permalink and, unless records=ids, their current content. Dates have day precision and are strictly after since. Same as GET https://bozos.si/api/v1/changes.

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 82 / 100

no-repository
provenance55
liveness99
freshness100
hygiene80

+dns-namespace +website +reachable +uptime-98% +updated-19d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://bozos.si/api/mcp streamable-httpnoneyes98%280 ms2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-052026-11-14

Tools (9)

checkCitationsread-onlyCheck 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 separately from readable URLs. Set source_truncated true for excerpts or incomplete input so missing quotations remain inconclusive. All supplied text is checked literally, including markup. Use POST or MCP for text; encoded GET bodies are also supported. Entire requests, including JSON/MCP overhead, are limited to 64 KiB. Failed URL entries carry upstream metadata (including robots-versus-source stage and Retry-After seconds) and a recovery hint. Delays belong to individual entries; a mixed batch never sets a whole-response Retry-After or retries sources automatically. 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/citation-check.
checkQuoteread-onlyCheck 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.
fetchread-onlyReturn 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.
inspectAgentAccessread-onlyInspect 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.
readSourceread-onlyRead 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 POST https://bozos.si/api/v1/source-reader.
searchread-onlySearch every BOZOS reference guide, dataset, note, and tool by keyword. Returns resource ids to pass to `fetch`, with the canonical URL to cite.
structuredDiffread-onlyCompare 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.
submitFeedbackSubmit 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.
validateJsonSchemaread-onlyValidate 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.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "si.bozos/bozos",
  "title": "BOZOS",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://bozos.si/api/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.10.0",
  "websiteUrl": "https://bozos.si/tools/mcp",
  "description": "Exact source text, not summaries: check citations and quotes in one call; read pages and PDFs."
}