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

REMOTE · INTERNET-ARCHIVE.CASEYJHAND.COM · 2 COMPONENTS

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

+3 this week 86 Trust /100

Last scanned (4 hours ago)

Scores higher than 93% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Search and Retrieval

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security83
Transport & Reachability100
Schema Quality & AI Usability75
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2154 tokens (~307/item across 7 items; 5 tools + 2 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 Management80
  • Stability observed for 24 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
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
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 5 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 7 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
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.

  • 5 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.

  • 2 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 60 to 63. That category is still filling its 30-day observation window: 18 days of observed history at the previous scan, 19 at this one. The score rises as the window fills, whether or not the server changes.

  • 29 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Oct 26 0
    • Schema quality: 351 → 307 ▲ functional
    • New resource “internet-archive-guide” functional
    • Server version: 0.4.1 → 0.5.0 functional
  • 27 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.

  • 25 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.

  • 24 Oct 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “ia_get_text” rewrote its description, which is the text the model reads security
    • Server version: 0.4.0 → 0.4.1 functional
    • “ia_get_text” added an optional parameter “continuation” cosmetic
    • “ia_find_snapshots” reworded the description of “resume_key” cosmetic
    • “ia_search_items” reworded the description of “date_to” cosmetic
    • “ia_search_items” reworded the description of “date_from” cosmetic
    • “ia_get_text” reworded the description of “char_offset” cosmetic
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 5 Nov 2026 · Probed https://internet-archive.caseyjhand.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=caseyjhand.com CN=WE1,O=Google Trust Services,C=US 2 Nov 2026 31 Jan 2027 ECDSA 256 ECDSA-SHA256 995a30681ab772540e934241ca1d576c
SANs: caseyjhand.com, *.caseyjhand.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC secure

Validation of internet-archive.caseyjhand.com. — Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
caseyjhand.com. present 2371 13 Verified
internet-archive.caseyjhand.com. Verified address RRset verified with the apex keys
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=63072000; includeSubDomains; preload
x-content-type-options nosniff

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://internet-archive.caseyjhand.com/mcp Verified 200
http (plaintext) http://internet-archive.caseyjhand.com/mcp HTTPS enforced 301 https://internet-archive.caseyjhand.com/mcp
MCP tools · 5 exposed · ~1,958 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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
ia_find_snapshots ~588

Find Wayback Machine snapshots of a URL. Mode "closest" returns the single nearest capture to a given timestamp via the Availability API, falling back to a CDX closest-capture query when the Availability API has no answer (one result). Mode "history" returns the full capture list via the CDX API — filterable by date range and HTTP status code, collapsed by default to one capture per day (collapse "timestamp:8"); collapse "timestamp:14" lists one row per distinct capture second. 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 returns up to limit records (at most 10,000 per call) and supports resume-key pagination for URLs with very large capture histories.

NameTypeReqDescription
collapse––CDX collapse parameter (history mode only). Format: "timestamp:N" where N is 1–14 (4=year, 6=month, 8=day, 10=hour, 14=second): consecutive captures sharing the first N timestamp digits are listed on…
fromstring–Start of date range filter in YYYYMMDD format (history mode only). Example: "20200101".
limitinteger–Maximum number of CDX records to return (history mode only, default 100). One call returns at most 10,000: a larger value (up to 150,000) is served as 10,000, and the resume_key continues from there.
modestringyesLookup mode: "closest" returns the single nearest snapshot to the given timestamp; "history" returns the paginated full capture list via the CDX API.
resume_keystring–Opaque pagination key from a previous history mode response. Pass this to continue from where the last page left off. Server cursors expire after one hour and bind the URL and original filters; omit…
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.
timestampstring–Target timestamp in YYYYMMDDHHMMSS format (or any prefix thereof). Required for mode=closest. Example: "20200101" for January 1, 2020.
tostring–End of date range filter in YYYYMMDD format (history mode only). Example: "20231231".
urlstringyesThe URL to look up in the Wayback Machine.
NameTypeReqDescription
capnumber–The limit applied: limit, or 10,000 when a larger value was capped.
errorobject–Present when the call failed. Absent on success.
noticestring–Pagination guidance, cap disclosure, or limitations of legacy raw continuation.
resume_keystring–Opaque key to pass as resume_key in the next call to continue paginating CDX history results.
shownnumber–Number of snapshots returned.
snapshotsarray–List of snapshots matching the query.
truncatedboolean–True when the snapshot list was capped at the limit.

No examples provided.

ia_get_item ~330

Retrieve metadata and the file manifest for an Internet Archive item by identifier. Returns title, creator, description, subjects, collections, license, language, the total file count, and a page of files, each with its format, size, and direct download URL. Pages hold up to max_files files (default 50, at most 500 per call) starting at file_offset; set format to keep a single file type (e.g. "DjVuTXT", "Text PDF", "VBR MP3"). 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
file_offsetinteger–Zero-based position in the (format-filtered) file list to start from (default 0). To read the next page, add the number of files returned to the previous file_offset, or pass the file_offset the noti…
formatstring–Keep only files whose format equals this value, ignoring case — e.g. "DjVuTXT", "Text PDF", "VBR MP3". Applied before paging. Omit to list every format.
identifierstringyesInternet Archive item identifier, e.g. "prideprejudice00aust" (Pride and Prejudice). Obtain from ia_search_items results.
max_filesinteger–Maximum number of files to return (default 50). One call returns at most 500: a larger value (up to 300,000) is served as 500, with a notice naming the next file_offset.
NameTypeReqDescription
capnumber–The page size applied: max_files, or 500 when a larger value was capped.
collection––Collection(s) this item belongs to when provided.
creator––Creator or author name(s) when provided.
datestring–Publication or upload date when provided.
description––Item description when provided.
errorobject–Present when the call failed. Absent on success.
file_countnumber–Total number of files in the full item manifest, before filtering and paging.
filesarray–This page of the manifest in upstream order — up to max_files files (at most 500) from file_offset, after the format filter.
identifierstring–The item identifier.
language––Language(s) of the item when provided.
licenseurlstring–License URL when provided.
mediatypestring–Media type (texts, audio, movies, etc.).
noticestring–Paging guidance with the next file_offset, or the formats present when the filter matched nothing.
rightsstring–Rights statement when provided.
shownnumber–Number of files returned on this page.
subject––Subject or topic tag(s) when provided.
titlestring–Item title when provided by the metadata.
totalCountnumber–Number of files matching the format filter, before paging.
truncatedboolean–True when more files remain past this page.

No examples provided.

ia_get_snapshot ~147

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 replay URL of the capture Wayback served, 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
errorobject–Present when the call failed. Absent on success.
noticestring–Set when the page is longer than the 4 MiB read limit: the text comes from its first bytes only.
replay_urlstring–Wayback Machine replay URL (https://web.archive.org) of the capture the text came from — where the fetch ended after any redirect Wayback issued to the capture it served.
resolved_statusstring–HTTP status Wayback replayed the capture the text came from with — the same capture as resolved_timestamp and replay_url.
resolved_timestampstring–Timestamp (YYYYMMDDHHMMSS) of the capture the text came from, read from replay_url.
textstring–Readable plain text extracted from the archived HTML: scripts, styles, comments, and tags removed, character references decoded, whitespace collapsed. Capped at the server-configured IA_MAX_SNAPSHOT_…

No examples provided.

ia_get_text ~248

Retrieve readable OCR DjVuTXT or plain text from an Internet Archive item, including public-domain books, documents, scanned periodicals, and transcripts. Set max_chars for page size, then pass next_continuation as continuation with the same identifier and omit char_offset. Direct char_offset access remains available. To confirm a text file exists, call ia_get_item with format "DjVuTXT".

NameTypeReqDescription
char_offsetinteger–Character offset to start reading from (default 0). For sequential pages use next_continuation as continuation instead. Omit char_offset when using continuation.
continuationstring–Opaque next_continuation from the previous page. Omit char_offset when using it; blank is omitted.
identifierstringyesInternet Archive item identifier, e.g. "prideprejudice00aust" (Pride and Prejudice). Obtain from ia_search_items results.
max_charsinteger–Maximum number of characters to return in this response. Defaults to the server-configured maximum (IA_MAX_SNAPSHOT_CHARS, typically 50 000); a larger value is served at that maximum, with a notice.…
NameTypeReqDescription
char_offsetnumber–Character offset used for this response.
errorobject–Present when the call failed. Absent on success.
has_moreboolean–True when there is more text beyond this slice. Use next_continuation, or add max_chars to char_offset if no token is available.
max_charsnumber–Maximum characters this response could hold — the requested max_chars, or the server maximum when the request exceeded it.
next_continuationstring–Opaque next-page token; use as continuation with the same identifier and omit char_offset. Expires after one hour.
noticestring–Explains a max_chars clamp or why efficient continuation is unavailable, with the next char_offset or end-of-document status.
source_filestring–Filename of the source text file fetched from the item.
source_file_bytesnumber–Size of the source text file in bytes, from the item manifest — a byte count, not a character count (non-ASCII text takes several bytes per character). Omitted when the manifest lists no size.
textstring–The text slice starting at char_offset up to max_chars characters.

No examples provided.

ia_search_items ~645

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 downloads (the default), date, title, or random. Supports pagination via page/rows. Returns identifiers, titles, creators (the first 10, with creator_count when a record lists more), media types, dates, download counts, collections (without fav- favorites lists), 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
collectionstring–Filter to items within a specific collection identifier, e.g. "gutenberg" or "librivoxaudio".
creatorstring–Filter by creator name, e.g. "Charles Dickens".
date_fromstring–Inclusive start of date range: YYYY, YYYY-MM, or YYYY-MM-DD. A year or month starts on its first day; blank means no lower bound. Must be a real Gregorian date.
date_tostring–Inclusive end of date range: YYYY, YYYY-MM, or YYYY-MM-DD. A year or month ends on its last day; blank means no upper bound. Must be a real Gregorian date.
languagestring–Filter by language code or name, e.g. "eng" or "English".
mediatypestring–Filter by media type: texts, movies, audio, software, image, data, web, collection, etree (live concert recordings), or account. Case-insensitive; text, book, and books mean texts, movie, video, and…
pageinteger–Page number (1-indexed). Combine with rows for pagination. Advanced Search serves only the first 10,000 results, so page × rows ≤ 10,000 (page 50 at 200 rows, page 200 at 50).
querystringyesSolr query string. Supports field prefixes such as title:"war and peace", creator:dickens, subject:history. Plain keywords search all fields. Put a URL in quotes. At most 2,047 characters, a limit th…
rowsinteger–Number of results per page (default 50). One call returns at most 200: on page 1 a larger value (up to 10,000) is served as 200 with a notice naming the next page; on later pages a value above 200 is…
sortstring–Sort order in Solr format: a sortable field followed by asc or desc, e.g. "downloads desc", "date asc", "publicdate desc", "titleSorter asc", or "random". Default: "downloads desc". Advanced Search h…
NameTypeReqDescription
capnumber–The per-call cap applied to rows (200).
errorobject–Present when the call failed. Absent on success.
itemsarray–Items matching the search query.
noticestring–Guidance when the page came back empty — nothing matched (naming the mediatype filter applied, if any), or the requested page is past the last page of results — or when rows was capped, naming the ro…
pagenumber–Current page number (1-indexed).
rowsnumber–Rows per page applied: the requested rows, or 200 when a larger value was capped.
shownnumber–Number of items returned.
total_foundnumber–Total number of matching items across all pages.
truncatedboolean–True when rows above 200 was served at 200 and more results remain.

No examples provided.

Install

How do I install the io.github.cyanheads/internet-archive-mcp-server server?

io.github.cyanheads/internet-archive-mcp-server is a hosted endpoint at https://internet-archive.caseyjhand.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · internet-archive.caseyjhand.com

# add to Claude Code
claude mcp add --transport http cyanheads-internet-archive-mcp-server 'https://internet-archive.caseyjhand.com/mcp'
Common questions

What is the io.github.cyanheads/internet-archive-mcp-server server?

io.github.cyanheads/internet-archive-mcp-server is listed in the public MCP registry as io.github.cyanheads/internet-archive-mcp-server. Search the Wayback Machine and IA library (40M+ items), fetch snapshots, item metadata, and text. This page covers its hosted endpoint (https://internet-archive.caseyjhand.com/mcp).

Is the io.github.cyanheads/internet-archive-mcp-server server safe to use?

io.github.cyanheads/internet-archive-mcp-server scores 86 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.cyanheads/internet-archive-mcp-server server expose?

io.github.cyanheads/internet-archive-mcp-server exposes 5 tools: ia_find_snapshots, ia_get_snapshot, ia_search_items, ia_get_item, ia_get_text. Their descriptions and schemas cost roughly 1,958 tokens of context every time the server is loaded.

Does the io.github.cyanheads/internet-archive-mcp-server server require authentication?

No. We connected to io.github.cyanheads/internet-archive-mcp-server without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the io.github.cyanheads/internet-archive-mcp-server server still maintained?

io.github.cyanheads/internet-archive-mcp-server is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.