# URL to Markdown API — ScriptMasterLabs (remote · squeezeos-api.onrender.com)

$0.001/read URL-to-Markdown via x402 on Base. Settle-proven end-to-end 2026-11-02 (SELF-PROOF).

- Trust score: 70/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `squeezeos-api.onrender.com`: 70/100 (this document), [markdown](https://verifymcp.io/servers/com-scriptmasterlabs-url-to-markdown/mcp-url-to-markdown.md), [page](https://verifymcp.io/servers/com-scriptmasterlabs-url-to-markdown/mcp-url-to-markdown)

## Channel facts

- Endpoint: `https://squeezeos-api.onrender.com/mcp/url-to-markdown`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.3`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (execute_capability).
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 73/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 3563 tokens (~161/item across 22 items; 22 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 23 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the URL to Markdown API — ScriptMasterLabs MCP server?

URL to Markdown API — ScriptMasterLabs is a hosted endpoint at https://squeezeos-api.onrender.com/mcp/url-to-markdown, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-scriptmasterlabs-url-to-markdown 'https://squeezeos-api.onrender.com/mcp/url-to-markdown'
```

### Cursor

```json
{
  "mcpServers": {
    "com-scriptmasterlabs-url-to-markdown": {
      "url": "https://squeezeos-api.onrender.com/mcp/url-to-markdown"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-scriptmasterlabs-url-to-markdown": {
      "type": "http",
      "url": "https://squeezeos-api.onrender.com/mcp/url-to-markdown"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-scriptmasterlabs-url-to-markdown]
url = "https://squeezeos-api.onrender.com/mcp/url-to-markdown"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-scriptmasterlabs-url-to-markdown": {
      "type": "remote",
      "url": "https://squeezeos-api.onrender.com/mcp/url-to-markdown",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-scriptmasterlabs-url-to-markdown --url 'https://squeezeos-api.onrender.com/mcp/url-to-markdown' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-scriptmasterlabs-url-to-markdown:
    url: "https://squeezeos-api.onrender.com/mcp/url-to-markdown"
```

### Netclaw

```json
{
  "McpServers": {
    "com-scriptmasterlabs-url-to-markdown": {
      "Transport": "http",
      "Url": "https://squeezeos-api.onrender.com/mcp/url-to-markdown"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-scriptmasterlabs-url-to-markdown -t streamable-http -u 'https://squeezeos-api.onrender.com/mcp/url-to-markdown'
```

### Other

```json
{
  "mcpServers": {
    "com-scriptmasterlabs-url-to-markdown": {
      "type": "http",
      "url": "https://squeezeos-api.onrender.com/mcp/url-to-markdown"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-04 (score 70, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-02 (score 69, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-31 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-29 (score 67, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] The server changed its declared name: squeezeos → SCRIPTMASTERLABS — SqueezeOS
- [functional improvement] Stability: unverified → 0.03
- [functional] MCP protocol: Implements a current MCP spec version (2026-07-28).
- [functional] MCP protocol version: 2025-11-25 → 2026-07-28

### 2026-10-28 (score 66)

First indexed and scored.

## MCP tools (22)

### `discover_capabilities` (~184 tokens)

Discover Capabilities

Search the live SqueezeOS capability inventory by keyword. Use this when an agent needs to find which SML APIs exist for a task before calling anything. Returns a ranked list of matching capabilities with endpoint and payment metadata; lexical mode is always available and unified mode may add evidence-backed semantic context without fabricating scores. Read-only and idempotent; no side effects. On error, returns a structured error instead of results. For example, query 'stock quotes' to discover the quote endpoints and their x402 prices.

Input parameters:

- `limit` (integer): Max results to return, 1-50. Default 10.
- `mode` (string): 'lexical' for keyword search (always available) or 'unified' to add evidence-backed semantic context. Default 'lexical'.
- `query` (string, required): Natural-language search text, 1-500 characters.

Output parameters:

- `auto_spent`
- `body`: Unmodified upstream JSON, or bounded response text. Consult that capability's live schema.
- `caller_supplied_authorization` (boolean)
- `charged`: Present on local/transport failures; these do not establish an upstream charge.
- `content_type` (string)
- `error` (string)
- `message` (string)
- `ok` (boolean): Whether the upstream HTTP status is 2xx; not settlement proof.
- `payment_required` (string): Observed PAYMENT-REQUIRED header; a challenge does not prove payment.
- `payment_response` (string): Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.
- `status_code` (integer|null): Observed upstream HTTP status, or null when no response was obtained.
- `substituted`

### `recommend_capability` (~149 tokens)

Recommend Capability

Return the best-matching SqueezeOS capabilities for a natural-language need. Call this when an agent knows the goal, for example 'convert a URL to Markdown', but not which SML API serves it. Returns ranked capabilities with live endpoint and x402 payment metadata plus suggested next actions. Read-only and idempotent; no side effects. On error, returns a structured error. For example, ask 'which API verifies a fact' to get the fact-verification endpoint and its price.

Input parameters:

- `limit` (integer): Max recommendations to return, 1-20. Default 5.
- `query` (string, required): Natural-language description of what the agent needs, 1-500 characters.

Output parameters:

- `auto_spent`
- `body`: Unmodified upstream JSON, or bounded response text. Consult that capability's live schema.
- `caller_supplied_authorization` (boolean)
- `charged`: Present on local/transport failures; these do not establish an upstream charge.
- `content_type` (string)
- `error` (string)
- `message` (string)
- `ok` (boolean): Whether the upstream HTTP status is 2xx; not settlement proof.
- `payment_required` (string): Observed PAYMENT-REQUIRED header; a challenge does not prove payment.
- `payment_response` (string): Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.
- `status_code` (integer|null): Observed upstream HTTP status, or null when no response was obtained.
- `substituted`

### `list_playbooks` (~207 tokens)

List Playbooks

Filter the public ScriptMasterLabs Google Play book catalog for the job a reader is working on, for example 'x402 payments' or 'options trading'. Returns up to 10 matching titles with each book's GGKEY, Google Play URL, and Google Play list price. Free, read-only and idempotent; no side effects. Prices are Google's list prices from the 2026-10-09 catalog export - not a quote you can pay here. This tool does not sell the book, does not return the PDF, and will not accept USDC for it. If the human wants the file, give them the google_play_url. For example, list playbooks for 'MCP server security' and hand the human the Play URLs.

Input parameters:

- `job` (string, required): What the reader is working on, 1-500 characters, e.g. 'x402 payments'.
- `limit` (integer): Max titles to return, 1-10. Default 10.

Output parameters:

- `auto_spent`
- `body`: Unmodified upstream JSON, or bounded response text. Consult that capability's live schema.
- `caller_supplied_authorization` (boolean)
- `charged`: Present on local/transport failures; these do not establish an upstream charge.
- `content_type` (string)
- `error` (string)
- `message` (string)
- `ok` (boolean): Whether the upstream HTTP status is 2xx; not settlement proof.
- `payment_required` (string): Observed PAYMENT-REQUIRED header; a challenge does not prove payment.
- `payment_response` (string): Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.
- `status_code` (integer|null): Observed upstream HTTP status, or null when no response was obtained.
- `substituted`

### `inspect_capability` (~152 tokens)

Inspect Capability

Inspect one live SqueezeOS capability by its sml_id. Use this when an agent has a candidate capability and needs its exact endpoint, parameters, and x402 payment terms before calling. Returns real endpoint and payment metadata plus, when safe, a real liveness probe rather than an invented reliability score. Read-only and idempotent; no side effects. On error, returns a structured error. For example, inspect 'url-to-markdown' to confirm its price and required payment-signature header.

Input parameters:

- `probe` (boolean): When true, performs a real liveness probe of the capability. Default true.
- `sml_id` (string, required): The capability's sml_id from discovery, 1-500 characters.

Output parameters:

- `auto_spent`
- `body`: Unmodified upstream JSON, or bounded response text. Consult that capability's live schema.
- `caller_supplied_authorization` (boolean)
- `charged`: Present on local/transport failures; these do not establish an upstream charge.
- `content_type` (string)
- `error` (string)
- `message` (string)
- `ok` (boolean): Whether the upstream HTTP status is 2xx; not settlement proof.
- `payment_required` (string): Observed PAYMENT-REQUIRED header; a challenge does not prove payment.
- `payment_response` (string): Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.
- `status_code` (integer|null): Observed upstream HTTP status, or null when no response was obtained.
- `substituted`

### `compare_capabilities` (~141 tokens)

Compare Capabilities

Compare 2-5 live SqueezeOS capabilities side by side using real metadata. Use this when an agent must choose between similar APIs, for example weighing price against coverage. Returns the same real endpoint and payment fields inspect_capability returns for each candidate; no fabricated composite score is produced. Read-only and idempotent; no side effects. On error, returns a structured error. For example, compare two web-reader capabilities before routing a research task.

Input parameters:

- `probe` (boolean): When true, performs a real liveness probe of each capability. Default true.
- `sml_ids` (array, required): Array of 2-5 sml_id values to compare.

Output parameters:

- `auto_spent`
- `body`: Unmodified upstream JSON, or bounded response text. Consult that capability's live schema.
- `caller_supplied_authorization` (boolean)
- `charged`: Present on local/transport failures; these do not establish an upstream charge.
- `content_type` (string)
- `error` (string)
- `message` (string)
- `ok` (boolean): Whether the upstream HTTP status is 2xx; not settlement proof.
- `payment_required` (string): Observed PAYMENT-REQUIRED header; a challenge does not prove payment.
- `payment_response` (string): Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.
- `status_code` (integer|null): Observed upstream HTTP status, or null when no response was obtained.
- `substituted`

### `capability_manifest` (~105 tokens)

Capability Manifest

Read the canonical machine capability manifest generated from the live Flask route table. Use this when an agent needs the authoritative full inventory of SqueezeOS products, schemas, and payment metadata in one document instead of querying tools one by one. Returns the manifest JSON; this is the canonical product-inventory authority for MCP discovery. Read-only and idempotent; no side effects. On error, returns a structured error. For example, fetch it once at session start to cache the product catalog.

Output parameters:

- `auto_spent`
- `body`: Unmodified upstream JSON, or bounded response text. Consult that capability's live schema.
- `caller_supplied_authorization` (boolean)
- `charged`: Present on local/transport failures; these do not establish an upstream charge.
- `content_type` (string)
- `error` (string)
- `message` (string)
- `ok` (boolean): Whether the upstream HTTP status is 2xx; not settlement proof.
- `payment_required` (string): Observed PAYMENT-REQUIRED header; a challenge does not prove payment.
- `payment_response` (string): Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.
- `status_code` (integer|null): Observed upstream HTTP status, or null when no response was obtained.
- `substituted`

### `x402_contract` (~108 tokens)

X402 Contract

Read the canonical SqueezeOS x402 v2 discovery contract. Use this when an agent needs the payment protocol's rules, for example challenge and response header names, before attempting any paid call. Returns the contract document; exact spend terms remain authoritative only in the target resource's fresh PAYMENT-REQUIRED challenge. Read-only and idempotent; no side effects. On error, returns a structured error. For example, read it once per session to learn the PAYMENT-SIGNATURE header name.

Output parameters:

- `auto_spent`
- `body`: Unmodified upstream JSON, or bounded response text. Consult that capability's live schema.
- `caller_supplied_authorization` (boolean)
- `charged`: Present on local/transport failures; these do not establish an upstream charge.
- `content_type` (string)
- `error` (string)
- `message` (string)
- `ok` (boolean): Whether the upstream HTTP status is 2xx; not settlement proof.
- `payment_required` (string): Observed PAYMENT-REQUIRED header; a challenge does not prove payment.
- `payment_response` (string): Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.
- `status_code` (integer|null): Observed upstream HTTP status, or null when no response was obtained.
- `substituted`

### `x402_readiness` (~96 tokens)

X402 Readiness

Check the live x402 payment-rail readiness surface. Call this when an agent is about to attempt a paid call and wants to confirm the rail is up before building a payment signature. Returns the current readiness status of the canonical SqueezeOS payment rail. Read-only and idempotent; no side effects. On error, returns a structured error. For example, check readiness before a batch of paid URL-to-Markdown calls.

Output parameters:

- `auto_spent`
- `body`: Unmodified upstream JSON, or bounded response text. Consult that capability's live schema.
- `caller_supplied_authorization` (boolean)
- `charged`: Present on local/transport failures; these do not establish an upstream charge.
- `content_type` (string)
- `error` (string)
- `message` (string)
- `ok` (boolean): Whether the upstream HTTP status is 2xx; not settlement proof.
- `payment_required` (string): Observed PAYMENT-REQUIRED header; a challenge does not prove payment.
- `payment_response` (string): Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.
- `status_code` (integer|null): Observed upstream HTTP status, or null when no response was obtained.
- `substituted`

### `x402_evidence` (~95 tokens)

X402 Evidence

Read real settlement evidence recorded by the canonical x402 rail. Use this when an agent or auditor needs proof that a past payment actually settled in USDC on Base; a challenge or signature alone is never treated as revenue or settlement proof. Returns recorded settlement receipts. Read-only and idempotent; no side effects. On error, returns a structured error. For example, pull evidence for a disputed charge before deciding a refund.

Output parameters:

- `auto_spent`
- `body`: Unmodified upstream JSON, or bounded response text. Consult that capability's live schema.
- `caller_supplied_authorization` (boolean)
- `charged`: Present on local/transport failures; these do not establish an upstream charge.
- `content_type` (string)
- `error` (string)
- `message` (string)
- `ok` (boolean): Whether the upstream HTTP status is 2xx; not settlement proof.
- `payment_required` (string): Observed PAYMENT-REQUIRED header; a challenge does not prove payment.
- `payment_response` (string): Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.
- `status_code` (integer|null): Observed upstream HTTP status, or null when no response was obtained.
- `substituted`

### `system_status` (~86 tokens)

System Status

Read the live SqueezeOS status endpoint. Use this when an agent needs a quick health check of the API host before starting paid work. Returns the live status payload; the MCP server never synthesizes cluster-health or synchronization claims. Read-only and idempotent; no side effects. On error, returns a structured error. For example, check status first if paid calls start timing out.

Output parameters:

- `auto_spent`
- `body`: Unmodified upstream JSON, or bounded response text. Consult that capability's live schema.
- `caller_supplied_authorization` (boolean)
- `charged`: Present on local/transport failures; these do not establish an upstream charge.
- `content_type` (string)
- `error` (string)
- `message` (string)
- `ok` (boolean): Whether the upstream HTTP status is 2xx; not settlement proof.
- `payment_required` (string): Observed PAYMENT-REQUIRED header; a challenge does not prove payment.
- `payment_response` (string): Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.
- `status_code` (integer|null): Observed upstream HTTP status, or null when no response was obtained.
- `substituted`

### `url_to_markdown` (~250 tokens)

Url To Markdown

URL to Markdown — convert any public HTTPS URL to clean LLM-ready Markdown for $0.001 USDC per accepted read, settled via x402 on Base. Failed reads are never charged. Use this when an agent needs a web page's content as compact Markdown, for example to ground a research answer. Returns the converted Markdown up to max_chars. An unsigned call returns the live x402 PAYMENT-REQUIRED challenge and never auto-spends; retry only with a challenge-specific payment_signature. A free fixed-source preview is at GET /api/web/preview and agent onboarding at GET /api/web/skill.md. Unsigned calls are read-only and idempotent with no side effects; a supplied signature authorizes one paid, irreversible x402 settlement in USDC on Base. On error, returns a structured error. For example, fetch a documentation page before summarizing it.

Input parameters:

- `max_chars` (integer): Maximum Markdown characters to return, 1000-50000. Default 12000.
- `payment_signature` (string): Canonical x402 v2 PAYMENT-SIGNATURE bound to this exact URL to Markdown challenge.
- `url` (string, required): Public HTTPS URL to read.

Output parameters:

- `auto_spent`
- `body`: Unmodified upstream JSON, or bounded response text. Consult that capability's live schema.
- `caller_supplied_authorization` (boolean)
- `charged`: Present on local/transport failures; these do not establish an upstream charge.
- `content_type` (string)
- `error` (string)
- `message` (string)
- `ok` (boolean): Whether the upstream HTTP status is 2xx; not settlement proof.
- `payment_required` (string): Observed PAYMENT-REQUIRED header; a challenge does not prove payment.
- `payment_response` (string): Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.
- `status_code` (integer|null): Observed upstream HTTP status, or null when no response was obtained.
- `substituted`

### `gamma_sonar` (~249 tokens)

Gamma Sonar

Get the dealer gamma-exposure (GEX) and pin-risk map for one US ticker from live Tradier option chains: long/short gamma regime, zero-gamma flip line, call and put walls, max open-interest pin strike, and the full per-strike GEX ladder. Use this when an agent needs to know where options dealers are forced to hedge, for example before judging whether a move is likely to be dampened or amplified. An unsigned call returns the live x402 PAYMENT-REQUIRED challenge (USDC on Base; the challenge states the exact price) and never auto-spends; retry only with a challenge-specific payment_signature. If no chain, spot price, or open interest exists, it returns an honest not-available result and nothing is charged. A supplied signature authorizes one paid, irreversible x402 settlement. Informational market structure, not investment advice. For example, check SPY's zero-gamma line before the open.

Input parameters:

- `payment_signature` (string): Canonical x402 v2 PAYMENT-SIGNATURE bound to this exact challenge.
- `symbol` (string, required): US equity or ETF ticker, e.g. SPY, GME, NVDA.

Output parameters:

- `auto_spent`
- `body`: Unmodified upstream JSON, or bounded response text. Consult that capability's live schema.
- `caller_supplied_authorization` (boolean)
- `charged`: Present on local/transport failures; these do not establish an upstream charge.
- `content_type` (string)
- `error` (string)
- `message` (string)
- `ok` (boolean): Whether the upstream HTTP status is 2xx; not settlement proof.
- `payment_required` (string): Observed PAYMENT-REQUIRED header; a challenge does not prove payment.
- `payment_response` (string): Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.
- `status_code` (integer|null): Observed upstream HTTP status, or null when no response was obtained.
- `substituted`

### `ticker_dossier` (~236 tokens)

Ticker Dossier

Get a one-call intelligence profile for one US ticker: live quote, dealer gamma regime/walls/pin, unusual options flow, squeeze score, SEC fails-to-deliver plus Reg SHO threshold-list status, and the Oracle directive. Use this when an agent needs a full picture of a stock in a single paid call instead of stitching several sources together. Sections that are unavailable are labeled with a reason, never filled in, and a coverage field lists which are live. An unsigned call returns the live x402 PAYMENT-REQUIRED challenge (USDC on Base; the challenge states the exact price) and never auto-spends; retry only with a challenge-specific payment_signature. Without a live price it returns an honest not-available result and nothing is charged. A supplied signature authorizes one paid, irreversible x402 settlement. Not investment advice. For example, profile GME before writing a research note.

Input parameters:

- `payment_signature` (string): Canonical x402 v2 PAYMENT-SIGNATURE bound to this exact challenge.
- `symbol` (string, required): US equity or ETF ticker, e.g. SPY, GME, NVDA.

Output parameters:

- `auto_spent`
- `body`: Unmodified upstream JSON, or bounded response text. Consult that capability's live schema.
- `caller_supplied_authorization` (boolean)
- `charged`: Present on local/transport failures; these do not establish an upstream charge.
- `content_type` (string)
- `error` (string)
- `message` (string)
- `ok` (boolean): Whether the upstream HTTP status is 2xx; not settlement proof.
- `payment_required` (string): Observed PAYMENT-REQUIRED header; a challenge does not prove payment.
- `payment_response` (string): Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.
- `status_code` (integer|null): Observed upstream HTTP status, or null when no response was obtained.
- `substituted`

### `commit_discover_effects` (~121 tokens)

Commit Discover Effects

List the SML Commit effect atlas: every registered action, target system, owner, and cap a commit check can authorize. Use this when an agent needs to quote or validate a commit check and must cite the exact registered effect terms. Returns the live atlas. Read-only and idempotent; no side effects. This tool never calls the paid check itself (POST /v1/commit, $0.001 USDC). On error, returns a structured error. For example, list effects before asking whether a cron change is committable.

Output parameters:

- `auto_spent`
- `body`: Unmodified upstream JSON, or bounded response text. Consult that capability's live schema.
- `caller_supplied_authorization` (boolean)
- `charged`: Present on local/transport failures; these do not establish an upstream charge.
- `content_type` (string)
- `error` (string)
- `message` (string)
- `ok` (boolean): Whether the upstream HTTP status is 2xx; not settlement proof.
- `payment_required` (string): Observed PAYMENT-REQUIRED header; a challenge does not prove payment.
- `payment_response` (string): Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.
- `status_code` (integer|null): Observed upstream HTTP status, or null when no response was obtained.
- `substituted`

### `commit_read_terms` (~90 tokens)

Commit Read Terms

Read the live SML Commit terms: price, decision outcomes, and rules. Use this when an agent needs the exact commit-check terms to quote to a caller before any payment. Returns the terms document. Read-only and idempotent; no side effects. On error, returns a structured error. For example, read terms to confirm the $0.001 USDC price before quoting a commit check.

Output parameters:

- `auto_spent`
- `body`: Unmodified upstream JSON, or bounded response text. Consult that capability's live schema.
- `caller_supplied_authorization` (boolean)
- `charged`: Present on local/transport failures; these do not establish an upstream charge.
- `content_type` (string)
- `error` (string)
- `message` (string)
- `ok` (boolean): Whether the upstream HTTP status is 2xx; not settlement proof.
- `payment_required` (string): Observed PAYMENT-REQUIRED header; a challenge does not prove payment.
- `payment_response` (string): Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.
- `status_code` (integer|null): Observed upstream HTTP status, or null when no response was obtained.
- `substituted`

### `read_capability` (~146 tokens)

Read Capability

Read one public SqueezeOS REST path with GET. Cannot accept payment authorization, a request body, or another HTTP method. Returns data or the unchanged unpaid x402 challenge with no-spend alternatives. Never signs or settles a payment. Operator routes and off-host URLs are denied. API schemas: https://squeezeos-api.onrender.com/.well-known/openapi.json.

Input parameters:

- `alternative_intent` (string): Optional natural-language intent used to rank the closest SML alternative after an unsigned HTTP 402.
- `path` (string, required): Concrete SqueezeOS path beginning with /; do not pass a full URL.
- `query` (object): Optional object of URL query parameters.

Output parameters:

- `auto_spent`
- `body`: Unmodified upstream JSON, or bounded response text. Consult that capability's live schema.
- `caller_supplied_authorization` (boolean)
- `charged`: Present on local/transport failures; these do not establish an upstream charge.
- `content_type` (string)
- `error` (string)
- `message` (string)
- `ok` (boolean): Whether the upstream HTTP status is 2xx; not settlement proof.
- `payment_required` (string): Observed PAYMENT-REQUIRED header; a challenge does not prove payment.
- `payment_response` (string): Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.
- `status_code` (integer|null): Observed upstream HTTP status, or null when no response was obtained.
- `substituted`

### `execute_capability` (~228 tokens)

Execute Capability

Execute one public SqueezeOS REST path with POST after confirm_write=true. Returns the target result or its x402 challenge. A caller-signed payment_signature may authorize the published SML service fee; the server does not sign wallets. May create records or settle an authorized fee. Operator routes and off-host URLs are denied. API schemas: https://squeezeos-api.onrender.com/.well-known/openapi.json.

Input parameters:

- `alternative_intent` (string): Optional natural-language intent used to rank the closest SML alternative after an unsigned HTTP 402.
- `body` (object|array|string|number|boolean|null): Optional request body for POST: object, array, string, number, boolean, or null.
- `confirm_write` (boolean, required): Explicitly authorize this POST operation.
- `path` (string, required): Concrete SqueezeOS path beginning with /; do not pass a full URL.
- `payment_signature` (string): Canonical x402 v2 PAYMENT-SIGNATURE value bound to this exact target-resource challenge.
- `query` (object): Optional object of URL query parameters.

Output parameters:

- `auto_spent`
- `body`: Unmodified upstream JSON, or bounded response text. Consult that capability's live schema.
- `caller_supplied_authorization` (boolean)
- `charged`: Present on local/transport failures; these do not establish an upstream charge.
- `content_type` (string)
- `error` (string)
- `message` (string)
- `ok` (boolean): Whether the upstream HTTP status is 2xx; not settlement proof.
- `payment_required` (string): Observed PAYMENT-REQUIRED header; a challenge does not prove payment.
- `payment_response` (string): Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.
- `status_code` (integer|null): Observed upstream HTTP status, or null when no response was obtained.
- `substituted`

### `purchase_capability_read` (~186 tokens)

Purchase Capability Read

Retrieve one paid SqueezeOS REST path with GET using caller-signed authorization for that exact resource's fresh x402 challenge. May settle an irreversible published SML service fee; returns delivery and payment-response evidence. Cannot change the HTTP method or send a request body. The server never creates wallet signatures. Operator routes and off-host URLs are denied. API schemas: https://squeezeos-api.onrender.com/.well-known/openapi.json.

Input parameters:

- `alternative_intent` (string): Optional natural-language intent used to rank the closest SML alternative after an unsigned HTTP 402.
- `path` (string, required): Concrete SqueezeOS path beginning with /; do not pass a full URL.
- `payment_signature` (string, required): Canonical x402 v2 PAYMENT-SIGNATURE value bound to this exact target-resource challenge.
- `query` (object): Optional object of URL query parameters.

Output parameters:

- `auto_spent`
- `body`: Unmodified upstream JSON, or bounded response text. Consult that capability's live schema.
- `caller_supplied_authorization` (boolean)
- `charged`: Present on local/transport failures; these do not establish an upstream charge.
- `content_type` (string)
- `error` (string)
- `message` (string)
- `ok` (boolean): Whether the upstream HTTP status is 2xx; not settlement proof.
- `payment_required` (string): Observed PAYMENT-REQUIRED header; a challenge does not prove payment.
- `payment_response` (string): Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.
- `status_code` (integer|null): Observed upstream HTTP status, or null when no response was obtained.
- `substituted`

### `aftersearch_resolve` (~160 tokens)

Aftersearch Resolve

Convert a natural-language query into machine intent, a bounded Evidence Pack, and one immutable x402 job with a fresh quote pointer. Use this when an agent needs to turn a what-would-I-Google question into a priced, quotable evidence job before any payment. Returns the immutable job_id plus the public job summary; on invalid input returns a structured input_rejected error instead of a job. Creates one server-side job record per call (a side effect) but never spends or moves funds. For example, asking whether a token contract is safe becomes an intent-scored Evidence Pack with fresh PAYMENT-REQUIRED terms.

Input parameters:

- `query` (string, required): The natural-language question to compile into intent and an Evidence Pack (1-60000 chars).

Output parameters:

- `auto_spent`
- `body`: Unmodified upstream JSON, or bounded response text. Consult that capability's live schema.
- `caller_supplied_authorization` (boolean)
- `charged`: Present on local/transport failures; these do not establish an upstream charge.
- `content_type` (string)
- `error` (string)
- `message` (string)
- `ok` (boolean): Whether the upstream HTTP status is 2xx; not settlement proof.
- `payment_required` (string): Observed PAYMENT-REQUIRED header; a challenge does not prove payment.
- `payment_response` (string): Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.
- `status_code` (integer|null): Observed upstream HTTP status, or null when no response was obtained.
- `substituted`

### `aftersearch_verify_serp` (~180 tokens)

Aftersearch Verify Serp

Verify pasted SERP or AI-answer text, or one caller-provided public URL, against retrieved sources. Use this when an agent needs a confirm, contradict, or missing verdict with cited sources before quoting or paying for evidence. Returns the verdict plus sources with URLs, retrieval timestamps, and content hashes; on unreachable sources returns a structured error (source_unavailable) instead of a verdict. Creates one immutable job record per call (a side effect); may fetch the single caller-provided URL and never spends. For example, paste an AI answer claiming a token launch date to check it against live sources.

Input parameters:

- `serp_text_or_url` (string, required): Pasted SERP/AI text or one public URL to verify (1-60000 chars). No Google scraping is performed; only caller-supplied text or the single provided URL is used.

Output parameters:

- `auto_spent`
- `body`: Unmodified upstream JSON, or bounded response text. Consult that capability's live schema.
- `caller_supplied_authorization` (boolean)
- `charged`: Present on local/transport failures; these do not establish an upstream charge.
- `content_type` (string)
- `error` (string)
- `message` (string)
- `ok` (boolean): Whether the upstream HTTP status is 2xx; not settlement proof.
- `payment_required` (string): Observed PAYMENT-REQUIRED header; a challenge does not prove payment.
- `payment_response` (string): Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.
- `status_code` (integer|null): Observed upstream HTTP status, or null when no response was obtained.
- `substituted`

### `aftersearch_quote` (~154 tokens)

Aftersearch Quote

Return fresh x402 PAYMENT-REQUIRED terms for one immutable job. Call this when an agent holds a job_id and needs the current USDC price and payment instructions before deciding to pay; a 402 challenge is a quote, never payment. Returns the price in USDC, the pay_to address, network, and asset for that exact job; on an unknown job_id returns a structured job_not_found error. Read-only and idempotent; no side effects. For example, quoting a job_id returned by aftersearch_resolve yields its exact USDC terms for this job only.

Input parameters:

- `job_id` (string, required): The 24-char hex job_id returned by aftersearch_resolve or aftersearch_verify_serp.

Output parameters:

- `auto_spent`
- `body`: Unmodified upstream JSON, or bounded response text. Consult that capability's live schema.
- `caller_supplied_authorization` (boolean)
- `charged`: Present on local/transport failures; these do not establish an upstream charge.
- `content_type` (string)
- `error` (string)
- `message` (string)
- `ok` (boolean): Whether the upstream HTTP status is 2xx; not settlement proof.
- `payment_required` (string): Observed PAYMENT-REQUIRED header; a challenge does not prove payment.
- `payment_response` (string): Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.
- `status_code` (integer|null): Observed upstream HTTP status, or null when no response was obtained.
- `substituted`

### `aftersearch_accept` (~181 tokens)

Aftersearch Accept

Get accepted delivery for one immutable job with caller-supplied x402 authorization. Use this when an agent holds fresh PAYMENT-REQUIRED terms and the caller approves the spend; the caller supplies payment_response as the PAYMENT-SIGNATURE value and SML never signs or spends. Returns the Evidence Pack plus the PAYMENT-RESPONSE receipt; on missing authorization returns a fresh 402 challenge, on a bad job_id a structured error. With valid caller authorization, settles an irreversible USDC payment and persists a receipt; the stored job remains immutable. For example, accepting a quoted job delivers the full Evidence Pack with settlement proof.

Input parameters:

- `job_id` (string, required): The 24-char hex job_id being settled.
- `payment_response` (string, required): The caller x402 payment authorization payload for this exact job, supplied as the PAYMENT-SIGNATURE value for this job.

Output parameters:

- `auto_spent`
- `body`: Unmodified upstream JSON, or bounded response text. Consult that capability's live schema.
- `caller_supplied_authorization` (boolean)
- `charged`: Present on local/transport failures; these do not establish an upstream charge.
- `content_type` (string)
- `error` (string)
- `message` (string)
- `ok` (boolean): Whether the upstream HTTP status is 2xx; not settlement proof.
- `payment_required` (string): Observed PAYMENT-REQUIRED header; a challenge does not prove payment.
- `payment_response` (string): Observed PAYMENT-RESPONSE header. Assess it together with accepted delivery.
- `status_code` (integer|null): Observed upstream HTTP status, or null when no response was obtained.
- `substituted`

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-scriptmasterlabs-url-to-markdown/mcp-url-to-markdown#diagnostics

## Score history

- 2026-11-05: 70
- 2026-11-04: 70
- 2026-11-03: 69
- 2026-11-02: 69
- 2026-11-01: 68
- 2026-10-31: 68
- 2026-10-30: 67
- 2026-10-29: 67
- 2026-10-28: 66

## Common questions

### What is the URL to Markdown API — ScriptMasterLabs MCP server?

URL to Markdown API — ScriptMasterLabs is an MCP server listed in the public MCP registry as com.scriptmasterlabs/url-to-markdown. $0.001/read URL-to-Markdown via x402 on Base. Settle-proven end-to-end 2026-11-02 (SELF-PROOF). This page covers its hosted endpoint (https://squeezeos-api.onrender.com/mcp/url-to-markdown).

### Is the URL to Markdown API — ScriptMasterLabs MCP server safe to use?

URL to Markdown API — ScriptMasterLabs scores 70 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the URL to Markdown API — ScriptMasterLabs MCP server expose?

URL to Markdown API — ScriptMasterLabs exposes 22 tools: discover_capabilities, recommend_capability, list_playbooks, inspect_capability, compare_capabilities, and 17 more. Their descriptions and schemas cost roughly 3,504 tokens of context every time the server is loaded.

### Does the URL to Markdown API — ScriptMasterLabs MCP server require authentication?

No. We connected to URL to Markdown API — ScriptMasterLabs without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the URL to Markdown API — ScriptMasterLabs MCP server still maintained?

URL to Markdown API — ScriptMasterLabs is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://squeezeos-api.onrender.com/mcp/url-to-markdown
- Website: https://scriptmasterlabs.com/url-to-markdown-api
- Changelog RSS feed: https://verifymcp.io/servers/com-scriptmasterlabs-url-to-markdown/mcp-url-to-markdown.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-scriptmasterlabs-url-to-markdown/mcp-url-to-markdown.json
- HTML version of this page: https://verifymcp.io/servers/com-scriptmasterlabs-url-to-markdown/mcp-url-to-markdown
