Skip to main content
Glama

block_resources

Blocks specified URL patterns during browser navigation to simulate third-party outages and verify that core app content still loads and functions.

Instructions

Opens the browser, navigates to the user application, and blocks requests to specified URL patterns. Simulates third-party outages (analytics, CDNs, tracking) and verifies core content integrity. Use to answer: does the app still load and function if Google Analytics or a CDN is down?

Input Schema

NameRequiredDescriptionDefault
urlYesURL of the page to test
wait_msNoMilliseconds to wait after navigation before checking core content (default: 2000)
headlessNoWhether to run in headless mode (default: false, launches real browser so user sees application)
viewportNoViewport size (default: 1280×720)
block_patternsYesGlob patterns for requests to block (e.g., ['**/analytics**', '*.doubleclick.net/**'])
preview_delay_msNoMilliseconds to pause after simulation before closing browser, allowing visual inspection (default: 2000)
keep_browser_openNoKeep browser window open after test completes so user can interactively inspect the app (default: false)
api_health_check_urlNoOptional backend or hosted API health check URL to verify before running chaos test. Aborts if backend is down or errors.
core_content_selectorNoCSS selector for core content that must still be present (e.g., '.main-content')

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.2

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose meaningful side effects: it launches a real (visible by default) browser and navigates to the target app, and it aborts if a backend health check fails. It does not say what the tool reports back, how a failure of core content is signalled, or whether the browser session leaves any residue.

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?

Three sentences: mechanism, what it simulates plus what it verifies, then the motivating question. It is front-loaded, and no sentence repeats the tool name or the schema.

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?

This is a nine-parameter tool with nested objects, no output schema, and no annotations, so the description has to carry more than it does. It covers the mechanics well but leaves the result surface undefined: an agent cannot tell what evidence the tool returns to prove requests were blocked or that core content survived.

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 100%, so all nine parameters including the nested viewport are already documented in the schema. The description only loosely reinforces block_patterns and the health-check concept; it adds no syntax, ordering, or interaction detail beyond the schema, so baseline 3 applies.

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 names a concrete mechanism (open browser, navigate, block URL patterns), the class of resources targeted (analytics, CDNs, tracking), and the verification step (core content integrity). It is clearly a request-blocking tool, though it never explicitly distinguishes itself from the closest siblings simulating network-layer failures.

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?

It gives a concrete selection scenario in the question 'does the app still load and function if Google Analytics or a CDN is down?'. That is a strong use case, but there are no exclusions or explicit pointers to when a sibling like simulate_network_drop or trigger_system_network_error is the better choice.

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