protogrid

Search / io.github.pipeworx-io/crs-reports

Crs Reports

R0· no sign-in

Congressional Research Service reports — Congress's own nonpartisan analysis, searchable and…

v0.1.1 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality–not scored
Trust97of 100
Uptime, 30 days99%
Latency p5029 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "crs-reports": {
      "type": "http",
      "url": "https://gateway.pipeworx.io/crs-reports/mcp"
    }
  }
}
claude mcp add --transport http crs-reports https://gateway.pipeworx.io/crs-reports/mcp
[mcp_servers.crs-reports]
url = "https://gateway.pipeworx.io/crs-reports/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "crs-reports": {
      "type": "remote",
      "url": "https://gateway.pipeworx.io/crs-reports/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "crs-reports": {
      "type": "http",
      "url": "https://gateway.pipeworx.io/crs-reports/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=crs-reports&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZ2F0ZXdheS5waXBld29yeC5pby9jcnMtcmVwb3J0cy9tY3AifQ%3D%3D"
}
{
  "servers": {
    "crs-reports": {
      "type": "http",
      "url": "https://gateway.pipeworx.io/crs-reports/mcp"
    }
  }
}
{
  "mcpServers": {
    "crs-reports": {
      "httpUrl": "https://gateway.pipeworx.io/crs-reports/mcp"
    }
  }
}
extensions:
  "crs-reports":
    enabled: true
    name: "crs-reports"
    type: streamable_http
    uri: "https://gateway.pipeworx.io/crs-reports/mcp"
    timeout: 300

Quality – / 100not scored

Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-03-26; 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 hygienen/a · weight 30
  • n/a
    tools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dumptool list unknown (behind auth, not probed, or empty)
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool list unknown
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

Tool list unknown · tools last changed 2026-10-17 · checked 2026-10-20 15:26 UTC

