Wayback Machine

io.github.ux-xd由 GitHub 帳號 ux-xd 發布v0.1.1更新於 Oct 24, 2026

Wayback Machine for agents: closest archived copy of a URL with its text, and full capture history

已驗證Streamable HTTP可網頁執行網頁搜尋與抓取知識與記憶

概覽

AI 產生的概覽

遠端 MCP 伺服器,讓助理取得某個網址最接近的封存副本與其正文,並列出 Wayback Machine 對某網站或路徑的所有擷取紀錄。

可以做什麼
取得某個網址最接近的封存快照,可指定大約日期,回傳快照網址、精確時間戳、原始位元組網址與擷取的頁面正文;Wayback Machine 沒有紀錄時改用 Common Crawl 索引。列出某個網址、前綴、主機或整個網域的所有擷取紀錄,可依狀態碼或 MIME 類型篩選、依週期折疊成每期一筆、限定日期範圍,並用續頁鍵分頁。兩個工具皆為唯讀且冪等。
適用情境
適用於頁面已失效、搬移、被修改或位於付費牆後,而你需要它某個時間點的内容;也適用於查詢某網站或路徑的擷取歷史,例如網站曾經有什麼、頁面何時變動。不適用於抓取即時頁面、整站鏡像或繞過目前內容的付費牆。
執行需求
遠端 Streamable HTTP 端點,不需要本機執行環境、帳號或 API 金鑰。用戶端需支援遠端 HTTP MCP 伺服器,部分用戶端需要橋接指令。需要能連線至該端點及上游封存索引的網路。
安裝前請注意
每次工具呼叫都必須提供一句 task_context 描述使用者目標,服務方稱用於了解代理需求,因此任務細節會離開用戶端。查詢內容與擷取到的頁面內容會傳送到遠端服務及其上游封存索引。工具只讀取封存資料,不會修改任何內容。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Wayback Machine,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.ux-xd%2Fwayback-machine/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "wayback-machine": {
      "type": "http",
      "url": "https://waybackmcp.com/mcp"
    }
  }
}

README

Wayback Machine

Wayback Machine for agents: closest archived copy of a URL with its text, and full capture history Remote MCP server over Streamable HTTP at https://waybackmcp.com/mcp. Free, no API key. Tools: archived_copy, capture_history. The tool list is fixed per version.

Wayback Machine MCP wraps the Internet Archive's keyless APIs so an agent can recover a page that is gone, changed, or walled: archived_copy returns the closest snapshot to a date with the page text extracted, and capture_history lists every capture of a URL, prefix, host or domain with CDX filters (status, mime, collapse, date window, newest-first, resume-key paging). Falls back to the Common Crawl index when the Wayback Machine has nothing. Free, no API key, no account.

Use when: A page 404s, moved, was edited, or is behind a wall and you need what it said at a point in time; or you need every capture of a site or path (site archaeology: what a site ever had, when a page changed).

Not for: Fetching live pages (use a fetch tool), full-site mirroring, or bypassing paywalls on current content.

Quick install (Claude Code): claude mcp add --transport http wayback-machine https://waybackmcp.com/mcp -s user

Live server: https://waybackmcp.com

Docs

Upstreams

Optional

Tools

ToolPurposeEffects
archived_copyClosest archived copy of a URL from the Wayback Machine (Internet Archive), nearest to a date if given. Returns the snapshot URL, its exact timestamp, the raw-bytes URL, and optionally the page text (HTML stripped, capped at 30k chars). Falls back to the Common Crawl index when the Wayback Machine has no capture. Use when a page is dead, changed, or walled and you need what it said.read-only, open-world, idempotent
capture_historyEvery capture the Wayback Machine holds for a URL, URL prefix, host or whole domain (CDX index). Filter by status code or MIME type, keep one capture per period (collapse), restrict a date window, and page with a resume key. Use for site archaeology: what a site ever had, when a page changed, every URL under a path.read-only, open-world, idempotent

Every tool takes task_context: one sentence on what the user is trying to do. It is required.

archived_copy

Closest archived copy of a URL from the Wayback Machine (Internet Archive), nearest to a date if given. Returns the snapshot URL, its exact timestamp, the raw-bytes URL, and optionally the page text (HTML stripped, capped at 30k chars). Falls back to the Common Crawl index when the Wayback Machine has no capture. Use when a page is dead, changed, or walled and you need what it said.

Input schema:

json
{  "$schema": "http://json-schema.org/draft-07/schema#",  "type": "object",  "properties": {    "url": {      "type": "string",      "minLength": 4,      "maxLength": 2000,      "description": "The live URL (scheme optional)."    },    "timestamp": {      "description": "Preferred capture time, 4–14 digits: YYYY, YYYYMMDD or YYYYMMDDhhmmss. Closest capture wins; omit for the latest.",      "type": "string",      "pattern": "^\\d{4,14}$"    },    "fetch_text": {      "default": true,      "description": "Also fetch the snapshot and return its visible text (default true).",      "type": "boolean"    },    "task_context": {      "type": "string",      "minLength": 1,      "maxLength": 500,      "description": "One sentence on what the user is ultimately trying to do (the task this call serves). Required; it tunes the result and is how this free service learns what agents need."    }  },  "required": [    "url",    "fetch_text",    "task_context"  ],  "additionalProperties": false}

Example arguments:

json
{  "url": "https://example.com/",  "timestamp": "2020",  "task_context": "example: Closest archived copy of a URL from the Wayback Machine (Int"}

capture_history

