Skip to main content
Glama
jmars

web-archive-mcp

by jmars

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation4/5

    Most tools have clearly distinct purposes, but playwright_text and playwright_html both return page content (just different formats), and web_fetch and playwright_navigate can both be used to retrieve a URL. The descriptions do a good job mitigating confusion, so the overlap is minor.

    Naming Consistency4/5

    Tool names use a consistent prefix (web_, playwright_, archive_) with action-oriented suffixes. Slight inconsistency exists because archive_list and archive_read are not verb-first, and a few playwright_ commands use nouns (text, html, screenshot). Overall the pattern is still predictable and readable.

    Tool Count3/5

    17 tools is on the heavier side, mostly due to the 12 playwright interaction commands. Each interaction command serves a distinct browser automation need, but the count is borderline-high for an MCP server surface.

    Completeness4/5

    The core workflows of web fetching, searching, recording, interactive browser control, and archive listing/reading are covered well. Gaps include no delete or clear operation for archived entries, and direct search within archives relies on an external indexer (rebuild + unified-history-mcp) rather than a native search tool.

  • Average 4/5 across 17 of 17 tools scored. Lowest: 3.1/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 9 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    No annotations are provided, so the description must bear the full burden. It discloses that only 'visible text' is returned, implying hidden elements are excluded, but it does not mention behavior for missing pages, waiting for load, or the truncation effect of the max_len parameter. The description adds limited behavioral context beyond the basic operation.

    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 a single, front-loaded sentence with no fluff or redundancy. It efficiently conveys the core purpose without wasting words.

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

    Completeness2/5

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

    While the tool is simple and an output schema exists, the description is incomplete for correct invocation. It lacks any explanation of the max_len parameter, does not specify how the tool behaves under edge cases (e.g., no page open), and provides no guidance on session prerequisites. These gaps make it insufficient for an agent to fully understand the tool's behavior.

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

    Parameters1/5

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

    The schema has one parameter (max_len) with 0% coverage from the description, and the description does not mention the parameter at all. Since schema coverage is low, the description needed to compensate by explaining what max_len controls (e.g., character limit, truncation behavior), but it fails to do so.

    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 with a specific verb ('Return') and resource ('visible text of the current page'). It also distinguishes itself from siblings like playwright_html (which returns HTML) and playwright_screenshot (which captures an image).

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

    Usage Guidelines3/5

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

    The description implies usage by referencing the 'interactive session' and 'current page,' but it does not explicitly state when to use this tool over alternatives like playwright_html. There is no mention of when not to use it or any prerequisites.

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

  • Behavior2/5

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

    With no annotations and a minimal description, the tool's behavior is not fully transparent. The description does not disclose what happens when there is no forward history (e.g., no-op, error), nor any side effects on the session state.

    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 a single, concise sentence with no wasted words. It fully communicates the core purpose in a front-loaded manner.

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

    Completeness3/5

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

    Given the simplicity of the tool, the description is minimally viable, but it lacks important edge-case behavior (e.g., what happens if forward history is empty). An output schema exists, but it does not compensate for missing behavioral details.

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

    Parameters4/5

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

    The tool has zero parameters, so the schema trivially covers everything. The description does not need to add parameter semantics, and the baseline of 4 is appropriate.

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

    Purpose4/5

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

    The description clearly states the action ('Go forward') and the resource ('interactive session's history'), which distinguishes it from the sibling tool 'playwright_back'. However, it could be more explicit about the context (e.g., browser navigation history) but remains specific enough.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives like 'playwright_back' or 'playwright_navigate'. The description implies it should be used after going back, but this is not stated.

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

  • Behavior2/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 only says 'fill a form field' without revealing whether it clears existing values, triggers events, waits for visibility, or affects the page state. Essential behavioral traits are missing.

    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 a single concise sentence with no redundant words. It front-loads the core action and includes all essential elements without waste.

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

    Completeness3/5

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

    For a simple fill operation, the description covers the basic function but omits behavioral nuances like field clearing, event triggering, or visibility requirements. The presence of an output schema is not leveraged, but for this straightforward tool the description is minimally adequate.

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

    Parameters3/5

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

    The description adds 'CSS selector' for the 'selector' parameter, giving useful type information beyond the schema's bare title. However, the 'value' parameter is only described as 'a value', providing minimal extra meaning. With 0% schema coverage, the description partially compensates but remains thin.

    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 action ('Fill a form field') with a specific resource ('form field') and additional detail ('CSS selector'), distinguishing it from sibling tools like click or navigate. The verb is precise and the scope is unambiguous.

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

    Usage Guidelines3/5

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

    The phrase 'in the interactive session' provides some contextual hint about when to use this tool (after navigation, in a live browser session), but it does not explicitly state alternatives or when not to use it. The usage is implied rather than explicit.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry the full burden. It discloses that the tool returns HTML but does not mention the max_len truncation behavior, error conditions (e.g., no current page), or whether it is read-only. The phrase 'interactive session' only weakly implies session requirements.

    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?

    A single sentence with no filler words. It is front-loaded with the verb and resource, making it highly scannable and efficient.

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

    Completeness4/5

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

    For a simple getter, the description is mostly complete given the output schema exists. It conveys the core purpose and session context, but could add a note about max_len or the behavior when no page is available. Still, it is sufficient for a well-scoped tool.

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

    Parameters2/5

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

    The schema has no description for max_len (0% coverage), and the description does not mention it. The parameter name is somewhat self-explanatory, but the agent cannot know its exact effect (truncating HTML length) or how the default 20000 affects results.

    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 uses a specific verb ('Return') and identifies the resource ('HTML of the current page'). It clearly distinguishes from siblings like playwright_text and playwright_screenshot by focusing on raw HTML output.

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

    Usage Guidelines3/5

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

    Usage is implied by the phrase 'current page in the interactive session,' suggesting use after navigating. However, there is no explicit guidance on when to choose this over alternatives like web_fetch or when not to use it.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the transparency burden. It discloses the read-only nature via 'Read' and adds ordering information ('newest first'), but it does not mention failure modes, side effects, or the format of returned entries.

    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 highly concise, front-loaded with the core purpose in the first sentence, followed by a compact args block. Every sentence adds value and there is no filler.

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

    Completeness4/5

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

    For a simple two-parameter read tool with an output schema, the description covers the core operation and parameter semantics well. It lacks explicit guidance on obtaining file_id or handling error cases, which prevents a perfect score.

    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 schema has 0% description coverage, but the description fully compensates by explaining file_id with an example filename and max_entries with 'Maximum entries to return, newest first'. This adds meaningful semantics beyond the raw schema types and defaults.

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

    Purpose4/5

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

    The description starts with a specific verb and resource: 'Read entries from an archive file.' It clearly states the action and object, but it does not explicitly differentiate this tool from the sibling archive_list tool, which limits it to a 4 rather than a 5.

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

    Usage Guidelines2/5

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

    There is no guidance on when to use this tool versus alternatives. The description simply states what the tool does, leaving the agent to infer that archive_read is appropriate for reading entries, and it does not mention exclusions or sibling tools.

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

  • Behavior2/5

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

    With no annotations, the description must disclose behavioral traits. It mentions that it 'Calls fst-indexer to rebuild the full-text index', which is helpful, but it does not disclose side effects such as overwriting the existing index, potential downtime, or whether the operation is long-running or safe to invoke repeatedly. For a rebuild operation, this is a notable gap.

    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 two sentences, front-loaded with the action, and contains no filler or repetition. Every sentence contributes to explaining what the tool does and why.

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

    Completeness3/5

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

    For a zero-param tool with an output schema, the description covers the core action and outcome. However, it omits operational context such as whether this replaces the current index, how long it might take, or any prerequisites (e.g., fst-indexer availability). Given that this is a rebuild operation, slightly more context would be useful.

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

    Parameters4/5

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

    The tool has zero parameters, so the description does not need to explain parameter semantics. It gains a baseline 4 because there is nothing to compensate for; the schema is empty and no parameter documentation is required.

    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 action ('Rebuild'), the resource ('the FST index for the web-archive domain'), and the purpose ('so archived content is searchable'). This distinguishes it from sibling tools like archive_list/archive_read (which read) and web_search (which searches).

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

    Usage Guidelines3/5

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

    The phrase 'so archived content is searchable' implies the tool is used to make archived content searchable, but there is no explicit guidance on when to use it vs. alternatives, no exclusions, and no mention of prerequisites like needing to run this after content updates. Usage context is implied but not stated.

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

  • Behavior3/5

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

    With no annotations, the description must carry the behavioral disclosure burden. It states 'List' which implies read-only, and it documents date range filtering, but it does not explicitly state side effects, sort order, or behavior with no matching entries. The output schema covers return structure, but not behavioral traits.

    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 extremely compact and well-structured: one sentence states the purpose, followed by a short Args list. Every sentence is necessary, and the key information is front-loaded.

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

    Completeness4/5

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

    This is a simple list tool with three optional parameters and an output schema. The description covers purpose and all parameters adequately. The only gap is the lack of usage guidance or explicit differentiation from sibling tools, but given the low complexity, the description is nearly complete.

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

    Parameters4/5

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

    The input schema has no per-property descriptions (0% coverage), so the description's Args section adds meaningful semantic value: it specifies date format (YYYY-MM-DD), inclusivity for date_to, and the default for max_results. All three parameters are explained, exceeding the schema's bare types 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 explicitly states 'List archived web fetch/search entries with metadata,' naming both the verb ('List') and the resource ('archived web fetch/search entries'). This clearly distinguishes the tool from sibling 'archive_read', which presumably reads a single entry.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'archive_read' or the web_fetch/web_search tools. It simply lists parameters without addressing use cases, exclusions, or preferred contexts.

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

  • Behavior2/5

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

    There are no annotations to declare safe-read or destructive behavior, so the description carries the full burden. It only restates the action ('click') without disclosing that clicks may trigger navigation, require element visibility, or wait for page loads, which is risky for an unannotated mutation-like operation.

    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 a single, front-loaded sentence with no filler words. Every word adds value, and the parenthetical clarifies the parameter format without bloating the text.

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

    Completeness3/5

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

    For a one-parameter tool with an output schema, the description covers the essential action and selector type. However, it does not explain prerequisites or side effects, such as whether the interactive session must be active or that a click can cause navigation, making it adequate but not fully complete.

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

    Parameters4/5

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

    With one required parameter and zero schema description coverage, the description compensates by specifying that the selector is a CSS selector, which is meaningfully more informative than the schema property title 'Selector'. It does not discuss selector matching details, but the format hint is sufficient for this simplicity.

    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 uses a specific verb ('Click') and resource ('an element') plus the CSS selector format, making the tool's purpose immediately clear. The 'interactive session' qualifier differentiates it from sibling tools like playwright_navigate or playwright_fill.

    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 phrase 'in the interactive session' provides clear context that this tool acts on elements within an established browser session. While it does not explicitly name alternatives like playwright_fill or playwright_text, the action of clicking is clear enough to imply when to use it.

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

  • Behavior4/5

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

    With no annotations, the description carries the full burden of disclosure. It adds valuable behavior: filename sanitization, .png enforcement, and containment to ~/Downloads. It does not specify whether the screenshot captures the viewport or full page, which is a common behavioral expectation, but the disclosed safety trait is significant.

    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 two sentences: the first is a concise main action, and the second adds a critical constraint. There is no redundant information or filler.

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

    Completeness4/5

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

    For a simple single-parameter tool with an output schema, the description provides enough context. It covers the action, destination, return value, and safety behavior. It lacks edge-case details (e.g., overwrite behavior, waiting for page load), but these are less critical given the output schema and straightforward purpose.

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

    Parameters3/5

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

    Schema description coverage is 0%, so the description must compensate. It indirectly references the 'name' parameter by discussing filename sanitization, but it never explicitly says that the 'name' parameter controls the output filename. The schema's default value hints at it, but the description should have explicitly linked the parameter to its function.

    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 action (Save a screenshot), the target resource (current page), the destination (~/Downloads), and the return (path). It distinguishes itself from sibling tools like playwright_record or playwright_navigate by being specifically about screenshots.

    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 phrase 'current page' conveys the appropriate context for use. It does not explicitly mention when not to use it or compare with alternatives, but its purpose is clear enough that an agent would know to use it when a static screenshot is needed. A nudge toward alternative tools (e.g., playwright_record for video) would improve it to a 5.

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

  • Behavior4/5

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

    With no annotations, the description carries the burden of disclosing behavior. It reveals that the session is persistent, always records traffic, archives to the web-archive store in real time, and returns a confirmation. It does not mention potential edge cases like existing sessions, but for a simple start action this is reasonably transparent.

    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 three short sentences with no redundant information. The first sentence states the core action, the second provides a key behavioral detail, and the third mentions the return value. Every sentence earns its place.

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

    Completeness4/5

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

    The tool is simple (no params, start command), and the description covers its main behavior and side effect (archiving). An output schema exists, so return values don't need explanation. It could be slightly more complete by explicitly stating it's a prerequisite for other playwright tools, but it's sufficient for the given context.

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

    Parameters4/5

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

    The tool has zero parameters, and the schema has no properties. Per the rubric, 0 params gives a baseline of 4. The description adds context about what the session does and its archiving behavior, which is meaningful even without parameter-specific details.

    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 a specific action ('Start') and a specific resource ('persistent interactive Playwright session'), while also distinguishing itself from sibling tools by mentioning the always-on traffic recording aspect. It's unambiguous what this tool does compared to other playwright_* and archive_* tools.

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

    Usage Guidelines3/5

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

    The description implies that this tool is the entry point for a persistent Playwright session, but it doesn't explicitly say when to use it vs. alternatives like playwright_record or playwright_navigate. There's no explicit 'use this before other playwright commands' or exclusions, so guidance is only implied.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden of behavioral disclosure. It states the core behavior but does not mention potential edge cases (e.g., empty history) or any side effects beyond navigation. This is adequate but lacks additional context.

    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 a single, concise sentence that communicates the tool's purpose without any wasted words. It is perfectly front-loaded.

    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 tool's simplicity (zero parameters, no nested objects) and the existence of an output schema, the description is complete enough for an agent to use it correctly. It covers the essential behavior without unnecessary detail.

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

    Parameters4/5

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

    The tool has zero parameters, so the schema covers everything. The baseline for 0 params is 4, and the description adds no parameter-related information, which is appropriate.

    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 'Go back in the interactive session's history' clearly identifies the action (go back) and the resource (interactive session's history). It is distinct from sibling tools like playwright_forward (go forward) and playwright_navigate (go to a specific URL).

    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 when to use the tool: when you need to navigate backward in the browser session history. It does not explicitly name alternatives, but the clear context and sibling tool names (e.g., playwright_forward, playwright_navigate) provide enough differentiation.

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

  • Behavior4/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 disclosure. It clearly states the primary behavior—closing the session and its browser—and is accurate. However, it does not mention side effects such as unsaved state or behavior when no active session exists, which would add further context.

    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 a single, front-loaded sentence that states the action and target immediately. Every word adds meaning, with zero redundancy.

    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?

    For a zero-parameter close tool with an output schema, the description is sufficient to convey the tool's role and behavior. It covers the essential lifecycle action and does not need to explain return values, as the output schema handles that.

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

    Parameters4/5

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

    The tool has zero parameters, so schema coverage is 100% trivially. Per the baseline for 0 parameters, a score of 4 is appropriate. The description correctly omits parameter details, and nothing contradicts the empty schema.

    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 uses a specific verb ('Close') and clearly identifies the resource ('interactive Playwright session and its browser'), which distinguishes it from sibling tools like playwright_start and playwright_navigate. The purpose is unambiguous.

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

    Usage Guidelines3/5

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

    Usage is implied as the counterpart to starting a Playwright session, but the description does not explicitly state when to use this tool versus alternatives, nor does it mention any prerequisites or exclusions. It provides no direct guidance on lifecycle context.

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

  • Behavior4/5

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

    With no annotations, the description carries the full burden. It discloses side effects (persisting to archive), format conversion (HTML to markdown), URL restrictions, and optional auth token. It doesn't detail error handling or redirect behavior, but the core behaviors are well covered.

    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 concise, front-loaded with the primary purpose, and uses an Args list for parameter details. No redundant fluff; every sentence adds value.

    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?

    The tool's complexity is moderate (3 params, 1 required) and an output schema exists. The description covers behavior, side effects, constraints, and all parameters, making it sufficient for correct selection and invocation.

    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?

    Schema description coverage is 0%, so the description must compensate. It explains all three parameters: url (http/https only), timeout (seconds, default 30, max 120), and token (optional Bearer). This adds essential meaning beyond the schema's bare types 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 it fetches a URL and archives the result, converting HTML to markdown and persisting as a timestamped JSONL entry. This specific verb+resource+scope distinguishes it from sibling tools like web_search (search) and playwright_* (browser automation).

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

    Usage Guidelines3/5

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

    The description implies usage for fetching and archiving web content, but it does not explicitly state when to use it over alternatives like web_search or playwright_navigate. It provides constraints (http/https only, private IPs blocked) but no direct comparison or exclusions.

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

  • Behavior4/5

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

    No annotations are provided, so the description must carry the behavioral burden. The verb 'Report' strongly implies a read-only operation, and the description adds context about what is reported (status, counts). This is adequate for a simple stats tool, though it could explicitly state that it makes no changes.

    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 a single, concise sentence that front-loads the action ('Report') and specifies both the target ('interactive session's status') and the additional detail ('recorded-entry counts'). No unnecessary words.

    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?

    The tool has 0 parameters and an output schema, so the description does not need to explain return values. The description covers the essential function adequately for a low-complexity tool, and there are no gaps in parameter or return information.

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

    Parameters4/5

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

    The tool has zero parameters, so the description need not explain parameter semantics. The score is at baseline 4 for 0-parameter tools, and the description adds no conflicting information.

    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 a specific verb ('Report') and resource ('interactive session's status and recorded-entry counts'), which distinguishes it from sibling tools like playwright_navigate or playwright_record. It unambiguously identifies this as a status/statistics tool.

    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 when the user needs session status or entry counts, making the context clear. It does not explicitly mention alternatives or exclusions, but the context is sufficiently clear from the description and sibling names.

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

  • Behavior4/5

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

    No annotations are provided, so the description carries the burden of behavioral disclosure. It explicitly mentions that results are persisted and archived for later search, which is a significant side effect beyond the basic search operation. It does not mention rate limits or error behavior, but the disclosed archiving behavior adds valuable transparency.

    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 appropriately short and front-loaded with the main purpose. The 'Args' section clearly attaches semantics to the parameter. Every sentence earns its place, with no redundant or filler content.

    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 simple one-parameter schema, the presence of an output schema, and the clear description of the tool's behavior and side effects, this description is complete. The agent has everything needed to invoke the tool correctly and understand its archiving side effect.

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

    Parameters4/5

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

    The schema provides only the parameter type and name with no description, so the description must compensate. It adds meaning by defining 'query' as the search query and specifying a 500-character limit, which is actionable. The explanation is sufficient for a single required parameter, though it could elaborate on query formatting.

    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 states a specific verb and resource: 'Search the web and archive the results.' It clearly indicates the tool performs a web search via DuckDuckGo, which distinguishes it from sibling tools like web_fetch (fetching a specific URL) and playwright_* (browser automation).

    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 clearly implies use for web search, not for direct fetching or browser interaction. It does not explicitly name alternatives or exclusions, but the context is clear enough for an agent to select this tool for search queries. A named alternative would push it to 5.

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

  • 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.

  • Behavior5/5

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

    With no annotations, the description carries the full burden and does so thoroughly. It discloses that the scheme is auto-prepended, the page title is returned, all requests/responses are recorded automatically, and private/loopback addresses are rejected for SSRF protection. This goes well beyond the obvious.

    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 three tightly packed sentences with no filler. The main action is front-loaded, followed by return value, recording behavior, and a security caveat with an alternative. Each sentence earns its place.

    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?

    For a simple one-parameter tool, the description is remarkably complete: it explains what the tool does, what it returns, side effects (recording), security restrictions, and when to use an alternative. The existence of an output schema means return value details are covered, and the description still mentions the page title.

    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?

    Although schema description coverage is 0%, the description provides essential semantics for the 'url' parameter: it must be http/https, the scheme is auto-prepended, and private/loopback addresses are not allowed. This meaningfully compensates for the schema's lack of documentation.

    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: 'Navigate the interactive session to a URL,' using a specific verb and resource. It also distinguishes itself from siblings like web_fetch by referencing the interactive session and noting differences in SSRF protection and the standalone CLI.

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

    Usage Guidelines5/5

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

    The description provides explicit usage context: it is for navigating an interactive session, and it gives a clear when-not/alternative by stating 'use the standalone CLI if you need to reach an internal/local host.' It also compares behavior with web_fetch, helping the agent understand when to choose this tool.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

web-archive-mcp MCP server

Copy to your README.md:

Score Badge

web-archive-mcp MCP server

Copy to your README.md:

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