protogrid

Search / com.professorsausages/sausage-web

Professor Sausages — Web & Documents

R0· no sign-in

Read pages & files to text, news, weather, market holidays and timezones via x402.

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

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality79good
Trust79of 100
Uptime, 30 days96%
Latency p50430 ms

Connect

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

Quality 79 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
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 hygiene71 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • fail
    tools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: read_url (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); pdf_extract (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); news (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
  • pass
    tools.token_costabout 3,702 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

12 tools, about 3,702 tokens to load them all · tool set 96ff5e396efe · checked 2026-10-20 21:18 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

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 79 / 100

no-repository
provenance55
liveness99
freshness85
hygiene80

+dns-namespace +website +reachable +uptime-96% ~updated-67d-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://x402.professorsausages.com/mcp/web streamable-httpnoneyes96%430 ms2025-06-182026-10-20

Tools (12)

find_dataDescribe the data you need in plain language (e.g. 'Apple risk factors 2023', 'is this token a honeypot', 'is this email deliverable', 'read this page'). Searches this server's datasets first, then the whole Professor Sausages catalog, and returns matching endpoints with method, URL, price, and how to call them. Free.
holidaysIs a market open on a date, and why not if it isn't. view='next_session' finds the next open day; view='settle' computes a T+N settlement date skipping weekends and holidays; view='business_days' counts open sessions in a range; view='year' lists a calendar's whole year. Paid: call without x_payment to receive this call's exact terms (amount, asset, network), sign them, then call again with x_payment. The free `pricing` tool lists every price at once.
image_to_textTranscribe an image to text (OCR) or describe it via a vision model — steerable with your own prompt. Paid: call without x_payment to receive this call's exact terms (amount, asset, network), sign them, then call again with x_payment. The free `pricing` tool lists every price at once.
newsNewest headlines from a deduped, tiered direct-feed pile (official press, wires and majors). Pass q to keyword-search the retained multi-day archive instead; category='ai' or 'crypto' return the high-signal curated cuts. Snapshot of ingested feeds, not a live web search. Paid: call without x_payment to receive this call's exact terms (amount, asset, network), sign them, then call again with x_payment. The free `pricing` tool lists every price at once.
news_batchUp to 10 headlines / ai / crypto / search reads behind ONE payment (POST /news/batch). Each request names a `route` and carries that route's own parameters — including `since` with a cursor, so one batch can advance several polls at once. `data.results[i]` is exactly the single-route answer for `requests[i]`, in order, each with its own `next_cursor` to store per feed. Every element is validated before any payment is asked for. Paid: call without x_payment to receive this call's exact terms (amount, asset, network), sign them, then call again with x_payment. The free `pricing` tool lists every price at once.
news_pollThe polling loop for a news-watching agent. First call: omit `since` — you get the current page plus a `next_cursor`. Every later call: pass that `next_cursor` as `since` and receive ONLY articles ingested after it, oldest first, plus the next cursor to store. Follow the whole pile (optionally one `category`) or a curated high-signal `topic` tape (ai, crypto). The pile refreshes every 15 minutes (`suggested_interval_seconds`); dedupe by article `id`, and by `cluster_id` to keep one record per story. A poll with nothing new is still a complete answer (new_count 0, cursor unchanged). Full loop + a paying Node poller: /skills/news.md. Paid: call without x_payment to receive this call's exact terms (amount, asset, network), sign them, then call again with x_payment. The free `pricing` tool lists every price at once.
pdf_extractExtract any PDF up to 10 MB by URL. format='text' returns one clean plain-text string; format='json' returns a per-page text array plus document metadata. Parsed in-Worker, no upstream service. Paid: call without x_payment to receive this call's exact terms (amount, asset, network), sign them, then call again with x_payment. The free `pricing` tool lists every price at once.
pricingEvery endpoint this server fronts, with its exact per-call USD price (x402, USDC on Base) and a one-line summary, read live from the route table. Free.
read_urlRender a URL in a real headless browser (JavaScript executed) and return clean, LLM-ready markdown. Use this when fetch() gives you an empty shell or a bot wall. Paid: call without x_payment to receive this call's exact terms (amount, asset, network), sign them, then call again with x_payment. The free `pricing` tool lists every price at once.
request_dataThe suggestion box: ask for data we don't have (a pre-2015 filing, an uncovered ticker, an unsupported chain, a whole dataset). Requests feed the nightly ingestion queue — filings are usually available within ~24h. Include contact if you want to hear back. Free.
timezoneCurrent local time, UTC offset and DST state for an IANA zone. view='offset' answers at a specific instant; view='convert' moves a wall-clock time between two zones; view='business_hours' says whether an instant is inside local business hours. Paid: call without x_payment to receive this call's exact terms (amount, asset, network), sign them, then call again with x_payment. The free `pricing` tool lists every price at once.
weatherCurrent conditions for a named place or coordinate. view='forecast' returns the hourly series; view='alerts' returns active severe-weather alerts (US coverage). Paid: call without x_payment to receive this call's exact terms (amount, asset, network), sign them, then call again with x_payment. The free `pricing` tool lists every price at once.

Schemas: list_tools.

Similar MCP servers

More from com.professorsausages

Official server.json
{
  "name": "com.professorsausages/sausage-web",
  "title": "Professor Sausages — Web & Documents",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://x402.professorsausages.com/mcp/web",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.1",
  "websiteUrl": "https://x402.professorsausages.com/mcp",
  "description": "Read pages & files to text, news, weather, market holidays and timezones via x402."
}