Skip to main content
Glama

Bulk open URLs (paid)

url.open_batch

Open up to 25 URLs in one request to obtain per-URL page risk scores and flags, enabling bulk URL safety checks.

Instructions

POST /v1/open/batch with JSON {urls:[...]}. Paid-only (stack X-54ch10-Stack or Bearer 54k_); no free path — HTTP 402 without credits. Cap 25 URLs per request. Server concurrency ~3; global inflight ~10. Prefer for allowlists; human bulk UI: https://linksafu.com/bulk. Each URL gets the same page_risk brief as GET /v1/open. Analytics-only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlsYesHTTP(S) URLs to open (1–25). Example: ['https://example.com','https://example.org'].

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.4

TDQS

A4.4/5.0
Behavior4/5

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

Annotations indicate readOnlyHint=false (not read-only), openWorldHint=true (makes external calls), idempotentHint=false (not idempotent), destructiveHint=false (not destructive). The description goes beyond by disclosing server concurrency limits and global inflight limits, which is valuable for rate-limit management. However, it doesn't explicitly state whether partial failures occur or how errors are handled for individual URLs, beyond a general page risk brief mention.

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 a single dense paragraph with all critical operational details front-loaded: endpoint, paid-only, cap, concurrency, and usage preference. It wastes no wordsholly but is a bit lengthy; it could be slightly more concise but every sentence contributes a key fact.

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 moderate complexity (one array parameter, no output schema), the description covers all necessary aspects: endpoint, auth requirements, limits, concurrency, usage guidance, and human alternative. The absence of an output schema is compensated by stating that each URL returns the same risk brief as another tool; no critical information is missing.

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 schema already provides a thorough description for the 'urls' parameter (HTTP(S) URLs, 1-25, max length, example). The description adds the fact that each URL receives the same page_risk brief as the single GET endpoint, which is useful but not essential. Since schema description coverage is 100%, the description does not need to add more, but what it adds is minimal beyond the 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 clearly specifies the action (bulk open URLs), the method (POST endpoint), and the exact resource (v1/open/batch). It distinguishes itself from the single-URL sibling tools like url.open by emphasizing 'bulk' and the endpoint. The title 'Bulk open URLs' is reinforced, and the description clarifies it's a paid feature, which is a distinct purpose.

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 explicitly states when to prefer this tool ('Prefer for allowlists') and points to a human alternative ('human bulk UI: https://linksafu.com/bulk'). It also implies when not to use it (e.g., for single URL analysis, use url.open). The paid-only nature is clearly stated with the 402 error without credits, guiding the agent away from attempting without proper setup.

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