mcp-archiveorg
MCP server for the Internet Archive. Search inside digitised books, browse the catalogue, and read Wayback Machine captures. No API key.
Install / Use
claude mcp add smeet666 -- npx -y github:smeet666/mcp-archiveorgIf the server publishes to npm under a different name, use that package instead β check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Development & EngineeringSupported Platforms
Our assessment of mcp-archiveorg
mcp-archiveorg scores 83/100 on our quality scale, 3025th of 4,639 Development & Engineering skills we index.
Its MCP Server is 39 KB long, well organised into 42 sections with 10 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated yesterday, so mcp-archiveorg is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit β read the skill file before letting an agent act on it.
mcp-archiveorg compared with similar skills
All 4 of these similar skills score higher than mcp-archiveorg; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| mcp-archiveorg (this skill)by smeet666 | 83 | 3 | 1d ago | MCP Server |
| taste-skillby Leonxlnx | 100 | 108.9k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 108.1k | 2d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.7k | today | CLAUDE.md |
| ai-job-searchby ai-job-search-dev | 100 | 69.1k | today | CLAUDE.md |
Frequently asked questions
- How do I install mcp-archiveorg?
- Run
claude mcp add smeet666 -- npx -y github:smeet666/mcp-archiveorg. The install tabs above show the steps for each supported agent. - Which AI agents does mcp-archiveorg work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is mcp-archiveorg safe to use?
- It is MIT-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is mcp-archiveorg still maintained?
- The repository was last updated yesterday, so mcp-archiveorg is actively maintained.
Skill content
View source on GitHubmcp-archiveorg
<!-- m8ven-verify: 1b912922cee8f3a46080bbb4b83487e1 -->The Internet Archive is a non-profit library that keeps what the world publishes: scanned books, films, recorded music, radio, software, and the pages of the web itself, captured over and over since 1996 in the Wayback Machine. Millions of its books and documents have been run through optical character recognition, so the words inside them can be searched, and the Open Library index beside it describes works, their editions and their subjects.
This server connects a chat client to that library. You can search the full text inside its documents, search its catalogue of items, read one item's record and its files, look up a book by subject, place, period or person, and read the web as it stood on a given day. It needs no API key and no account.
Install
One-click install
Claude Code
claude mcp add archiveorg -- npx -y mcp-archiveorg
Claude Desktop, Cursor, and any client using the standard config format
{
"mcpServers": {
"archiveorg": {
"command": "npx",
"args": ["-y", "mcp-archiveorg"]
}
}
}
Node 24 or later is required, and no environment variable has to be set.
With Docker
{
"mcpServers": {
"archiveorg": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/smeet666/mcp-archiveorg:2.1.0"]
}
}
}
-i keeps stdin open, which is where the protocol travels, and -t is left out
because a TTY rewrites the stream. The container needs outbound HTTPS to
archive.org, web.archive.org and openlibrary.org, and nothing else: no
volume, no port, no credential.
Bundle, without npm
Download mcp-archiveorg-2.1.0.mcpb from
the latest release
and open it. A client that supports MCP bundles installs it on its own, with no
npm and no configuration file to edit. The bundle carries its dependencies, so
nothing is fetched at install time.
What you can ask
- "Which books mention the Beaumont light-house?"
- "Find me items about the 1906 San Francisco earthquake."
- "What files does that item hold, and what licence is it under?"
- "Find me books on beekeeping in France published before 1900."
- "What did that website look like in March 2001?"
The ordinary path runs from a search to a record: a row carries an identifier,
and get_item reads it.
Tools
| Tool | What it does |
| ---------------- | ----------------------------------------------------------------- |
| search_inside | Searches the words inside the archive's scanned documents. |
| search_items | Searches the catalogue by title, creator, subject and media type. |
| get_item | Reads one item's record, its files and its licence. |
| search_books | Finds books by subject, place, period, person, length or year. |
| list_snapshots | Lists the captures the Wayback Machine holds for an address. |
| get_snapshot | Reads one capture of an address, at or near a date. |
search_inside
Searches the text inside the archive's documents, which came off the page through optical character recognition, so a passage carries the misreadings of that process.
| Argument | Type | Required | What it does |
| ------------------------ | ---------------------------------- | -------- | -------------------------------------------- |
| query | string, 2 to 300 characters | yes | The phrase to look for inside the documents. |
| limit | integer, 1 to 50, default 10 | no | Matches to serve. |
| page | integer, 1 to 100, default 1 | no | Which page of matches. |
| max_excerpt_chars | integer, 80 to 1200, default 300 | no | How much of a passage to serve. |
| max_excerpts_per_match | integer, 1 to 10, default 3 | no | Passages served per matching document. |
In return: hits, each carrying identifier, which get_item takes;
title, creator and year; excerpts, the passages as a machine read them
off the page; matched_file, naming what actually holds the passage; and
source_url. inside_container is true when the item bundles several documents
and the passage sits in one of them, in which case the title, the creator and the
year belong to the container.
total counts documents, and it pages. It is a number of documents and the last page of a match set is shorter than the
first. No page number is available: the index reports where the text sits
inside the item, which is 1 on nearly every match, so nothing here states a
page of a book and no link claims one.
search_items
Searches the catalogue itself, across every kind of thing the archive holds.
| Argument | Type | Required | What it does |
| ------------ | ---------------------------------------------------------------------------- | -------- | ----------------------------------- |
| query | string, 1 to 300 characters | yes | Words to look for in the catalogue. |
| media_type | texts, movies, audio, image, software, data or web | no | The kind of thing to keep. |
| year_from | integer, 1 to 2200 | no | Earliest year. |
| year_to | integer, 1 to 2200 | no | Latest year. |
| sort | relevance, downloads, newest, oldest or title, default relevance | no | How the rows are ordered. |
| limit | integer, 1 to 50, default 10 | no | Rows to serve. |
| page | integer, 1 to 100, default 1 | no | Which page of rows. |
In return: items, each carrying identifier, title, creator, year,
media_type, downloads and source_url, a field the record leaves empty being
null. total counts the items matching across the catalogue, which is more
than the number returned.
get_item
Reads one item's record. The heavier parts are asked for rather than served by default, since a record can run long.
| Argument | Type | Required | What it does |
| ----------------------- | --------------------------------------------------------------- | -------- | ------------------------------------- |
| identifier | string, 1 to 200 characters | yes | The identifier a search row carries. |
| sections | array of basic, files, full_metadata, default ["basic"] | no | Which parts to return. |
| file_format | string, up to 60 characters | no | Keep the files of one format. |
| max_files | integer, 1 to 200, default 25 | no | Ceiling on the files returned. |
| max_description_chars | integer, 100 to 20000, default 2000 | no | How much of the description to serve. |
In return: the item with its title, creator, year, media_type and
source_url, plus description, date, publisher, language, collections
and license_url, each null where the record states nothing. file_count
counts the files the item holds whatever this answer returned, and total_bytes
their weight. files and full_metadata are present only when asked for in
sections.
search_books
Finds books through the index of works beside the archive, which describes a work and its editions rather than one scanned copy.
| Argument | Type | Required | What it does |
| ----------- | --------------------------------------------------------------------------- | -------- | -------------------------------------- |
| query | string, 2 to 300 characters | no | Free text, when there is any. |
| subject | string, 2 to 100 characters | no | A subject the index files works under. |
| place | string, 2 to 100 characters | no | A place a work is about. |
| time | string, 2 to 100 characters | no | A period a work is about. |
| person | string, 2 to 100 characters | no | A person a work is about. |
| language | string, 2 to 20 characters | no | The language of the work. |
| year_from | integer, 1 to 2200 | no | Earliest first publication. |
| year_to | integer, 1 to 2200 | no | Latest first publication. |
| pages_min | integer, 1 to 100000 | no | Shortest acceptable work. |
| pages_max | integer, 1 to 100000
Truncated for display β read the full file on GitHub.
Related Skills
taste-skill
108.9kAgent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
Agent-Reach
108.1kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu β one CLI, zero API fees.
headroom
78.7kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
ai-job-search
69.1kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit β see the Safety scan above for what the skill file itself contains.
