MM

mearman/mcp-wayback-machine

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

61 stars 11 forks Качество 80 Тренд 28NOASSERTION

MCP-сервер и CLI-инструмент для взаимодействия с Wayback Machine Архива Интернета

Обзор

MCP-сервер и CLI-инструмент для взаимодействия с Wayback Machine Internet Archive. Поддерживает полный поиск CDX, поиск контента для моментальных снимков, листинг скриншотов, сравнение снимков и дополнительную аутентификацию для более высоких пределов скорости SPN2. TypeScript · Node.js 22+ · Модули ES · pnpm · Turbo · Zod Дополнительные учетные данные (анонимный доступ работает, но аутентифицированные запросы получают более высокие ограничения скорости SPN2): Получите учетные данные на archive.org/account/s3.php. Сквозные тесты попали в живой API Wayback Machine и включены: Проверка pnpm - это ворота, которые должны пройти перед выпуском. PrepublishOnly запускает его автоматически. src/bin.ts является точкой входа. Он определяет, используется ли он в качестве CLI или загружается как MCP-сервер и маршрутизируется соответственно. Каждый модуль инструмента экспортирует схему (потребленную ListToolsRequestSchema) и функцию исполнения (потребленную CallToolRequestSchema). Новые инструменты требуют регистрации в server.ts.

Обзор (машинный перевод)

MCP-сервер и CLI-инструмент для взаимодействия с Wayback Machine Архива Интернета. Поддерживает полный поиск CDX, поиск контента для моментальных снимков, листинг скриншотов, сравнение снимков и дополнительную аутентификацию для более высоких пределов скорости SPN2.

Stack: TypeScript · Node.js 22+ · ES Modules · pnpm · Turbo · Zod

Начало работы

Требуется Node.js 22+ и pnpm.

Дополнительные учетные данные (анонимный доступ работает, но аутентифицированные запросы получают более высокие ограничения скорости SPN2):

Получите учетные данные на archive.org/account/s3.php.

##Строим, тестируем и строим

Чтобы запустить один тестовый файл:

Сквозные тесты попали в живой API Wayback Machine и включены:

pnpm validate — это ворота, которые должны пройти перед выпуском. prepublishOnly запускает его автоматически.

Архитектура

[2] является точкой входа. Он определяет, используется ли он в качестве CLI или загружается как MCP-сервер и маршрутизируется соответственно.

Каждый модуль инструмента экспортирует схему (потребленную ListToolsRequestSchema) и функцию исполнения (потребленную CallToolRequestSchema). Новые инструменты требуют регистрации в server.ts.

Кеширование ТТЛ является преднамеренным — не нормализует их:

| Ресурс | ТТЛ | Причина | [править править код]

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

MCP Wayback Machine Server

MCP server and CLI tool for interacting with the Internet Archive’s Wayback Machine. Supports full CDX search, snapshot content retrieval, screenshot listing, snapshot comparison, and optional authentication for higher SPN2 rate limits.

Stack: TypeScript · Node.js 22+ · ES Modules · pnpm · Turbo · Zod

Getting started

Requires Node.js 22+ and pnpm.

pnpm install

Optional credentials (anonymous access works, but authenticated requests get higher SPN2 rate limits):

export WAYBACK_ACCESS_KEY="your-access-key"
export WAYBACK_SECRET_KEY="your-secret-key"

Obtain credentials at archive.org/account/s3.php.

Build, test, and lint

pnpm validate          # typecheck + lint + build + test + untested-files check (the full CI gate)
pnpm check             # typecheck + lint + build only
pnpm build             # compile TypeScript to dist/
pnpm test              # run unit and integration tests
pnpm test:coverage     # run tests with coverage (80% line/branch/function threshold)
pnpm lint              # lint with ESLint
pnpm lint:fix          # auto-fix lint issues

To run a single test file:

node --test tests/tools/save.unit.test.ts

End-to-end tests hit the live Wayback Machine API and are opt-in:

pnpm test:e2e          # sets WAYBACK_LIVE_TESTS=1 internally via turbo

pnpm validate is the gate that must pass before a release. prepublishOnly runs it automatically.

Architecture

src/bin.ts is the entry point. It detects whether it is invoked as a CLI or loaded as an MCP server and routes accordingly.

src/
  bin.ts          — entry point; dispatches to CLI or MCP server
  cli.ts          — Commander-based CLI implementation
  server.ts       — MCP server wiring (ListTools + CallTool handlers)
  contexts.ts     — shared context (rate limiter, cache, credentials)
  schemas.ts      — Zod schemas for all tool inputs; single source of truth
  tools/
Открыть полный README на GitHub

Установка

npx -y mcp-wayback-machine
Новичок в MCP? Начните с руководства на mcpskill.org →