Skip to main content
Glama
Playwright MCP Server

Playwright MCP Server

Official
by microsoft

browser_network_requests

Read-only

Lists network requests made since page load, with optional URL filtering and file export, so you can inspect API calls and resources; use request numbers with the detail tool for full data.

Instructions

Returns a numbered list of network requests since loading the page. Use browser_network_request with the number to get full details.

Input Schema

NameRequiredDescriptionDefault
allNoReturn all network requests since the beginning of the session, not just since the last navigation. Defaults to false.
filterNoOnly return requests whose URL matches this regexp (e.g. "/api/.*user").
staticYesWhether to include successful static resources like images, fonts, scripts, etc. Defaults to false.
filenameNoFile name to save the network requests to. Relative file names are resolved against the workspace root. If not provided, requests are returned as text.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.0.84
    • addedInput schema / properties / all
      Added value: +{
      +  "description": "Return all network requests since the beginning of the session, not just since the last navigation. Defaults to false.",
      +  "type": "boolean"
      +}
  2. Changed1 schema field changedv0.0.81
    • changedInput schema / properties / filename / description
      Previous value: -"Filename to save the network requests to. If not provided, requests are returned as text."New value: +"File name to save the network requests to. Relative file names are resolved against the workspace root. If not provided, requests are returned as text."
  3. Changed6 schema fields changedv0.0.72
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedInput schema / properties / filename
      Added value: +{
      +  "description": "Filename to save the network requests to. If not provided, requests are returned as text.",
      +  "type": "string"
      +}
    • addedInput schema / properties / filter
      Added value: +{
      +  "description": "Only return requests whose URL matches this regexp (e.g. \"/api/.*user\").",
      +  "type": "string"
      +}
    • removedInput schema / properties / includeStatic
      Removed value: -{
      -  "default": false,
      -  "description": "Whether to include successful static resources like images, fonts, scripts, etc. Defaults to false.",
      -  "type": "boolean"
      -}
    • addedInput schema / properties / static
      Added value: +{
      +  "default": false,
      +  "description": "Whether to include successful static resources like images, fonts, scripts, etc. Defaults to false.",
      +  "type": "boolean"
      +}
    • addedInput schema / required
      Added value: +[
      +  "static"
      +]
  4. Changed1 schema field changedv1.0.1
    • addedInput schema / properties / includeStatic
      Added value: +{
      +  "default": false,
      +  "description": "Whether to include successful static resources like images, fonts, scripts, etc. Defaults to false.",
      +  "type": "boolean"
      +}
  5. First observedv1.0.0

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds useful behavior by revealing the numbered-list output shape and the follow-up tool that consumes those numbers. However, it omits a notable behavioral trait: successful static resources (images, fonts, scripts) are excluded by default, which is exactly the surprise an agent will hit when the list looks incomplete.

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?

Two sentences, front-loaded with the core purpose and immediately followed by the actionable next step. No filler, no restatement of the title, and the chaining instruction comes exactly where an agent needs it.

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?

With no output schema, the description carries the burden of explaining return values, and it does so minimally (a numbered list) plus the detail-lookup path. For a tool with a required `static` flag and a session-vs-navigation scope toggle, it leaves gaps: it never clarifies whether the list resets on navigation, that static resources are filtered out by default, or how large the list can grow. Adequate to call correctly, not adequate to predict results.

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% and all four parameters (all, filter, static, filename) are documented in the schema itself, so the baseline of 3 applies. The description adds no parameter-level meaning beyond the schema — no mention of the regex filter, the file-saving option, or that `static` is required despite having a default. The 'number' referenced in the description is an output token, not an input parameter.

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?

States a specific verb and resource ("Returns a numbered list of network requests") and scopes it to "since loading the page." It also names the sibling detail tool, so an agent can distinguish list vs. detail. It stops short of 5 because the stated scope ("since loading the page") sits uneasily with the `all` parameter that extends to the whole session, and no hint of that nuance appears.

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?

It does give one concrete routing rule: use browser_network_request with a returned number to get full details, which is genuine chaining guidance. But it never says when to prefer this over browser_console_messages or browser_snapshot, nor when listing requests is more appropriate than inspecting a single one. Usage is implied by the chaining sentence rather than explicitly framed.

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