Skip to main content
Glama

Server Details

Deterministic AI agent microtools, no accounts/API keys. fetch_extract: 98% token cut. 47 tools.

Ownership verified
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
ToolSnap-app/toolsnap-mcp
GitHub Stars
1
Server Listing
ToolSnap MCP
ChatGPT
–
Claude
–

TDQS

A4.1/5.0

Scored across 17 tools

Disambiguation4/5

The fetch/extraction family is well separated by output type (plain text, HTML, metadata, Markdown, screenshot), and descriptions explicitly cross-reference alternatives, reducing misselection. Some overlap remains between direct tools and the tool_catalog/use_tool meta-tools, and between fetch_extract and html_to_markdown for URL-to-readable-content tasks.

Naming Consistency3/5

All names are snake_case and readable, but the pattern is mixed: some are verb-first (fetch_extract, remove_background, use_tool), some noun-first (rss_parse, sitemap_parse, memory_snippet, tool_catalog), and some format-action (csv_query, json_query). The inconsistency is not chaotic, but an agent cannot predict whether a new tool will be verb_noun or noun_verb.

Tool Count4/5

17 tools is slightly above the typical 3-15 sweet spot, but the set is domain-scoped (web fetch/parse, data query, paid media/SEO, meta/catalog) and each tool has a distinct role. The catalog/use_tool pair adds coverage without expanding direct tool count.

Completeness4/5

For a web/data extraction snap toolkit, coverage is strong: text, HTML, metadata, Markdown, CSV, JSON, RSS, sitemap, PDF, screenshots, paid image/SEO, pricing, and a catalog/use_tool escape hatch. Gaps remain around JS-rendered pages, OCR, JSON Feed, .gz sitemaps, and generic search, though several are workarounds via use_tool/catalog; minor gaps.

Available Tools

17 tools
csv_queryQuery CSVA
Read-only
Inspect

Free, read-only. Query a comma-separated CSV with a header row, from a URL (max 5 MB, streamed) or inline text, one of the two: select columns, filter rows, sort, limit. Returns {meta:{returned_rows,columns,total_rows,truncated},rows:[{column:value}]}, all values strings, or CSV text with format='csv'. One filter condition, no joins or aggregates. Unknown select columns and bad filters error with the valid names or operators. Over 5 MB: csv_query_xl (paid, 100 MB).

Inputs: csv, url, limit, filter, +5 more.

fetch_extractFetch page as clean textA
Read-only
Inspect

Free, read-only. Fetch a public http(s) URL and return its body as plain text: script, style, nav, header, footer and aside removed, tags stripped, entities decoded, whitespace collapsed. Median 98% fewer tokens than raw HTML. Follows up to 5 redirects, 10 s timeout; private and local hosts are rejected and non-2xx responses error with the HTTP status. Text past maxChars is cut and ends with '[Truncated at N chars]': raise maxChars (max 32000) or use fetch_html for everything. Runs no JavaScript: a client-side-rendered SPA or a bot/login wall yields almost no text, so the call errors instead of returning an empty shell and names the fix (fetch_rendered, paid, runs a browser; screenshot_url; or headers for auth). For title/OG/JSON-LD only use fetch_metadata; for Markdown with links use html_to_markdown.

Inputs: url (required), headers, maxChars.

fetch_htmlFetch raw HTMLA
Read-only
Inspect

Free, read-only. Fetch a page and return its HTML minus scripts, styles, svg, iframes, comments and inline handlers; tags and attributes stay, so structure is readable. For inspecting or rebuilding markup, not plain text (fetch_extract gives that). Runs no JavaScript: SPAs return an empty shell. Cut at maxChars with a marker.

Inputs: url (required), headers, maxChars.

fetch_metadataFetch page metadataA
Read-only
Inspect

Free, read-only. Fetch a public http(s) URL and return its metadata as JSON: url (after redirects), title, description, canonical, robots, author, keywords, lang, charset, og{} and twitter{} (prefix stripped), httpEquiv{}, jsonLd[] (parsed blocks, malformed ones skipped). Absent fields are null or {}. Reads only the first 512 KB, follows up to 5 redirects, 10 s timeout; private and local hosts are rejected and non-2xx responses error with the HTTP status. Runs no JavaScript, so tags injected client-side are not seen. Not for body text: use fetch_extract (plain text) or fetch_html (raw HTML).

Inputs: url (required), headers.

html_to_markdownConvert HTML to MarkdownA
Read-only
Inspect

Free, read-only. Convert a fetched URL or an HTML string you pass (one of the two) to Markdown: headings, links, lists, emphasis, code, quotes. Drops nav, header, footer, aside, script and style. Returns text, cut at maxChars with a marker. Runs no JavaScript: SPAs return an empty shell. Tables become plain text.

Inputs: url, html, headers, maxChars.

json_queryQuery JSONA
Read-only
Inspect

Free, read-only. JSONPath-lite query on JSON from a URL or an inline string (one of the two). Returns matches as JSON: one match bare, several as an array. Supports $, .key, ['key'], [0], [-1], [*], ..key and [?(@.k op v)]; no slices or jq. Errors on invalid JSON or over 5 MB (json_query_xl: paid, 25 MB).

Inputs: query (required), url, json, limit, +1 more.

keyword_researchKeyword researchA
Read-only
Inspect