Tool changes

  • crs_topicsremoved

    The Congressional Research Service's own subject taxonomy, with how many reports carry each term — the legal filter values for crs_search and crs_recent. Also lists CRS analysts by output, and the product families. Call this before filtering by topic: CRS writes 'U.S. Trade Policy', and a guessed 'Trade' matches nothing.

  • crs_reportremoved

    Read one Congressional Research Service report in full by its report number (R43255, IF13006, LSB10123, IN12304). Returns the complete text of the current version, plus its authors, CRS subject topics, publication date, the bills and public laws it cites, how old the text is, and a statement that CRS analysis is persuasive rather than binding. Use it after crs_search, or directly when a report number is already known.

  • crs_searchremoved

    Find Congressional Research Service (CRS) reports on a policy topic, statute or programme and get their titles, summaries, topics, authors, publication dates and report numbers. CRS is the nonpartisan research service that writes explanatory analysis for Congress: what a law does, how a federal programme works, what the policy options are, what a proposal would cost. Covers 14,000+ current reports back to 2018 across every subject Congress legislates on — trade, health, immigration, defense, tax, energy, housing. Ranks titles and CRS summaries; use crs_report to read a report in full.

  • recallremoved

    Retrieve a value previously saved via remember, or list all saved keys (omit the key argument). Use to look up context the agent stored earlier — the user's target ticker, an address, prior research notes — without re-deriving it from scratch. Scoped to your identifier (anonymous IP, BYO key hash, or account ID). Pair with remember to save, forget to delete.

  • generate_llms_txtremoved

    Generate a production-ready llms.txt file for any URL so AI crawlers (ChatGPT, Claude, Perplexity) can index the site cleanly. Fetches the page, extracts title/description/key links, and emits the standard llms.txt markdown format. Output is a single text blob ready to drop at site-root/llms.txt. Useful for: getting a client's site indexed by AI, drafting llms.txt for your own project, or auditing how an AI crawler would see a competitor.

  • pipeworx_trendingremoved

    What other AI agents are calling on Pipeworx right now. Returns the top tools, top packs, and total call volume over a recent window (24h, 7d, or 30d). Useful for: (1) discovering what data sources are hot for current events, (2) confirming a popular tool is the canonical choice before asking your own question, (3) seeing whether your use case aligns with what most agents need. Self-aggregating signal — derived from CF analytics-engine, no PII, just (pack, tool, count). Cached 5min-1h depending on window.

  • classify_rowremoved

    Cheap categorization: given a company and a list of candidate labels, decide which labels apply — the most common GTM/AI usage shape (tagging a list by industry, ICP fit, etc.), one small model call. Same evidence contract as research_row: each label comes back {label, applies, evidence_url, quote, status: found|inferred|not_established} — "found" only when the model's quote is independently verified as a verbatim substring of the text used. Pass text directly (cheapest — no fetch) or entity.domain to fetch the homepage once as a fallback. No text and no domain means every label is not_established with no model call made.

  • research_rowremoved

    Claygent-style per-row research: answer ONE question about ONE company and return a JSON object matching your output_schema, with every field wrapped in its own evidence — {value, evidence_url, quote, status}. status is NEVER self-reported by the model: "found" means this code independently verified the model's quote is a VERBATIM substring of text actually fetched; "inferred" means a value was given but the quote could not be verified; "not_established" means no source answered the field, and its value is always null — never guessed, never a blended score. Sources: "web" fetches the company's own site (entity.domain required — homepage, /about, /leadership) via fetch_url; "catalog" checks entity_profile (SEC EDGAR; resolved:false for a private company is expected, not a failure); "both" (default) tries both. max_cost (USD, default 0.02, max 0.50) scales how many pages are fetched and refuses up front if it is too small to pay for even one extraction call (floor $0.002) — never silently overspends. A row where every source comes back empty costs nothing: every field is mechanically not_established with NO model call made. For a boolean/derived field (e.g. "does this company sell to healthcare"), the quote only has to SUPPORT the value — a descriptive sentence about customers/products counts, the source need not state the answer verbatim. leadership_page_status ("fetched"|"not_found"|"not_attempted", plus leadership_note) says plainly whether a leadership/team page was actually read, so a named-person field (head_of_sales) coming back not_established is distinguishable from "this company just doesn't publish one" vs. "we never checked". model_output_empty:true means the model returned nothing usable (a transport/budget problem) — every field is not_established for THAT reason, never read as 20 individual "no" judgments. Use with a fixed question + schema across many rows for "Claygent over N companies with a hard cost cap" (composes with batch callers). For picking from a fixed label list instead of extracting open fields, use classify_row (cheaper, one model call).

  • archive_compareremoved

    What changed on a web page between two dates? Resolves the archived capture nearest each date (Internet Archive Wayback Machine, Common Crawl, Arquivo.pt), extracts the readable text of both, and returns a text-level diff: the segments removed and added, a similarity score, and both capture timestamps with their gaps from the requested dates. It diffs readable text, not markup, so a restyled page with the same words reads changed:false. Identical captures answer changed:false with the reason (same capture, identical content digest, or identical text), never an empty diff. A date with no capture within max_gap_days (default 30) answers status "no_capture", naming which side is missing and the nearest captures to it. Typical uses: how a privacy policy, terms of service, pricing or product page changed; whether a statement was on a page at a given time.

  • archive_evidenceremoved

    What did a web page say on a given date? Finds the archived capture of a URL nearest that date across the Internet Archive Wayback Machine, Common Crawl and Arquivo.pt, reads it, and returns the readable text (HTML stripped) with the capture timestamp, a link to the archived copy, and the GAP between the date asked for and the capture actually used (e.g. "Captured 1.5 day(s) before the requested date"). One call replaces the find-capture, fetch-record, parse-HTML chain. If no archive holds a capture within max_gap_days (default 30) it answers status "no_capture" and names the nearest capture before and after the date with their gaps, so a distant capture is never passed off as the page on that date. Every archive's outcome is listed in sources[]; one that timed out or errored says so with its upstream status, and if all of them failed the answer is error "archives_unavailable", not no_capture. Captures are immutable and cached by capture id; served_from says whether the text came from cache or upstream. Use archive_compare to see what changed between two dates.

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

provenance90
liveness100
freshness100
hygiene100

+repository +namespace-matches-repo +website +reachable +uptime-99% +updated-26d-ago

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://gateway.pipeworx.io/crs-reports/mcp streamable-httpnoneyes99%29 ms2025-03-262026-10-20

Tools (0)

No tools observed. Tools appear once a credential-free probe can list them.

Schemas: list_tools.

Similar MCP servers

More from io.github.pipeworx-io

And 1,855 more from this publisher.

Official server.json
{
  "name": "io.github.pipeworx-io/crs-reports",
  "title": "Crs Reports",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://gateway.pipeworx.io/crs-reports/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.1.1",
  "repository": {
    "url": "https://github.com/pipeworx-io/mcp-crs-reports",
    "source": "github"
  },
  "websiteUrl": "https://pipeworx.io/packs/crs-reports",
  "description": "Congressional Research Service reports — Congress's own nonpartisan analysis, searchable and…"
}