ToolSnap MCP
Server Details
Deterministic AI agent microtools, no accounts/API keys. fetch_extract: 98% token cut. 47 tools.
- 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
Scored across 17 tools
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.
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.
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.
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 toolscsv_queryQuery CSVARead-onlyInspect
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 textARead-onlyInspect
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 HTMLARead-onlyInspect
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 metadataARead-onlyInspect
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 MarkdownARead-onlyInspect
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 JSONARead-onlyInspect
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 researchARead-onlyInspect
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 agentsARead-onlyInspect
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 textARead-onlyInspect
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 optionsARead-onlyInspect
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 feedARead-onlyInspect
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 sitemapARead-onlyInspect
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 recipesARead-onlyInspect
Free. Multi-tool workflow prompts (clone a site, SEO audit). No args → menu; recipe='' → prompt.
Inputs: recipe.
tool_catalogBrowse tool catalogARead-onlyInspect
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
13 micro-tools for agents: read pages, verify email, convert, validate, diff, extract. AI-operated.
10 deterministic micro-tools for agents. x402 on X Layer, zero LLM.
Pay-per-call (x402/USDC-Base) web + crypto data tools for AI agents: audit, extract, crypto, DeFi.
Pay-per-use agent tools: screenshots, web to Markdown, PDF tables, OCR, UK company checks
Related MCP Servers
- AlicenseAqualityAmaintenanceWeb 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.102,440AGPL 3.0
- AlicenseNot gradedqualityBmaintenanceThe 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 npm12AGPL 3.0
- AlicenseNot gradedqualityBmaintenanceWebsite intelligence tools for AI agents. Ten pay-per-call tools via x402 micropayments (USDC on Base) — no accounts, no API keys.1MIT
- AlicenseAqualityAmaintenanceWeb 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.81,250AGPL 3.0
Glama MCP Gateway
Add one secure layer between your agents and this server.