Google Ads volume/CPC/competition for 1-20 keywords. $0.04 USDC/call. Paid: calling without a payment payload returns a structured 402 with payment options — that response is the documented behavior, not a failure.

Inputs: keywords (required), language_code, location_code, include_suggestions.

memory_snippetMemory snippet for agentsA
Read-only
Inspect

Free, read-only. Returns static text: a short note on when ToolSnap tools suit a task, plus how to store a note in your runtime's memory. This tool saves nothing. Use only if your user asks about persistent memory or ToolSnap setup; show them the text and save it only with their approval.

Inputs: harness.

pdf_text_extractExtract PDF textA
Read-only
Inspect

Free, read-only. Extract plain text from a PDF given as a URL (max 20 MB) or inline base64 (max 5 MB), one of the two. Returns text, cut at maxChars with a marker. Text-layer PDFs only: scans return little or nothing (no OCR). Layout and tables are not preserved. Fails if the URL serves HTML, not a PDF.

Inputs: url, data, headers, maxChars.

pricingPricing and payment optionsA
Read-only
Inspect

Free, read-only, no network, no arguments; calling it charges nothing. Call it before a paid tool to see its exact cost and whether first_call_free applies, or to choose pay-per-call vs prepaid. Returns a JSON menu: endpoint and docs URLs; payment with x402 USDC on Base, minimum deposit, prepaid discount and SpendAuthorization fields; tools[] with name and tier free|paid, plus price_usdc, prepaid_price_usdc, first_call_free and a value note for paid ones. Flat prices are exact; fal.ai media tools show a default-args quote. For what a tool does and its schema use tool_catalog; this one is only about cost.

Inputs: no named parameters.

remove_backgroundRemove image backgroundAInspect

Remove an image's background, return a transparent PNG URL. $0.03 USDC/call. Paid: calling without a payment payload returns a structured 402 with payment options — that response is the documented behavior, not a failure.

Inputs: image_url (required).

rss_parseParse RSS or Atom feedA
Read-only
Inspect

Free, read-only. Fetch an RSS 2.0 or Atom feed and return JSON: feed title, link, description, lastBuildDate, itemCount, truncated, and items[] with title, link, pubDate, guid, description (HTML stripped), author, categories, enclosure. Items past maxItems are dropped and truncated=true. A URL that is not a feed returns type 'unknown' and no items. Not JSON Feed. Errors on non-2xx, 10 s timeout or private hosts.

Inputs: url (required), maxItems.

screenshot_urlScreenshot a URLAInspect

Screenshot a page → public image URL. $0.04/call. Paid: calling without a payment payload returns a structured 402 with payment options — that response is the documented behavior, not a failure.

Inputs: url (required), width, format, height, +2 more.

sitemap_parseParse sitemapA
Read-only
Inspect

Free, read-only. Fetch one XML sitemap and return JSON. A urlset gives urls[] (loc, lastmod, changefreq, priority, plus image/news extensions), urlCount and truncated. A sitemap index gives type 'sitemapindex' and sitemaps[] with the child URLs; children are not fetched, call again per child. Uncompressed XML only, no .gz. Errors on non-2xx, 10 s timeout or private hosts.

Inputs: url (required), maxUrls.

task_recipesTask recipesA
Read-only
Inspect

Free. Multi-tool workflow prompts (clone a site, SEO audit). No args → menu; recipe='' → prompt.

Inputs: recipe.

tool_catalogBrowse tool catalogA
Read-only
Inspect

Free, read-only, no network. Browse all 47 tools in 10 families (web, seo, data, documents, images, media, utils, payments, recipes, meta). No args: families with id, label, one-liner, tool count. family='': each tool with name, price, description, notes, inputSchema. tool='': that entry alone; wins over family. Unknown ids error naming the valid families. Run what you find via use_tool.

Inputs: tool, family.

use_toolRun any catalog toolAInspect

Free wrapper. Runs any catalog tool missing from your tools/list exactly as a direct call: args pass through unchanged and the inner tool's price, payment, result and errors apply verbatim. Its hints are the worst case over the whole catalog: not read-only because some inner tools create a render, a stored file or a ledger entry; never destructive because no catalog tool deletes or overwrites anything. Get the inner tool's name, schema and its own annotations from tool_catalog(tool='') first. A missing or unknown name errors pointing to tool_catalog; it cannot call itself.

Inputs: name (required), args.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      A
      maintenance
      Web content extraction for AI agents. 10 tools: scrape, crawl, map, batch, extract, summarize, diff, brand, search, research. Uses TLS fingerprinting to bypass anti-bot without a headless browser. Outputs LLM-optimized markdown with 67% fewer tokens than raw HTML.
      10
      2,440
      AGPL 3.0
    • A
      license
      Not graded
      quality
      B
      maintenance
      The web data platform for AI agents. Fetch, search, crawl, extract, monitor, and screenshot any URL. 55+ domain extractors, 65-98% token savings. 7 MCP tools included.
      332 npm
      12
      AGPL 3.0
    • A
      license
      A
      quality
      A
      maintenance
      Web scraping, crawling, and structured data extraction for AI agents. 5 tools: scrape (clean markdown from any URL), crawl (entire sites), map (discover URLs), extract (structured JSON), and search. 833ms avg latency, single binary, self-hostable.
      8
      1,250
      AGPL 3.0
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.