Skip to content

URL to Markdown API — ScriptMasterLabs

com.scriptmasterlabs/url-to-markdownscriptmasterlabs.comstreamable-httpv1.0.0Scanned

URL to Markdown for AI agents: $0.001 USDC per accepted read via x402 on Base. Failed reads free.

22 tools: 2 can delete or cancel things, 4 do something that can't be undone, 5 change things and 11 only read.

Tools: 2 delete, 4 irreversible, 5 write, 11 read.
  • Reads private data · 1
  • Reads text others write · 22
  • Can send data out · 1
  • 2 findings

Anlyon alternative

11 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

22 tools

Deletes or cancels 2Claude Code: deny
  • execute_capabilityExecute one public SqueezeOS REST path with POST after confirm_write=true.Reads text others writeNo findings

    Why it is in this group

    • The name "execute_capability" says "execute": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Execute Capability
  • purchase_capability_readRetrieve one paid SqueezeOS REST path with GET using caller-signed authorization for that exact resource's fresh x402 challenge.Reads text others writeNo findings

    Why it is in this group

    • The name "purchase_capability_read" says "purchase": a word that usually means money moves, which cannot be taken back.
    • The description says "irreversible".
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Purchase Capability Read
Can't be undone 4Claude Code: ask
  • aftersearch_acceptGet accepted delivery for one immutable job with caller-supplied x402 authorization.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    • The description says "irreversible".

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Aftersearch Accept
  • gamma_sonarGet 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-…Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    • The description says "irreversible".

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Gamma Sonar
  • ticker_dossierGet 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-l…Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    • The description says "irreversible".

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Ticker Dossier
  • url_to_markdownURL to Markdown — convert any public HTTPS URL to clean LLM-ready Markdown for $0.001 USDC per accepted read, settled via x402 on Base.Reads text others writeCan send data outNo findings

    Why it is in this group

    • The description says "irreversible".

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Url To Markdown
Changes things 5Claude Code: ask
  • aftersearch_resolveConvert a natural-language query into machine intent, a bounded Evidence Pack, and one immutable x402 job with a fresh quote pointer.Reads text others writeNo findings

    Why it is in this group

    • The name "aftersearch_resolve" says "resolve": a word for reading.
    • The description's first verb is "convert": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Aftersearch Resolve
  • aftersearch_verify_serpVerify pasted SERP or AI-answer text, or one caller-provided public URL, against retrieved sources.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Aftersearch Verify Serp
  • commit_discover_effectsList the SML Commit effect atlas: every registered action, target system, owner, and cap a commit check can authorize.Reads text others write1 finding

    Why it is in this group

    • The name "commit_discover_effects" says "commit": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "commit_discover_effects" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "commit_discover_effects" says "commit": a word for a change.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: Commit Discover Effects
  • commit_read_termsRead the live SML Commit terms: price, decision outcomes, and rules.Reads text others write1 finding

    Why it is in this group

    • The name "commit_read_terms" says "commit": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "commit_read_terms" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "commit_read_terms" says "commit": a word for a change.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: Commit Read Terms
  • x402_readinessCheck the live x402 payment-rail readiness surface.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: X402 Readiness
Only reads 11Show 11 read-only tools
  • aftersearch_quoteReturn fresh x402 PAYMENT-REQUIRED terms for one immutable job.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: Aftersearch Quote
  • capability_manifestRead the canonical machine capability manifest generated from the live Flask route table.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The description's first verb is "read": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "read" and "table": it reads databases.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: Capability Manifest
  • compare_capabilitiesCompare 2-5 live SqueezeOS capabilities side by side using real metadata.Reads text others writeNo findings

    Why it is in this group

    • The name "compare_capabilities" says "compare": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: Compare Capabilities
  • discover_capabilitiesSearch the live SqueezeOS capability inventory by keyword.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "search": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: Discover Capabilities
  • inspect_capabilityInspect one live SqueezeOS capability by its sml_id.Reads text others writeNo findings

    Why it is in this group

    • The name "inspect_capability" says "inspect": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: Inspect Capability
  • list_playbooksFilter the public ScriptMasterLabs Google Play book catalog for the job a reader is working on, for example 'x402 payments' or 'options trading'.Reads text others writeNo findings

    Why it is in this group

    • The name "list_playbooks" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: List Playbooks
  • read_capabilityRead one public SqueezeOS REST path with GET.Reads text others writeNo findings

    Why it is in this group

    • The name "read_capability" says "read": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: Read Capability
  • recommend_capabilityReturn the best-matching SqueezeOS capabilities for a natural-language need.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: Recommend Capability
  • system_statusRead the live SqueezeOS status endpoint.Reads text others writeNo findings

    Why it is in this group

    • The name "system_status" says "status": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: System Status
  • x402_contractRead the canonical SqueezeOS x402 v2 discovery contract.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "read": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: X402 Contract
  • x402_evidenceRead real settlement evidence recorded by the canonical x402 rail.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "read": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • readOnlyHint: true
    • title: X402 Evidence

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

