web-archive-mcp
This server provides a persistent web archiving service that automatically saves fetched pages and web search results for later retrieval and full-text search.
Fetch & Archive Web Pages: Retrieve any public URL, convert HTML to Markdown, and archive it. Supports optional authentication and timeout configuration; private/internal IPs are blocked for security.
Search & Archive Web Results: Perform DuckDuckGo searches and archive the results automatically.
List Archived Entries: Browse previously saved entries with metadata, optional date filtering and result limits.
Read Archive Files: Access the contents of a specific archive file by its ID, showing newest entries first.
Rebuild Search Index: Trigger a full-text search index rebuild, making archived content searchable through the unified-history-mcp integration.
Allows performing web searches via DuckDuckGo, with results persisted and indexed for later retrieval.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@web-archive-mcpfetch and archive https://example.com/article"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
web-archive-mcp
MCP server for persistent web fetch and search archiving. Every web_fetch and web_search result is saved as timestamped JSONL, indexed by fst-indexer, and searchable via unified-history-mcp.
Part of the Palimpsest investigative toolkit.
Why
web_fetch and web_search results normally evaporate when a session ends. Pages change, get deleted, or get memory-holed. This closes that gap — every result is persisted, content-addressed for dedup, and fed into the same search pipeline as your session logs and transcripts. Three months later, a search(domain="all", query="target name") still finds the page that's been 404'd since July.
Related MCP server: scout
Architecture
web_fetch / web_search playwright-archive-mcp (browser capture)
│ │
▼ ▼
web-archive-store (shared JSONL write-path + SSRF URL validation)
│
▼
~/.local/share/web-archive/*.jsonl
│ │
│ fst-indexer (Jsonl extractor)
│ │
▼ ▼
returns content index.fst + manifest.json
│
▼
unified-history-mcp
domain: "web-archive"Tools
Tool | Description |
| Fetch a URL, convert to markdown, persist, return |
web_fetch supports the standard HTTP verbs via method (GET, HEAD, POST,
PUT, PATCH, DELETE, OPTIONS; default GET). Pass body for the request body
and content_type for the Content-Type header (e.g. a JSON POST). The
method is stamped on each archived entry and included in the response.
| web_search(query) | Search the web (DuckDuckGo), persist results |
| archive_list(date_from, date_to, max) | List archived entries with metadata |
| archive_read(id, max_entries) | Read entries from an archive file |
| rebuild | Rebuild FST index for the web-archive domain |
Installation
web-archive-mcp depends on the shared web-archive-store package (archive write-path + SSRF URL validation). Install it first:
git clone https://github.com/palimpsest-labs/web-archive-store
cd web-archive-store
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
cd ..
git clone https://github.com/palimpsest-labs/web-archive-mcp
cd web-archive-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e .Once web-archive-store is published to PyPI this becomes a single pip install -e ..
Browser-driven traffic capture (the
playwright_*tools) moved to the separateplaywright-archive-mcpserver, which records HTTP traffic into the same store.
Integration with unified-history-mcp
Add to your unified-history TOML config:
[domains.web-archive]
dir = "~/.local/share/web-archive"
pattern = "*.jsonl"
extractor = "jsonl"
label = "web-archive entry"
filters = []Then rebuild: search(domain="web-archive", query="rebuild") or call rebuild directly.
Once indexed, a search(domain="all", query="your search") scans your sessions, transcripts, notifications, and every web page you've ever fetched — in a single query.
Entry format
{
"type": "fetch",
"source": "https://example.com/page",
"title": "Example Page",
"content": "# Example\n\nMarkdown content...",
"timestamp": "2026-07-30T21:15:00Z",
"content_hash": "abc123..."
}For searches, source holds the query string and type is "search".
Content-addressed dedup prevents storing identical entries. Same source + same content hash = skipped.
License
MIT
Maintenance
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
- AlicenseNot gradedqualityFmaintenanceA local MCP server that records completed tasks to daily JSONL files and promotes substantial work to a cumulative weekly Markdown worklog, providing persistent, searchable logs of AI-assisted productivity.MIT
- AlicenseNot gradedqualityBmaintenanceMCP server that fetches web pages, extracts clean markdown (reducing token count), caches results, and provides searchable reading history.MIT
- FlicenseNot gradedqualityCmaintenanceMCP server providing web search, news search, and X/Twitter search capabilities via HTTP or stdio.
- AlicenseAqualityBmaintenanceAn MCP server that fetches web pages and extracts clean, AI-usable context from them, enabling tools for link discovery, content search, and integrated fetch-and-search operations.571MIT
Related MCP Connectors
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Cloud-hosted MCP server for durable AI memory
Official remote MCP server for Archivist AI TTRPG campaign memory: characters, sessions, and more.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/palimpsest-labs/web-archive-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server