Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.cyanheads/internet-archive-mcp-server

NPM · @CYANHEADS/INTERNET-ARCHIVE-MCP-SERVER · SCANNED AUG 7

Search the Wayback Machine and IA library (40M+ items), fetch snapshots, item metadata, and text.

+60 this week 66 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 40 of 127 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability65
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 1368 tokens (~273/item across 5 items; 5 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · @cyanheads/internet-archive-mcp-server

# add to Claude Code
claude mcp add cyanheads-internet-archive-mcp-server -- npx -y @cyanheads/internet-archive-mcp-server
# add to Codex CLI
codex mcp add cyanheads-internet-archive-mcp-server -- npx -y @cyanheads/internet-archive-mcp-server
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "cyanheads-internet-archive-mcp-server": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@cyanheads/internet-archive-mcp-server"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add cyanheads-internet-archive-mcp-server --command npx --arg -y --arg @cyanheads/internet-archive-mcp-server
# ~/.hermes/config.yaml
mcp_servers:
  cyanheads-internet-archive-mcp-server:
    command: "npx"
    args: ["-y", "@cyanheads/internet-archive-mcp-server"]
// mcp.json
{
  "mcpServers": {
    "cyanheads-internet-archive-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/internet-archive-mcp-server"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 7 Aug 26 +2
    • Known CVEs: partial → pass security
    • Dependency health: partial → 0.85 functional
  • 6 Aug 26 +28
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • MCP protocol: unverified → pass functional
    • Tool coverage: unverified → 100 functional
    • First check of Tool coverage: 100 functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: excellent functional
    • First check of Schema quality: fail functional
    • First check of Tool coverage: 100 functional
  • 5 Aug 26 +2
    • CVE-2026-69207 no longer affects this package security
    • Known CVEs: fail → partial security
  • 4 Aug 26 −1
    • CVE-2026-69207 affects this package: medium security
    • Known CVEs: partial → fail security
  • 3 Aug 26 +15
    • Provenance: unverified → fail security
    • Known CVEs: unverified → partial security
    • Install scripts: unverified → pass security
    • Maintenance: unverified → pass functional
    • Dependency health: unverified → partial functional
    • License: unverified → pass functional
    • Licence: Apache-2.0 functional
  • 1 Aug 26 +14
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 31 Jul 26 −18
    • Malware scan: pass → unverified security
  • 27 Jul 26 24

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 7 Aug 2026 · Analysed npm/@cyanheads/[email protected]

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm
Dependencies 127 packages
Packages resolved 127
Stale 40
Tree resolution Complete
MCP tools · 5 exposed · ~1,305 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
ia_find_snapshots ~449

Find Wayback Machine snapshots of a URL. Mode "closest" returns the single nearest capture to a given timestamp via the Availability API (fast, one result). Mode "history" returns the full capture list via the CDX API — filterable by date range, HTTP status code, and MIME type, collapsed by default to one capture per day (collapse=timestamp:8). Use history mode to survey how a page changed over time; use closest mode when you need the snapshot nearest a specific date. history mode supports resume-key pagination for URLs with very large capture histories.

NameTypeReqDescription
collapseCDX collapse parameter (history mode only). Format: "timestamp:N" where N is 1–14 (4=year, 6=month, 8=day, 10=hour, 14=exact). Default "timestamp:8" collapses to one per day. Pass an empty string or…
fromstringStart of date range filter in YYYYMMDD format (history mode only). Example: "20200101".
limitintegerMaximum number of CDX records to return (history mode only, default 100).
modestringyesLookup mode: "closest" returns the single nearest snapshot to the given timestamp; "history" returns the paginated full capture list via the CDX API.
resume_keystringOpaque pagination key from a previous history mode response. Pass this to continue from where the last page left off.
status_filterFilter CDX results to a specific HTTP status code (history mode only). Must be a 3-digit numeric code. Example: "200" to return only successful captures.
timestampstringTarget timestamp in YYYYMMDDHHMMSS format (or any prefix thereof). Required for mode=closest. Example: "20200101" for January 1, 2020.
tostringEnd of date range filter in YYYYMMDD format (history mode only). Example: "20231231".
urlstringyesThe URL to look up in the Wayback Machine.
NameTypeReqDescription
capnumberThe limit that was applied.
resume_keystringOpaque key to pass as resume_key in the next call to continue paginating CDX history results.
shownnumberNumber of snapshots returned.
snapshotsarrayyesList of snapshots matching the query.
truncatedbooleanTrue when the snapshot list was capped at the limit.

No examples provided.

ia_get_item ~123

Retrieve full metadata and the complete file manifest for an Internet Archive item by identifier. Returns title, creator, description, subjects, collections, license, language, and every file with its format, size, and direct download URL. The primary tool to act on a search result from ia_search_items. Use ia_get_text to retrieve the readable text of a text item.

NameTypeReqDescription
identifierstringyesInternet Archive item identifier, e.g. "pg1342" (Pride and Prejudice) or "UndergraduateMathematics". Obtain from ia_search_items results.
NameTypeReqDescription
collectionCollection(s) this item belongs to when provided.
creatorCreator or author name(s) when provided.
datestringPublication or upload date when provided.
descriptionItem description when provided.
file_countnumberyesTotal number of files in the item manifest.
filesarrayyesComplete file manifest for the item.
identifierstringyesThe item identifier.
languagestringLanguage when provided.
licenseurlstringLicense URL when provided.
mediatypestringMedia type (texts, audio, movies, etc.).
rightsstringRights statement when provided.
subjectSubject or topic tag(s) when provided.
titlestringItem title when provided by the metadata.

No examples provided.

ia_get_snapshot ~141

Fetch the archived content of a URL at a specific Wayback Machine timestamp. Resolves to the nearest available capture when the exact timestamp has no snapshot. Returns the archived page as readable plain text (HTML stripped) and the canonical replay URL for browser access. Use ia_find_snapshots first to discover valid timestamps for a URL.

NameTypeReqDescription
timestampstringyesTarget Wayback timestamp in YYYYMMDDHHMMSS format (or any prefix). The nearest available snapshot will be resolved and fetched. Example: "20200101120000" for noon on January 1, 2020.
urlstringyesThe URL whose archived content to retrieve.
NameTypeReqDescription
replay_urlstringyesCanonical Wayback Machine replay URL used to fetch this content.
resolved_statusstringyesHTTP status code of the original capture at the resolved timestamp. Returned by the Availability API for imprecise timestamps; assumed "200" for exact 14-digit timestamps (direct path skips the Avail…
resolved_timestampstringyesThe actual snapshot timestamp resolved from the nearest capture lookup.
textstringyesReadable plain text extracted from the archived HTML (scripts, styles, and nav stripped). Capped at the server-configured IA_MAX_SNAPSHOT_CHARS limit (default 50 000 characters).

No examples provided.

ia_get_text ~204

Retrieve the readable text content of a text item (OCR DjVuTXT or plain-text file) from the Internet Archive, with length-aware truncation and a continuation pointer for pagination. Suited for public-domain books, documents, scanned periodicals, and transcripts. Use max_chars and char_offset to page through long documents. Use ia_get_item first to confirm the item has a text file and to find its mediatype.

NameTypeReqDescription
char_offsetintegerCharacter offset to start reading from (default 0). To read the next page, add max_chars to the previous char_offset.
identifierstringyesInternet Archive item identifier, e.g. "pg1342" (Pride and Prejudice). Obtain from ia_search_items results.
max_charsintegerMaximum number of characters to return in this response. Defaults to the server-configured maximum (IA_MAX_SNAPSHOT_CHARS, typically 50 000). Lower values reduce token usage.
NameTypeReqDescription
char_offsetnumberyesCharacter offset used for this response.
has_morebooleanyesTrue when there is more text beyond this slice. Increment char_offset by max_chars to read the next page.
max_charsnumberyesMaximum characters returned in this response.
source_filestringyesFilename of the source text file fetched from the item.
textstringyesThe text slice starting at char_offset up to max_chars characters.
total_charsnumberyesTotal character count of the full text file.

No examples provided.

ia_search_items ~388

Search the Internet Archive library (40M+ items) using the Advanced Search (Solr) API. Filter by media type (texts, audio, movies, software, image, etc.), collection, creator, date range, and language. Sort by relevance, date, or downloads. Supports pagination via page/rows. Returns identifiers, titles, creators, media types, dates, download counts, total_found, and current page/rows for pagination context. Use ia_get_item with a returned identifier to get full metadata and file manifests.

NameTypeReqDescription
collectionstringFilter to items within a specific collection identifier, e.g. "gutenberg" or "librivoxaudio".
creatorstringFilter by creator name, e.g. "Charles Dickens".
date_fromstringStart of date range filter in YYYY-MM-DD format. Example: "1900-01-01".
date_tostringEnd of date range filter in YYYY-MM-DD format. Example: "1999-12-31".
languagestringFilter by language code or name, e.g. "eng" or "English".
mediatypestringFilter by media type. Common values: texts, audio, movies, software, image, data, web, collection, account.
pageintegerPage number (1-indexed). Combine with rows for pagination.
querystringyesSolr query string. Supports field prefixes such as title:"war and peace", creator:dickens, subject:history. Plain keywords search all fields.
rowsintegerNumber of results per page (default 50, max 200).
sortstringSort order in Solr format. Examples: "downloads desc", "date asc", "titleSorter asc". Default: "downloads desc".
NameTypeReqDescription
itemsarrayyesItems matching the search query.
noticestringGuidance when the search returned no results.
pagenumberyesCurrent page number (1-indexed).
rowsnumberyesNumber of rows requested per page.
total_foundnumberyesTotal number of matching items across all pages.

No examples provided.