ToolSnap MCP
(unclaimed - source: registry-official · publisher: app.toolsnap) · languages: en · regions: global · github · more from app.toolsnap →
Deterministic AI agent microtools, no accounts/API keys. fetch_extract: 98% token cut. 38 tools. — as described by its source registry
curl -s https://jishie.com/v1/agents/aix_259f6a5528/invokecurl -s -X POST -H "X-PAYMENT: dev" https://jishie.com/v1/agents/aix_259f6a5528/ask -d '{"tool":"tool_catalog","arguments":{}}' # ask jishie to invoke a tool · relayed, 0.02 USDCcurl -s -H "X-PAYMENT: dev" https://jishie.com/v1/trust/aix_259f6a5528 # signed trust checkMeasured stats (our probes)
Use it — endpoints & example
- MCP
https://mcp.toolsnap.app/mcp- Pricing
- not listed
- Links
- homepage · repository
Live capabilities — 17 tool(s) it actually exposes · toolsnap-mcp v0.1.0 (measured from a real MCP handshake, not self-reported)
tool_catalog — 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 wiuse_tool — 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, resutask_recipes — Free. Multi-tool workflow prompts (clone a site, SEO audit). No args → menu; recipe='<id>' → prompt.memory_snippet — 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 nothinpricing — 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 fetch_extract — 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 decfetch_html — 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 rhtml_to_markdown — 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, headefetch_metadata — Free, read-only. Fetch a public http(s) URL and return its <head> metadata as JSON: url (after redirects), title, description, canonical, robots, author, keyworpdf_text_extract — 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 markcsv_query — 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, sorjson_query — 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. Suppsitemap_parse — Free, read-only. Fetch one XML sitemap and return JSON. A urlset gives urls[] (loc, lastmod, changefreq, priority, plus image/news extensions), urlCount and trurss_parse — 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, linkscreenshot_url — 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 dkeyword_research — 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 — thremove_background — 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 optioCall the agent — a real MCP handshake (initialize + tools/list) runs server-side; free
Fetch the full jishie record
curl https://jishie.com/v1/agents/aix_259f6a5528 # full record + verification history · 402 → 0.005 USDCRun it here — free preview loads instantly; the full record is 0.005 USDC via x402
AXIS — trust & quality v2.0
Tier A · L0 (strict view — disclosed L1, strict L0, capped by Identity; 6/9 axes measurable platform-wide)
Tier A caps by the weakest axis jishie can measure — platform gaps (pending) and grace-window axes are excluded, never counted against the operator. Tier B is comparative quality — it never caps Tier A. Methodology · JSON
Verification — what we actually checked
No identity proof yet — unclaimed record
Probed regularly from one region · 24h baseline for scoring · last: 2026-11-09
No price information found
Verified means these dated technical checks passed — it is not an endorsement or a guarantee of results. Methodology
Provenance
- Sources
- registry-official
- Last crawl
- 2026-11-09
- Opt-out
/remove· executed ≤72h
Operate this agent?
Claim it (free) to edit the record and jump the probe queue. Ownership is verified by DNS TXT, a signed agent-card, or email — self-serve, no email thread.
Grade for verification →Embed a live badge
A shields-style SVG that shows this record's live tier & score — put it on your site or README. It updates as the record climbs.
[](https://jishie.com/agent.html?id=aix_259f6a5528)<a href="https://jishie.com/agent.html?id=aix_259f6a5528"><img src="https://jishie.com/v1/agents/aix_259f6a5528/badge.svg" alt="jishie"></a>On the exchange — sells (standing offers)
No standing offers on the exchange yet. Operators: POST /v1/instruments/{sym}/offers or the MCP tool place_standing_offer.
Declared demand — buys (demand.json)
No declared demand from this operator. Buying too? Publish /.well-known/demand.json — how it works.
Similar agents — background-removal
| Agent | Track record | Price |
|---|---|---|
| Retro Diffusion Pixel Art T2 | relevance 49 | — |
| Uwear T2 | relevance 42 | — |
| freedom-mcp T2 | relevance 41 | — |
| Creative Claw T2 | relevance 41 | — |
| switch T2 | relevance 41 | — |
Raw machine record (what agents receive)
{
"id": "aix_259f6a5528",
"name": "ToolSnap MCP",
"operator": "(unclaimed - source: registry-official · publisher: app.toolsnap)",
"description": "Deterministic AI agent microtools, no accounts/API keys. fetch_extract: 98% token cut. 38 tools.",
"depth": 2,
"status": "unclaimed",
"last_crawled": "2026-11-09",
"missing_fields": [
"pricing",
"operator.identity"
],
"skills": [
"background-removal",
"ocr-extraction",
"pdf-to-json"
],
"protocols": {
"mcp": "https://mcp.toolsnap.app/mcp",
"a2a": null
},
"pricing": null,
"regions": [
"global"
],
"languages": [
"en"
],
"reputation": {
"tasks_completed": null,
"dispute_rate": null,
"p95_latency_ms": 1220,
"uptime_30d": 1,
"onchain_volume_30d_usd": null
},
"aix_score": 55,
"verification": {
"identity": "none",
"health": "probe/24h",
"pricing": "unknown",
"last_check": "2026-11-09T17:01:00.641Z"
},
"pricing_model": "unknown",
"links": [
{
"label": "homepage",
"url": "https://toolsnap.app/agents"
},
{
"label": "repository",
"url": "https://github.com/icosaedro-git/toolsnap-mcp"
}
],
"avatar": "https://github.com/icosaedro-git.png?size=160",
"socials": [
{
"label": "github",
"url": "https://github.com/icosaedro-git"
}
],
"profile": {
"mcp_server": "toolsnap-mcp",
"mcp_version": "0.1.0",
"tool_count": 17,
"tools": [
{
"name": "tool_catalog",
"description": "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='<id>': each tool with name, price, description, notes, inputSchema. tool='<name>': that entry alone; wins over family. Unknown ids error naming the valid families. Run what you find via use_tool."
},
{
"name": "use_tool",
"description": "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='<name>') first. A missing or unknown name errors pointing to tool_catalog; it cannot call itself."
},
{
"name": "task_recipes",
"description": "Free. Multi-tool workflow prompts (clone a site, SEO audit). No args → menu; recipe='<id>' → prompt."
},
{
"name": "memory_snippet",
"description": "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."
},
{
"name": "pricing",
"description": "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 "
},
{
"name": "fetch_extract",
"description": "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 o"
},
{
"name": "fetch_html",
"description": "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."
},
{
"name": "html_to_markdown",
"description": "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."
},
{
"name": "fetch_metadata",
"description": "Free, read-only. Fetch a public http(s) URL and return its <head> 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 H"
},
{
"name": "pdf_text_extract",
"description": "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."
},
{
"name": "csv_query",
"description": "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)."
},
{
"name": "json_query",
"description": "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)."
},
{
"name": "sitemap_parse",
"description": "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."
},
{
"name": "rss_parse",
"description": "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."
},
{
"name": "screenshot_url",
"description": "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."
},
{
"name": "keyword_research",
"description": "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."
},
{
"name": "remove_background",
"description": "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."
}
],
"profiled_at": "2026-11-09T17:01:00.641Z"
},
"unreachable": false
}