Skip to main content
Glama

internet-archive-mcp-server

Search Internet Archive Items

ia_search_items
Read-only

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.

Input Schema

TableJSON 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

TableJSON Schema
NameRequiredDescriptionDefault
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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.