Skip to main content
Glama
WhiteNightShadow

camoufox-reverse-mcp

compare_network_requests

Compare up to 10 captured network requests to identify differences in headers and body parameters, aiding in reverse engineering of request signing.

Instructions

Compare 2..10 captured requests without issuing requests or launching a browser.

Args: request_ids: Distinct IDs from list_network_requests in this capture. include_headers: Compare available request headers; incompleteness warns. include_body: Compare exact request body text plus top-level JSON fields. max_value_chars: Preview characters per value (0..2000); digests always cover full values in canonical JSON. Each string also includes raw_utf8 byte length/SHA-256; use that for exact body byte checks. Results may contain credentials; keep them private. max_fields: Maximum changed rows and constant field names (1..200).

Returns: Changed fields, constant names and completeness limits. Query duplicates, value order and raw URL encoding are preserved. Missing differs from null. A varying field is evidence, not proof that it participates in signing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
max_fieldsNo
request_idsYes
include_bodyNo
include_headersNo
max_value_charsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.8.0

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations present, the description carries the burden of disclosing side effects and constraints. It explicitly says no requests are issued and no browser is launched, and it warns that results may contain credentials. It does not explicitly state 'read-only' or describe failure modes, but the non-mutating nature is strongly implied by 'compare captured requests.'

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

Conciseness4/5

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

The description is compact and front-loaded with the core purpose. The Args/Returns structure is readable, though some phrasing is cryptic and dense, such as 'Query duplicates, value order and raw URL encoding are preserved' and 'A varying field is evidence, not proof that it participates in signing.' Still, it avoids unnecessary verbosity.

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?

There is no output schema, so the description must explain the return semantics, and it does partially. It mentions changed fields, constant names, completeness limits, and preserved aspects like query duplicates and URL encoding. However, it lacks a concrete shape or example of the returned structure, and the behavior around partial vs. complete comparisons remains somewhat ambiguous.

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 provides titles and defaults but no descriptions, so the description fully compensates. Every parameter is explained with meaningful details: request_ids are tied to list_network_requests, include flags control comparison scope, and max_value_chars/max_fields clarify truncation and limits. It also adds important nuance about full-value digests and exact byte checks.

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 ('compare'), the resource ('captured requests'), and the valid count range (2..10). It also distinguishes this from live network actions by noting it does not issue requests or launch a browser, which separates it from siblings like intercept_request or launch_browser.

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 clear context that this is for comparing previously captured requests and that no live browser/network activity is involved, which implies when it should be used. It does not explicitly name alternatives or list when-not-to-use cases, but the workflow hint of using request_ids from list_network_requests provides enough guidance.

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