Skip to main content
Glama
Dthen

internet-archive-mcp

by Dthen

Internet Archive MCP Server

Full-coverage Internet Archive MCP server — search, metadata, collections, and Wayback Machine in one server.

Why this server?

Existing Internet Archive MCP servers are almost all Wayback-only — small 3–4 tool wrappers around the CDX snapshot API. This is the only server that combines:

  • Full IA collections access — search, metadata, files, reviews, and collection browsing across all media types (texts, audio, movies, software, images)

  • Full Wayback Machine coverage — CDX snapshot search, availability checks, and raw content fetch

  • 13 tools organized in three tiers (core, differentiator, auth-gated)

  • Anonymous reads — every read operation works with zero configuration

  • Auth-gated writes — Save Page Now requires IA S3 keys, cleanly separated from the read path

Related MCP server: MCP Wayback Machine Server

Quick start

Install

cd internet-archive-mcp
pip install -e .

Hermes Agent

Add to your Hermes config.yaml:

mcp_servers:
  internet-archive:
    command: python3
    args: ['-m', 'internet_archive_mcp.server']
    env:
      PYTHONPATH: /path/to/internet-archive-mcp/src

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "internet-archive": {
      "command": "python3",
      "args": ["-m", "internet_archive_mcp.server"],
      "env": {"PYTHONPATH": "/path/to/internet-archive-mcp/src"}
    }
  }
}

Tool reference

Tier 1 — Core tools

Tool

Key args

Returns

search_archive

query, mediatype?, collection?, fields?, sort?, rows=20, page=1

Paginated results: {numFound, start, docs, total_pages}

get_item_metadata

identifier, include_files=False

Full metadata block (title, creator, description, subjects, server info)

list_item_files

identifier, format_filter?

List of file dicts (name, format, size, technical metadata)

get_item_reviews

identifier

List of review objects (reviewer, stars, title, body)

wayback_snapshots

url, match_type="exact", from_year?, to_year?, limit=25, filter_expr?, collapse?, fields?, page?, show_resume_key?, resume_key?, newest?, fast_latest?

List of CDX snapshot records (timestamp, URL, MIME, status, digest)

wayback_availability

url

Closest available snapshot timestamp and URL

wayback_fetch

url, timestamp?, raw=True, char_limit=50000

Archived page content (raw by default, no toolbar)

Tier 2 — Differentiator tools

Tool

Key args

Returns

browse_collection

collection, rows=20, page=1, sort?

Paginated items in a collection (sorted by downloads desc)

get_collection_info

identifier

Collection metadata with item count; notes if not a collection

get_item_thumbnail

identifier

Thumbnail image URL (usable in markdown)

search_archive_deep

query, fields?, sorts?, count=100, cursor?, total_only?

Cursor-paged results for unlimited deep pagination

Tier 3 — Auth-gated tools

Tool

Key args

Returns

save_page

url, access_key?, secret_key?

SPN2 job status and archived URL

save_page_status

job_id

Status of a Save Page Now job (completion, Wayback URL)

Configuration

All read tools work anonymously with no configuration. The only tool requiring credentials is save_page (Save Page Now).

Environment variables

Variable

Purpose

IA_ACCESS_KEY

Internet Archive S3 access key

IA_SECRET_KEY

Internet Archive S3 secret key

Get your keys at: https://archive.org/account/s3.php (free account required).

Keys can also be passed directly as tool arguments (access_key, secret_key) — env vars are the fallback.

Rate limiting & caching

The client is designed to be a polite, well-behaved consumer of IA APIs:

  • Rate limiter — minimum 0.5s interval between all outgoing requests

  • Bounded TTL cache — in-memory cache with 256-entry cap; search and metadata results cached for 1 hour; oldest entries evicted first

  • 429 retry with backoff — automatic retry on HTTP 429 with exponential backoff (honors Retry-After header), up to 3 attempts

  • Mandatory User-Agent — every request carries a descriptive User-Agent: internet-archive-mcp/0.1.0 (...) header per IA policy

Development

# Install with dev dependencies
pip install -e '.[dev]'

# Run tests
pytest tests/ -v

Architecture

internet-archive-mcp/
├── src/internet_archive_mcp/
│   ├── __init__.py
│   ├── client.py      # Async httpx client — all API logic
│   └── server.py      # FastMCP tool definitions (thin wrappers)
├── tests/
│   ├── __init__.py
│   ├── conftest.py
│   ├── test_client.py
│   ├── test_qa_fixes.py
│   ├── test_qa_round2.py
│   ├── test_qa_round3.py
│   ├── test_server.py
│   └── test_tools.py
├── RESEARCH.md        # API research findings (tested with curl)
└── pyproject.toml
  • client.pyArchiveClient class using async httpx. Talks to two base URLs: https://archive.org (search, metadata, availability) and https://web.archive.org (CDX, content fetch, Save Page Now). Owns caching, rate limiting, and retry logic.

  • server.py — FastMCP server with 13 @mcp.tool() definitions. Each tool is a thin async wrapper that delegates to ArchiveClient and converts exceptions to error strings.

Design decisions

The Related Items API (archive.org/recommendations/{id}) was investigated during research but returned no useful data. It is intentionally excluded. See RESEARCH.md §5f.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • 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
    3
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP server and CLI tool for interacting with the Internet Archive's Wayback Machine, supporting full CDX search, snapshot retrieval, screenshot listing, snapshot comparison, and optional authentication.
    8
    821
    50
    Creative Commons Attribution Non Commercial Share Alike 4.0 International
  • A
    license
    Not graded
    quality
    A
    maintenance
    Search the Wayback Machine and IA library (40M+ items), fetch archived snapshots, retrieve item metadata and full text via MCP.
    98
    3
    Apache 2.0
  • A
    license
    A
    quality
    A
    maintenance
    An MCP server for the Internet Archive that enables searching the full text of digitized books, browsing the catalogue, and reading Wayback Machine captures. No API key or configuration required.
    6
    583
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Dthen/internet-archive-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server