Skip to main content
Glama

internet-archive-mcp-server

Server Details

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

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
cyanheads/internet-archive-mcp-server
GitHub Stars
4
Server Listing
@cyanheads/internet-archive-mcp-server

TDQS

Score is being calculated.

Available Tools

5 tools
ia_find_snapshotsFind Wayback Machine Snapshots
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoEnd of date range filter in YYYYMMDD format (history mode only). Example: "20231231".
urlYesThe URL to look up in the Wayback Machine.
fromNoStart of date range filter in YYYYMMDD format (history mode only). Example: "20200101".
modeYesLookup mode: "closest" returns the single nearest snapshot to the given timestamp; "history" returns the paginated full capture list via the CDX API.
limitNoMaximum 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.
collapseNoCDX 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 once. Omitted or blank, it is "timestamp:8", one capture per day. Pass "timestamp:14" for one row per distinct capture second.
timestampNoTarget timestamp in YYYYMMDDHHMMSS format (or any prefix thereof). Required for mode=closest. Example: "20200101" for January 1, 2020.
resume_keyNoOpaque pagination key from a previous history mode response. Pass this to continue from where the last page left off.
status_filterNoFilter 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.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe limit applied: limit, or 10,000 when a larger value was capped.
errorNoPresent when the call failed. Absent on success.
shownNoNumber of snapshots returned.
noticeNoSet when the list was capped: how to continue, naming resume_key.
snapshotsNoList of snapshots matching the query.
truncatedNoTrue when the snapshot list was capped at the limit.
resume_keyNoOpaque key to pass as resume_key in the next call to continue paginating CDX history results.
ia_get_itemGet Internet Archive Item
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoKeep only files whose format equals this value, ignoring case — e.g. "DjVuTXT", "Text PDF", "VBR MP3". Applied before paging. Omit to list every format.
max_filesNoMaximum 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.
identifierYesInternet Archive item identifier, e.g. "prideprejudice00aust" (Pride and Prejudice). Obtain from ia_search_items results.
file_offsetNoZero-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 notice names.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe page size applied: max_files, or 500 when a larger value was capped.
dateNoPublication or upload date when provided.
errorNoPresent when the call failed. Absent on success.
filesNoThis page of the manifest in upstream order — up to max_files files (at most 500) from file_offset, after the format filter.
shownNoNumber of files returned on this page.
titleNoItem title when provided by the metadata.
noticeNoPaging guidance with the next file_offset, or the formats present when the filter matched nothing.
rightsNoRights statement when provided.
creatorNoCreator or author name(s) when provided.
subjectNoSubject or topic tag(s) when provided.
languageNoLanguage(s) of the item when provided.
mediatypeNoMedia type (texts, audio, movies, etc.).
truncatedNoTrue when more files remain past this page.
collectionNoCollection(s) this item belongs to when provided.
file_countNoTotal number of files in the full item manifest, before filtering and paging.
identifierNoThe item identifier.
licenseurlNoLicense URL when provided.
totalCountNoNumber of files matching the format filter, before paging.
descriptionNoItem description when provided.
ia_get_snapshotGet Wayback Machine Snapshot Content
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL whose archived content to retrieve.
timestampYesTarget 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.

Output Schema

ParametersJSON Schema
NameRequiredDescription
textNoReadable 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_CHARS limit (default 50 000 characters). Taken from at most the first 4 MiB of the page; a notice says so when a page is longer.
errorNoPresent when the call failed. Absent on success.
noticeNoSet when the page is longer than the 4 MiB read limit: the text comes from its first bytes only.
replay_urlNoWayback 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_statusNoHTTP status Wayback replayed the capture the text came from with — the same capture as resolved_timestamp and replay_url.
resolved_timestampNoTimestamp (YYYYMMDDHHMMSS) of the capture the text came from, read from replay_url.
ia_get_textGet Internet Archive Item Text
Read-onlyIdempotent
Inspect

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. To confirm the item has a text file first, call ia_get_item with format "DjVuTXT"; its response also gives the mediatype.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_charsNoMaximum 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. Lower values reduce token usage.
identifierYesInternet Archive item identifier, e.g. "prideprejudice00aust" (Pride and Prejudice). Obtain from ia_search_items results.
char_offsetNoCharacter offset to start reading from (default 0). To read the next page, add max_chars to the previous char_offset.

Output Schema

ParametersJSON Schema
NameRequiredDescription
textNoThe text slice starting at char_offset up to max_chars characters.
errorNoPresent when the call failed. Absent on success.
noticeNoSet when max_chars exceeded the server maximum (IA_MAX_SNAPSHOT_CHARS) and was served at it, naming the char_offset of the next page, or saying the page reaches the end of the document.
has_moreNoTrue when there is more text beyond this slice. Increment char_offset by max_chars to read the next page.
max_charsNoMaximum characters this response could hold — the requested max_chars, or the server maximum when the request exceeded it.
char_offsetNoCharacter offset used for this response.
source_fileNoFilename of the source text file fetched from the item.
source_file_bytesNoSize 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.
ia_search_itemsSearch Internet Archive Items
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage 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).
rowsNoNumber 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 rejected.
sortNoSort 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 has no relevance sort. Except under random, results tied under the sort are ordered by identifier, so consecutive pages neither repeat nor skip an item.
queryYesSolr 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 the filters below also count toward.
creatorNoFilter by creator name, e.g. "Charles Dickens".
date_toNoEnd of date range filter in YYYY-MM-DD format. Example: "1999-12-31".
languageNoFilter by language code or name, e.g. "eng" or "English".
date_fromNoStart of date range filter in YYYY-MM-DD format. Example: "1900-01-01".
mediatypeNoFilter 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 videos mean movies, images means image, and collections means collection. Any other value is rejected.
collectionNoFilter to items within a specific collection identifier, e.g. "gutenberg" or "librivoxaudio".

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe per-call cap applied to rows (200).
pageNoCurrent page number (1-indexed).
rowsNoRows per page applied: the requested rows, or 200 when a larger value was capped.
errorNoPresent when the call failed. Absent on success.
itemsNoItems matching the search query.
shownNoNumber of items returned.
noticeNoGuidance 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 rows and page that continue.
truncatedNoTrue when rows above 200 was served at 200 and more results remain.
total_foundNoTotal number of matching items across all pages.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updates
    • First observedia_find_snapshots
    • First observedia_get_item
    • First observedia_get_snapshot
    • First observedia_get_text
    • First observedia_search_items

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables searching the Internet Archive for texts, audio, video, and software; retrieving detailed metadata for archived items; checking Wayback Machine snapshots for URLs; and listing downloadable files.
    24 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides read-only access to the Internet Archive's Wayback Machine and catalog, enabling retrieval of archived web captures, snapshot metadata, and catalog search.
    BSD 3-Clause
  • A
    license
    A
    quality
    C
    maintenance
    MCP server for the Internet Archive's Wayback Machine. Search archived snapshots, extract page text from a specific date, track how a site has changed over time, check if broken links are recoverable, and perform research across Internet Archive collections.
    6
    17 PyPI
    3
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.