Every capture the Wayback Machine holds for a URL, URL prefix, host or whole domain (CDX index). Filter by status code or MIME type, keep one capture per period (collapse), restrict a date window, and page with a resume key. Use for site archaeology: what a site ever had, when a page changed, every URL under a path.

Input schema:

json
{  "$schema": "http://json-schema.org/draft-07/schema#",  "type": "object",  "properties": {    "url": {      "type": "string",      "minLength": 3,      "maxLength": 2000,      "description": "URL or domain to query, e.g. \"example.com/blog/\" for prefix work or \"example.com\" with match_type \"domain\"."    },    "match_type": {      "default": "exact",      "description": "How url matches captures. Default exact.",      "type": "string",      "enum": [        "exact",        "prefix",        "host",        "domain"      ]    },    "from": {      "description": "Window start, 4–14 digits (YYYY…).",      "type": "string",      "pattern": "^\\d{4,14}$"    },    "to": {      "description": "Window end, same format.",      "type": "string",      "pattern": "^\\d{4,14}$"    },    "filter": {      "description": "CDX field:regex filters, e.g. [\"statuscode:200\", \"!mimetype:warc/revisit\"]. Prefix with ! to negate.",      "maxItems": 4,      "type": "array",      "items": {        "type": "string"      }    },    "collapse": {      "description": "Dedupe key: \"urlkey\" (one row per URL), or \"timestamp:6\" for one capture per month, \"timestamp:4\" per year.",      "type": "string"    },    "limit": {      "default": 50,      "description": "Rows to return (default 50, max 1000), oldest first unless latest_first.",      "type": "integer",      "minimum": 1,      "maximum": 1000    },    "resume_key": {      "description": "Continue a previous page: the resume_key that call returned.",      "type": "string"    },    "latest_first": {      "default": false,      "description": "Return the NEWEST captures instead of the oldest (CDX negative limit). Cannot be combined with resume_key.",      "type": "boolean"    },    "task_context": {      "type": "string",      "minLength": 1,      "maxLength": 500,      "description": "One sentence on what the user is ultimately trying to do (the task this call serves). Required; it tunes the result and is how this free service learns what agents need."    }  },  "required": [    "url",    "match_type",    "limit",    "latest_first",    "task_context"  ],  "additionalProperties": false}

Example arguments:

json
{  "url": "example.com",  "match_type": "domain",  "filter": [    "statuscode:200"  ],  "collapse": "timestamp:6",  "limit": 20,  "task_context": "example: Every capture the Wayback Machine holds for a URL, URL prefi"}

Install

Endpoint: https://waybackmcp.com/mcp (Streamable HTTP, MCP 2026-07-28 with 2025-era fallback). Authentication: none.

Claude Code
claude mcp add --transport http wayback-machine https://waybackmcp.com/mcp -s user
Cursor (~/.cursor/mcp.json)
json
{  "mcpServers": {    "wayback-machine": {      "url": "https://waybackmcp.com/mcp"    }  }}
VS Code / Copilot (user mcp.json)
json
{  "servers": {    "wayback-machine": {      "type": "http",      "url": "https://waybackmcp.com/mcp"    }  }}

or code --add-mcp '{"name":"wayback-machine","type":"http","url":"https://waybackmcp.com/mcp"}'

Claude Desktop / claude.ai

Settings → Connectors → Add custom connector → URL https://waybackmcp.com/mcp, Authentication: None.

ChatGPT

Settings → Connectors → Add custom connector → https://waybackmcp.com/mcp. Desktop app / Codex share ~/.codex/config.toml:

toml
[mcp_servers.wayback-machine]url = "https://waybackmcp.com/mcp"
Codex CLI (~/.codex/config.toml)
toml
[mcp_servers.wayback-machine]url = "https://waybackmcp.com/mcp"
Gemini CLI
gemini mcp add --transport http wayback-machine https://waybackmcp.com/mcp -s user

(settings.json uses httpUrl, not url.)

Windsurf (~/.codeium/windsurf/mcp_config.json)
json
{  "mcpServers": {    "wayback-machine": {      "serverUrl": "https://waybackmcp.com/mcp"    }  }}
Cline
json
{  "mcpServers": {    "wayback-machine": {      "type": "streamableHttp",      "url": "https://waybackmcp.com/mcp"    }  }}
Continue (.continue/mcpServers/wayback-machine.yaml)
yaml
name: wayback-machinemcpServers:  - name: wayback-machine    type: streamable-http    url: https://waybackmcp.com/mcp
Zed (settings.json)
json
{  "context_servers": {    "wayback-machine": {      "source": "custom",      "command": "npx",      "args": [        "-y",        "mcp-remote",        "https://waybackmcp.com/mcp"      ]    }  }}
Any MCP client

Streamable HTTP endpoint: https://waybackmcp.com/mcp

json
{  "mcpServers": {    "wayback-machine": {      "url": "https://waybackmcp.com/mcp"    }  }}

This page documents a server. It does not ask the reader to change any rules file, memory file, or host configuration.

Run it yourself

npm install && npm start            # http://127.0.0.1:8080/mcpdocker compose up -d --build        # same, in a containernode scripts/smoke.mjs http://127.0.0.1:8080 archived_copy '{}'

Built with the MCP server kit (kit/): Streamable HTTP MCP plus agent-readable docs (llms.txt, server.json, install pages, a REST twin), all from one manifest (servers/wayback-machine/mcp.factory.json). This repo is the server logic only; no telemetry is collected or sent by this code. MIT.

來源:README.md,提交 9e3f72a

工具

0
SourceWeft 尚未讀取此伺服器的工具。

版本歷史

1
  1. v0.1.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式必需10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分