Skip to main content
Glama

link_map

Read-onlyIdempotent

PAID CAPABILITY ($0.003 USDC per successful link map via x402 v2). Maps one public HTML page's links into a categorized link map — kind internal/external plus topic tags (docs, pricing, api, careers, social, feed) with per-category counts, up to 200 links. This MCP call validates the target and returns the canonical x402 HTTP handoff; payment and the result are exchanged at GET https://api.santosautomation.com/v1/links?url=... (or POST {"url": "…"}). No account or API key is required.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesA publicly reachable HTTP or HTTPS page.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesExact URL to request, then pay for and retry.
methodYesHTTP method to use for the paid request.
networkYesCAIP-2 chain id, eip155:8453 (Base mainnet).
settlesNoWhen funds move.
protocolYesx402-v2
price_usdcYesPrice in USDC for one successful call.
payment_requiredYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedOutput schema / properties / free_preview_url
      Removed value: -{
      -  "description": "Free alternative, where one exists.",
      -  "format": "uri",
      -  "type": "string"
      -}
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "free_preview_url": {
      +      "description": "Free alternative, where one exists.",
      +      "format": "uri",
      +      "type": "string"
      +    },
      +    "method": {
      +      "description": "HTTP method to use for the paid request.",
      +      "type": "string"
      +    },
      +    "network": {
      +      "description": "CAIP-2 chain id, eip155:8453 (Base mainnet).",
      +      "type": "string"
      +    },
      +    "payment_required": {
      +      "const": true,
      +      "type": "boolean"
      +    },
      +    "price_usdc": {
      +      "description": "Price in USDC for one successful call.",
      +      "type": "string"
      +    },
      +    "protocol": {
      +      "description": "x402-v2",
      +      "type": "string"
      +    },
      +    "settles": {
      +      "description": "When funds move.",
      +      "type": "string"
      +    },
      +    "url": {
      +      "description": "Exact URL to request, then pay for and retry.",
      +      "format": "uri",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "payment_required",
      +    "protocol",
      +    "method",
      +    "url",
      +    "price_usdc",
      +    "network"
      +  ],
      +  "type": "object"
      +}
  3. Added

TDQS

A4.4/5.0
Behavior5/5

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

Despite readOnly/idempotent annotations, the description reveals critical extra behavior: this is a PAID capability with per-use cost, the MCP call only validates and returns an x402 handoff, and the actual payment/result exchange happens at a separate GET/POST endpoint. This two-stage flow is exactly the kind of behavior an agent needs and the annotations don't convey.

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 dense but well-organized: capability and cost first, then operational flow, then auth prerequisite. Slightly long, but every clause carries worthwhile information (categories, limit, handoff, endpoint, no key).

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 one-parameter tool with a full output schema and safety annotations, the description covers the paid workflow, the endpoint, the validation step, and the conditions of use. Nothing an agent needs to call it correctly 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 input schema already gives 100% coverage for the url parameter ('A publicly reachable HTTP or HTTPS page'). The description reinforces the need for a public HTML page and clarifies the one-page scope, but it doesn't add materially different parameter-level 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?

Description states a specific action ('Maps one public HTML page's links into a categorized link map'), gives output details (internal/external, topic tags, per-category counts, 200-link limit), and thereby distinguishes from siblings like extract_page_markdown or summarize.

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 clearly signals when to use: for a single public HTML page requiring categorized link extraction, and states the no-API-key prerequisite. It doesn't name an alternative tool or explicitly say when not to use it, but the context is clear enough for a single-purpose utility.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources