extract_archive_member
Pack: web-fetch · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/extract_archive_member for the schema, then POST the same URL with its arguments for the data.
List or extract a named member from a ZIP archive at a public URL, without downloading the whole archive when the origin honours HTTP Range (most do, including Internet Archive Wayback Machine captures).
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
url | string | yes | The absolute http(s) URL of a ZIP archive, e.g. an Internet Archive Wayback Machine capture of a .zip, an object-store URL, or any direct ZIP download link. |
member | string | no | The exact (or case-insensitive) name of the archive member to extract, as returned by a prior call without “member”. Omit to list members instead. |
format | string | no | Only used when extracting a member. auto (default) and raw both return decoded text for a textual member and base64 for binary; text forces a text decode (falls back to base64 with a warning if the member looks binary). |
max_bytes | number | no | Only used when extracting a member: size of the returned window. Default 100000. Maximum 1000000 for text, 512000 for base64 (binary). |
offset | number | no | Only used when extracting a member: byte offset into the DECOMPRESSED member where the window starts. Use next_offset from the previous call to page. Default 0. |
Example call
Arguments
{
"url": "https://web.archive.org/web/20170217024122id_/https://www.ucas.com/file/86461/download?token=iMCCLWdB"
}
curl
curl -X POST https://gateway.pipeworx.io/web-fetch/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"extract_archive_member","arguments":{"url":"https://web.archive.org/web/20170217024122id_/https://www.ucas.com/file/86461/download?token=iMCCLWdB"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('extract_archive_member', {
"url": "https://web.archive.org/web/20170217024122id_/https://www.ucas.com/file/86461/download?token=iMCCLWdB"
});
More examples
{
"url": "https://web.archive.org/web/20170217024122id_/https://www.ucas.com/file/86461/download?token=iMCCLWdB",
"member": "EoC16_Figure17_datatable.csv"
}
Response shape
| Field | Type | Description |
|---|---|---|
url_requested | string | |
url_final | string | |
status | number | |
user_agent_used | string | |
archive_total_bytes | number | |
range_supported | boolean | |
member_count | number | |
members_returned | number | |
members_truncated | boolean | |
members | array | |
budget | string | |
member | string | |
matched_by | string | |
method | string | |
compressed_size | number | |
uncompressed_size | number | |
crc32_declared | string | |
crc32_verified | boolean | |
offset | number | |
bytes_returned | number | |
truncated | boolean | |
next_offset | null | |
sha256_member | string | |
sha256_returned | string | |
encoding | string | |
charset | string | |
charset_source | string | |
decode_replacements | number | |
body | null | |
text | string | |
error | string | |
message | string |
Full JSON Schema
{
"type": "object",
"properties": {
"url_requested": {
"type": "string"
},
"url_final": {
"type": "string"
},
"status": {
"type": "number"
},
"user_agent_used": {
"type": "string"
},
"archive_total_bytes": {
"type": "number"
},
"range_supported": {
"type": "boolean"
},
"member_count": {
"type": "number"
},
"members_returned": {
"type": "number"
},
"members_truncated": {
"type": "boolean"
},
"members": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"compressed_size": {
"type": "number"
},
"uncompressed_size": {
"type": "number"
},
"method": {
"type": "string"
},
"crc32": {
"type": "string"
},
"local_header_offset": {
"type": "number"
},
"encrypted": {
"type": "boolean"
}
},
"additionalProperties": true
}
},
"budget": {
"type": "string"
},
"member": {
"type": "string"
},
"matched_by": {
"type": "string"
},
"method": {
"type": "string"
},
"compressed_size": {
"type": "number"
},
"uncompressed_size": {
"type": "number"
},
"crc32_declared": {
"type": "string"
},
"crc32_verified": {
"type": "boolean"
},
"offset": {
"type": "number"
},
"bytes_returned": {
"type": "number"
},
"truncated": {
"type": "boolean"
},
"next_offset": {
"type": "null"
},
"sha256_member": {
"type": "string"
},
"sha256_returned": {
"type": "string"
},
"encoding": {
"type": "string"
},
"charset": {
"type": "string"
},
"charset_source": {
"type": "string"
},
"decode_replacements": {
"type": "number"
},
"body": {
"type": "null"
},
"text": {
"type": "string"
},
"error": {
"type": "string"
},
"message": {
"type": "string"
}
},
"additionalProperties": true
}
Connect
Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:
{
"mcpServers": {
"pipeworx": {
"url": "https://pipeworx.io/mcp"
}
}
}
Connect to just the web-fetch pack
{
"mcpServers": {
"web-fetch": {
"url": "https://gateway.pipeworx.io/web-fetch/mcp"
}
}
}
See Getting Started for client-specific install steps.