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-server-wayback

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.

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that provides offline access to ZIM file archives, including Wikipedia, medical knowledge, and maps. It dynamically exposes tools like search, article retrieval, and driving route planning based on available ZIM files.
    Last updated
    4
    MIT
  • A
    license
    A
    quality
    A
    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.
    Last updated
    6
    3
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that enables Claude and other LLMs to search and access archived Portuguese web content from Arquivo.pt, including full-text search, image search, version listing, and snapshot retrieval.
    Last updated
    6
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    Provides 13 internet platforms as MCP tools for AI agents, enabling read, search, and interaction with services like web, YouTube, Twitter, and Reddit via a production-grade MCP server.
    Last updated
    MIT

View all related MCP servers

Related MCP Connectors

  • Internet Archive (archive.org) item search & metadata MCP.

  • Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.

  • MCP server for Open Archives: Dutch genealogical records and historical page transcriptions.

View all MCP Connectors

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