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.
Available components
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
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 55 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
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.
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
claude mcp add cyanheads-internet-archive-mcp-server -- npx -y @cyanheads/internet-archive-mcp-server
codex mcp add cyanheads-internet-archive-mcp-server -- npx -y @cyanheads/internet-archive-mcp-server
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"cyanheads-internet-archive-mcp-server": {
"type": "local",
"command": [
"npx",
"-y",
"@cyanheads/internet-archive-mcp-server"
],
"enabled": true
}
}
} openclaw mcp add cyanheads-internet-archive-mcp-server --command npx --arg -y --arg @cyanheads/internet-archive-mcp-server
mcp_servers:
cyanheads-internet-archive-mcp-server:
command: "npx"
args: ["-y", "@cyanheads/internet-archive-mcp-server"] {
"mcpServers": {
"cyanheads-internet-archive-mcp-server": {
"command": "npx",
"args": [
"-y",
"@cyanheads/internet-archive-mcp-server"
]
}
}
} 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.
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 |
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.
ia_find_snapshots Find Wayback Machine 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.
| Name | Type | Req | Description |
|---|---|---|---|
| collapse | – | – | CDX 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… |
| from | string | – | Start of date range filter in YYYYMMDD format (history mode only). Example: "20200101". |
| limit | integer | – | Maximum number of CDX records to return (history mode only, default 100). |
| mode | string | yes | Lookup mode: "closest" returns the single nearest snapshot to the given timestamp; "history" returns the paginated full capture list via the CDX API. |
| resume_key | string | – | Opaque pagination key from a previous history mode response. Pass this to continue from where the last page left off. |
| status_filter | – | – | Filter 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. |
| timestamp | string | – | Target timestamp in YYYYMMDDHHMMSS format (or any prefix thereof). Required for mode=closest. Example: "20200101" for January 1, 2020. |
| to | string | – | End of date range filter in YYYYMMDD format (history mode only). Example: "20231231". |
| url | string | yes | The URL to look up in the Wayback Machine. |
| Name | Type | Req | Description |
|---|---|---|---|
| cap | number | – | The limit that was applied. |
| resume_key | string | – | Opaque key to pass as resume_key in the next call to continue paginating CDX history results. |
| shown | number | – | Number of snapshots returned. |
| snapshots | array | yes | List of snapshots matching the query. |
| truncated | boolean | – | True when the snapshot list was capped at the limit. |
No examples provided.
ia_get_item Get Internet Archive 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.
| Name | Type | Req | Description |
|---|---|---|---|
| identifier | string | yes | Internet Archive item identifier, e.g. "pg1342" (Pride and Prejudice) or "UndergraduateMathematics". Obtain from ia_search_items results. |
| Name | Type | Req | Description |
|---|---|---|---|
| collection | – | – | Collection(s) this item belongs to when provided. |
| creator | – | – | Creator or author name(s) when provided. |
| date | string | – | Publication or upload date when provided. |
| description | – | – | Item description when provided. |
| file_count | number | yes | Total number of files in the item manifest. |
| files | array | yes | Complete file manifest for the item. |
| identifier | string | yes | The item identifier. |
| language | string | – | Language when provided. |
| licenseurl | string | – | License URL when provided. |
| mediatype | string | – | Media type (texts, audio, movies, etc.). |
| rights | string | – | Rights statement when provided. |
| subject | – | – | Subject or topic tag(s) when provided. |
| title | string | – | Item title when provided by the metadata. |
No examples provided.
ia_get_snapshot Get Wayback Machine Snapshot Content ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| timestamp | string | yes | Target 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. |
| url | string | yes | The URL whose archived content to retrieve. |
| Name | Type | Req | Description |
|---|---|---|---|
| replay_url | string | yes | Canonical Wayback Machine replay URL used to fetch this content. |
| resolved_status | string | yes | HTTP 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_timestamp | string | yes | The actual snapshot timestamp resolved from the nearest capture lookup. |
| text | string | yes | Readable 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 Get Internet Archive Item 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.
| Name | Type | Req | Description |
|---|---|---|---|
| char_offset | integer | – | Character offset to start reading from (default 0). To read the next page, add max_chars to the previous char_offset. |
| identifier | string | yes | Internet Archive item identifier, e.g. "pg1342" (Pride and Prejudice). Obtain from ia_search_items results. |
| max_chars | integer | – | Maximum 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| char_offset | number | yes | Character offset used for this response. |
| has_more | boolean | yes | True when there is more text beyond this slice. Increment char_offset by max_chars to read the next page. |
| max_chars | number | yes | Maximum characters returned in this response. |
| source_file | string | yes | Filename of the source text file fetched from the item. |
| text | string | yes | The text slice starting at char_offset up to max_chars characters. |
| total_chars | number | yes | Total character count of the full text file. |
No examples provided.
ia_search_items Search Internet Archive 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.
| Name | Type | Req | Description |
|---|---|---|---|
| collection | string | – | Filter to items within a specific collection identifier, e.g. "gutenberg" or "librivoxaudio". |
| creator | string | – | Filter by creator name, e.g. "Charles Dickens". |
| date_from | string | – | Start of date range filter in YYYY-MM-DD format. Example: "1900-01-01". |
| date_to | string | – | End of date range filter in YYYY-MM-DD format. Example: "1999-12-31". |
| language | string | – | Filter by language code or name, e.g. "eng" or "English". |
| mediatype | string | – | Filter by media type. Common values: texts, audio, movies, software, image, data, web, collection, account. |
| page | integer | – | Page number (1-indexed). Combine with rows for pagination. |
| query | string | yes | Solr query string. Supports field prefixes such as title:"war and peace", creator:dickens, subject:history. Plain keywords search all fields. |
| rows | integer | – | Number of results per page (default 50, max 200). |
| sort | string | – | Sort order in Solr format. Examples: "downloads desc", "date asc", "titleSorter asc". Default: "downloads desc". |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | Items matching the search query. |
| notice | string | – | Guidance when the search returned no results. |
| page | number | yes | Current page number (1-indexed). |
| rows | number | yes | Number of rows requested per page. |
| total_found | number | yes | Total number of matching items across all pages. |
No examples provided.