
Arquivo Pt
io.github.pipeworx-iov0.1.0更新于 Oct 8, 2026
Arquivo.pt MCP — full-text search over the Portuguese web archive.
概览
让助手对葡萄牙语网页存档 Arquivo.pt 进行全文检索,并读取或列出某个网址的存档快照。
- 功能
- 通过三个工具访问 Arquivo.pt 存档:arquivo_search_pages 支持关键词或带引号的短语全文检索,返回标题、原始网址、抓取日期、摘要、回放链接和提取文本链接;arquivo_url_history 列出某个域名、主机或完整网址的所有已保存快照,含时间戳、抓取状态、MIME 类型、大小和摘要值;arquivo_page_text 返回单个快照提取出的纯文本。响应会带上游来源网址和数据截止时间,出错时直接报错而不会返回空列表。
- 适用场景
- 适合按短语而非按网址查找葡萄牙语网页存档,或查看某个页面被保存过哪些版本并阅读其提取文本。全文索引比抓取落后数年,因此查近期内容时更适合使用网址历史工具。
- 运行要求
- 以远程 streamable HTTP 端点形式运行在网关地址上,最初几次调用无需账号或 API 密钥。也提供本地 stdio 版本,作为 npm 包通过 npx 运行,需要 Node.js。需要能访问网关和 arquivo.pt 的网络。
安装
在 SourceWeft 中
- 打开 控制台中的 Arquivo Pt,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
其他 MCP 客户端
把它添加到你客户端的 mcpServers 配置中。
{
"mcpServers": {
"arquivo-pt": {
"type": "http",
"url": "https://gateway.pipeworx.io/arquivo-pt/mcp"
}
}
}README
@pipeworx/arquivo-pt
Full-text search of archived web pages in Arquivo.pt, the Portuguese web
archive run by FCCN (captures since 1996). Where the Internet Archive's
Wayback Machine (pack wayback) needs the URL, Arquivo.pt indexes the text
of what it captured, so a caller can find archived pages by phrase, then read
a capture's extracted text or list every preserved version of a URL.
Part of Pipeworx — an MCP gateway connecting AI agents to 1721+ live data sources. This is an independent, unofficial integration — not affiliated with, endorsed by, or published by the upstream provider.
Tools
arquivo_search_pages(query, from?, to?, site?, type?, limit?, offset?, per_site?)— full-text hits for terms or a quoted phrase: title, original URL, capture date, decoded snippet, archived replay URL, extracted-text and screenshot links, plusestimated_totalandnext_offset. Zero hits answerfound:falsewithreason:"no_match"and a hint.arquivo_url_history(url, from?, to?, limit?, offset?)— every preserved capture of a domain, host or full URL, newest first, with capture timestamp, crawl HTTP status, MIME type, size, digest and replay links. Zero captures answerfound:falsewithreason:"no_captures".arquivo_page_text(url, timestamp, max_chars?)— the plain text Arquivo.pt extracted from one capture (original_url+captured_at_tsof a hit). A capture that does not exist answersfound:false, reason:"capture_not_found".
Every response carries source (the exact upstream URL) and data_as_of.
A transport failure, a non-JSON body or a changed response shape throws a loud
error naming Arquivo.pt and the HTTP status — never an empty list.
Auth
Keyless.
Coverage, honestly
- Centred on the Portuguese web (
.ptsites and Portuguese-language pages), but international pages linked from them are captured too. Probed 2026-10-08: "climate change" ≈ 52.8M estimated hits (ipcc.ch, eea.europa.eu), "quantum computing" ≈ 1.08M (microsoft.com, en.wikipedia.org), "Federal Reserve interest rates" ≈ 1.9M (federalreserve.gov, vox.com). English queries work; the top hits skew to pages Portuguese sites cite. - The full-text index lags the crawl by years. Probed 2026-10-08, a
search restricted to
from=2022returns 0 hits on most calls, one node answered with 2023 captures, andarquivo_url_historylists captures from mid-2026. Use the URL history for anything recent. - Arquivo.pt load-balances across index nodes that disagree. From a live
Cloudflare Worker on 2026-10-08 the same URL returned, minutes apart: real
hits in 30-37 s; real hits in 1-6 s with
FAWP*collection ids and ahostKeyfield;response_items: []withestimated_nr_results3.5M; andresponse_items: [{}, {}, {}](429 bytes, every row empty) — the last one for every unquoted multi-word query for a stretch, while a laptop got real hits for the identical URL and a quoted phrase answered correctly from the Worker. The pack retries once withmaxItemsnudged and then throws an error naming the fault; rows with no URL/timestamp are never returned as hits (dropped_malformed_rowscounts them). Some nodes also ignoremaxItems(9 rows for 5); hits are capped atlimit. - The pack sends
toonly when you pass one. The upstream default (the previous calendar year) already covers the whole index, and forcingto=<now>made the same query return zero items from a live Worker whileestimated_nr_resultsstayed at 3.8M (probed twice, 2026-10-08). - Hits are deduplicated to 2 per site by default (
per_site); raise it to see more captures of one site.
Data sources
- https://arquivo.pt/textsearch?q=… — full-text search (
q,from,to,siteSearch,type,maxItems≤ 500,offset,dedupValue,dedupField). - https://arquivo.pt/textsearch?versionHistory=… — URL version history.
- https://arquivo.pt/textextracted?m=… — extracted text
of one capture. The
mvalue is the original URL followed by/and the 14-digit timestamp, so a URL ending in/yields//before the stamp — that is correct, do not "fix" it. - API reference: https://github.com/arquivo/pwa-technologies/wiki/Arquivo.pt-API.
A URL passed as
qis an HTTP 400 upstream; the pack refuses it first and points atarquivo_url_history. - Snippets come back HTML-escaped with Latin-1 named entities
(
Inteligência); the pack decodes them.
Quick Start
Add to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):
What this endpoint actually serves
tools/list at https://gateway.pipeworx.io/arquivo-pt/mcp returns the tools in the table
above plus the shared Pipeworx meta-tools — ask_pipeworx,
discover_tools, search_within, remember/recall and the rest of the
gateway-wide set. So the tool count you see is larger than this table: a
single-pack endpoint currently lists roughly 30 shared tools alongside the
pack's own. The connection's initialize response states its exact scope, and
is the authoritative answer for a given day.
This is deliberate, not multiplexing by accident. The meta-tools are what let a
scoped connection answer a question this pack does not cover — via
ask_pipeworx, which routes across the whole catalog — without you adding a
second MCP server. There is currently no way to mount a pack endpoint without
them; if the extra schemas cost you more context than the routing is worth,
connect to the full gateway once rather than to several pack endpoints.
Or connect to the full Pipeworx gateway to get every pack's tools listed directly, instead of just this one's:
Both URLs reach the same gateway and the same 1721+ data sources. The
only difference is which pack's tools are listed directly; ask_pipeworx
reaches all of them from either one.
No MCP client? Call it over HTTP
No account needed for the first calls. Inspect any tool: GET https://gateway.pipeworx.io/v1/tools/arquivo_search_pages. Find one: POST https://gateway.pipeworx.io/v1/tools/search_packs with {"query":"..."}.
Standalone (no gateway account)
This package also runs as a local stdio MCP server — no Pipeworx account, no gateway round-trip:
Or run it directly to confirm it starts:
It speaks MCP over stdin/stdout and answers initialize/tools/list/tools/call
for only this pack's tools — none of the shared meta-tools the gateway
connection above adds. Same source, same tools, no ask_pipeworx routing.
Using with ask_pipeworx
Instead of calling tools directly, you can ask questions in plain English — this works on the pack endpoint above as well as on the full gateway:
The gateway picks the right tool and fills the arguments automatically.
More
License
MIT
来源:README.md,提交 a78abc7
工具
0版本历史
1- v0.1.0最新Oct 8, 2026