22 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 1 outbound tool breaks every one.

Reads private data1
Reads files, mail, messages, databases, secrets, calendars or repositories.
Can send data out1
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
deny to break every path
{
  "permissions": {
    "deny": [
      "mcp__url-to-markdown__url_to_markdown"
    ]
  }
}

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

2 warn
  • The server marks "commit_discover_effects" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "commit_discover_effects" says "commit": a word for a change.

    What this check looks for
  • The server marks "commit_read_terms" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "commit_read_terms" says "commit": a word for a change.

    What this check looks for

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

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

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__url-to-markdown__discover_capabilities",
      "mcp__url-to-markdown__recommend_capability",
      "mcp__url-to-markdown__list_playbooks",
      "mcp__url-to-markdown__inspect_capability",
      "mcp__url-to-markdown__compare_capabilities",
      "mcp__url-to-markdown__capability_manifest",
      "mcp__url-to-markdown__x402_contract",
      "mcp__url-to-markdown__x402_evidence",
      "mcp__url-to-markdown__system_status",
      "mcp__url-to-markdown__read_capability",
      "mcp__url-to-markdown__aftersearch_quote"
    ],
    "ask": [
      "mcp__url-to-markdown__x402_readiness",
      "mcp__url-to-markdown__url_to_markdown",
      "mcp__url-to-markdown__gamma_sonar",
      "mcp__url-to-markdown__ticker_dossier",
      "mcp__url-to-markdown__commit_discover_effects",
      "mcp__url-to-markdown__commit_read_terms",
      "mcp__url-to-markdown__aftersearch_resolve",
      "mcp__url-to-markdown__aftersearch_verify_serp",
      "mcp__url-to-markdown__aftersearch_accept"
    ],
    "deny": [
      "mcp__url-to-markdown__execute_capability",
      "mcp__url-to-markdown__purchase_capability_read"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as url-to-markdown. Review it before you use it.

Capability tags behind 22 rules
  • mcp__url-to-markdown__discover_capabilities untrusted-input
  • mcp__url-to-markdown__recommend_capability untrusted-input
  • mcp__url-to-markdown__list_playbooks untrusted-input
  • mcp__url-to-markdown__inspect_capability untrusted-input
  • mcp__url-to-markdown__compare_capabilities untrusted-input
  • mcp__url-to-markdown__capability_manifest private-data, untrusted-input
  • mcp__url-to-markdown__x402_contract untrusted-input
  • mcp__url-to-markdown__x402_readiness untrusted-input
  • mcp__url-to-markdown__x402_evidence untrusted-input
  • mcp__url-to-markdown__system_status untrusted-input
  • mcp__url-to-markdown__url_to_markdown untrusted-input, outbound
  • mcp__url-to-markdown__gamma_sonar untrusted-input
  • mcp__url-to-markdown__ticker_dossier untrusted-input
  • mcp__url-to-markdown__commit_discover_effects untrusted-input
  • mcp__url-to-markdown__commit_read_terms untrusted-input
  • mcp__url-to-markdown__read_capability untrusted-input
  • mcp__url-to-markdown__execute_capability untrusted-input
  • mcp__url-to-markdown__purchase_capability_read untrusted-input
  • mcp__url-to-markdown__aftersearch_resolve untrusted-input
  • mcp__url-to-markdown__aftersearch_verify_serp untrusted-input
  • mcp__url-to-markdown__aftersearch_quote untrusted-input
  • mcp__url-to-markdown__aftersearch_accept untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/com.scriptmasterlabs/url-to-markdown/verify?hash=b82e52977f71f57e36984399bd5adc0cea7f031726fffc90ec719c4059e4787a" | jq -e '.changed == false'

Pinned hash b82e52977f71, from Oct 28, 2026, 21:17 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/com.scriptmasterlabs/url-to-markdown/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for com.scriptmasterlabs/url-to-markdown
[![anlyon.dev](https://anlyon.dev/badge/com.scriptmasterlabs/url-to-markdown.svg)](https://anlyon.dev/servers/com.scriptmasterlabs/url-to-markdown)

Source: MCP Registry. Synced Oct 28, 2026, 22:17 UTC.