Skip to main content
Glama
jmars

web-archive-mcp

by jmars

playwright_record

Record HTTP requests and responses from web pages using a headless browser, archiving them for full-text search.

Instructions

Drive a headless Playwright browser against the given URL(s) and record every HTTP request/response into the web-archive store.

Binary/streaming response bodies are skipped, auth headers are redacted by default, and each URL gets a fresh browser context so cookies don't leak between sites. Like web_fetch, this rejects private/loopback addresses (SSRF protection). Recorded entries become searchable once rebuild runs.

Args: urls: URL(s) to visit (http/https; scheme auto-prepended) wait: Extra seconds to wait after page load for async requests timeout: Navigation timeout in seconds (max 120) max_entries: Stop recording after this many request/response entries redact_auth: Redact Authorization/Cookie/Set-Cookie/X-API-Key headers

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlsYes
waitNo
timeoutNo
max_entriesNo
redact_authNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It covers key behaviors: skipping binary/streaming response bodies, redacting auth headers by default, using a fresh browser context per URL to avoid cookie leakage, SSRF protection, and the need to run 'rebuild' for entries to become searchable. This is comprehensive and goes beyond simple static information.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured, starting with a concise overview sentence, then a paragraph of key behaviors, and a bulleted Args list. Each sentence adds valuable information without redundancy. It is appropriately sized for the tool's complexity and is front-loaded with the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of browser automation and recording, the description is complete. It addresses edge cases (binary/streaming bodies, auth redaction, cookie isolation, SSRF), explains the requirement to rebuild for searchability, and provides parameter semantics. An output schema exists, so return values need not be explained in the description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides 0% description coverage, but the description compensates fully with a clear Args section explaining each parameter. For example, 'wait' is described as 'Extra seconds to wait after page load for async requests' and 'max_entries' as 'Stop recording after this many request/response entries.' This adds meaning beyond the schema's field names and defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Drive a headless Playwright browser against the given URL(s) and record every HTTP request/response into the web-archive store.' This uses specific verbs (drive, record) and specifies the resource (URLs) and destination (web-archive store). It distinguishes itself from sibling tools like web_fetch by focusing on recording network traffic rather than just fetching content.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by detailing what the tool does, and it mentions 'Like web_fetch, this rejects private/loopback addresses (SSRF protection),' which draws a comparison to a sibling tool. However, it does not explicitly state when to use this tool over alternatives or provide exclusion criteria. The context is clear but lacks explicit when-to-use/when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

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/jmars/web-archive-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server