{"price_usd":"0.001","network":"eip155:8453","prices":{"markdown":"0.001","token_price":"0.002","wallet_portfolio":"0.002","whale_alerts":"0.002","cross_chain_balance":"0.002","changelog_openapi":"0.005","changelog_git":"0.005","mermaid":"0.005","html_to_markdown":"0.001","qr_generator":"0.001","og_image_generator":"0.001","jobs":"0.002"},"tools":[{"name":"markdown","description":"Fetch a URL and convert its main content to clean, LLM-ready Markdown (strips nav/ads/sidebars). Options: output_format (markdown|text|json), css_selector, max_length, include_links, include_images.","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"The URL to fetch and convert"},"options":{"type":"object","description":"Conversion options (output_format, css_selector, max_length, include_links, include_images)"}}},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"tool":{"type":"string"},"data":{"type":"object"},"meta":{"type":"object","properties":{"format":{"type":"string"}}}},"required":["ok","tool","data"]},"price_usd":"0.001"},{"name":"token_price","description":"Get the live price of a token by symbol (e.g. ETH, USDC, MATIC).","inputSchema":{"type":"object","required":["symbol"],"properties":{"symbol":{"type":"string","description":"Token symbol, e.g. ETH"}}},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"tool":{"type":"string"},"data":{"type":"object"},"meta":{"type":"object","properties":{"format":{"type":"string"}}}},"required":["ok","tool","data"]},"price_usd":"0.002"},{"name":"wallet_portfolio","description":"Get a complete wallet portfolio for an Ethereum address: native ETH balance, ERC-20 balances, NFT holdings, recent transfers.","inputSchema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Ethereum address (0x-prefixed, 42 chars)"},"include_tokens":{"type":"boolean","description":"Include ERC-20 balances (default true)"},"include_nfts":{"type":"boolean","description":"Include NFT holdings (default false)"},"include_transfers":{"type":"boolean","description":"Include recent transfers (default false)"},"transfer_limit":{"type":"integer","description":"Max transfers (1-100, default 20)"},"chain":{"type":"string","description":"Chain key: eth, arb, base, polygon, opt"}}},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"tool":{"type":"string"},"data":{"type":"object"},"meta":{"type":"object","properties":{"format":{"type":"string"}}}},"required":["ok","tool","data"]},"price_usd":"0.002"},{"name":"whale_alerts","description":"Scan recent blocks for large ETH transfers involving an address. Filter by direction (in/out/both) and threshold.","inputSchema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Ethereum address to monitor"},"direction":{"type":"string","description":"in, out, or both (default both)"},"min_value_eth":{"type":"number","description":"Minimum ETH value threshold"}}},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"tool":{"type":"string"},"data":{"type":"object"},"meta":{"type":"object","properties":{"format":{"type":"string"}}}},"required":["ok","tool","data"]},"price_usd":"0.002"},{"name":"cross_chain_balance","description":"Aggregate native balance and token/NFT counts for an address across eth, arb, base, polygon, opt.","inputSchema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Ethereum address"},"chains":{"type":"array","items":{"type":"string"},"description":"Chains to query: eth, arb, base, polygon, opt"}}},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"tool":{"type":"string"},"data":{"type":"object"},"meta":{"type":"object","properties":{"format":{"type":"string"}}}},"required":["ok","tool","data"]},"price_usd":"0.002"},{"name":"changelog_openapi","description":"Diff two OpenAPI specs and generate a structured breaking-change changelog (no LLM — deterministic diff). Provide base_spec_url and new_spec.","inputSchema":{"type":"object","required":["new_spec"],"properties":{"base_spec_url":{"type":"string","description":"URL of the base (old) OpenAPI spec"},"new_spec":{"type":"object","description":"New OpenAPI specification as a JSON object"}}},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"tool":{"type":"string"},"data":{"type":"object"},"meta":{"type":"object","properties":{"format":{"type":"string"}}}},"required":["ok","tool","data"]},"price_usd":"0.005"},{"name":"changelog_git","description":"Diff git commits and generate a structured breaking-change changelog. Provide repository_url, base_commit, and optional target_commit.","inputSchema":{"type":"object","required":["repository_url","base_commit"],"properties":{"repository_url":{"type":"string","description":"Git repo URL (https)"},"base_commit":{"type":"string","description":"Base commit SHA"},"target_commit":{"type":"string","description":"Head commit SHA (optional, defaults to repo HEAD)"}}},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"tool":{"type":"string"},"data":{"type":"object"},"meta":{"type":"object","properties":{"format":{"type":"string"}}}},"required":["ok","tool","data"]},"price_usd":"0.005"},{"name":"mermaid","description":"Render a Mermaid diagram to an image (PNG or SVG). Returns a base64-encoded image (MCP content type image). Options: format (png|svg), theme (default|dark|forest|neutral), scale (1-4, PNG only).","inputSchema":{"type":"object","required":["code"],"properties":{"code":{"type":"string","description":"Mermaid diagram source code, e.g. 'graph TD; A-->B'. Max 50000 chars."},"format":{"type":"string","enum":["png","svg"],"description":"Output format (default png). SVG returns vector text."},"theme":{"type":"string","enum":["default","dark","forest","neutral"],"description":"Mermaid theme (default 'default')."},"scale":{"type":"number","description":"Raster scale 1-4, PNG only (default 2)."}}},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"tool":{"type":"string"},"data":{"type":"object"},"meta":{"type":"object","properties":{"format":{"type":"string"}}}},"required":["ok","tool","data"]},"price_usd":"0.005"},{"name":"html_to_markdown","description":"Convert an HTML string to clean, LLM-ready Markdown. Handles headings, links, images, tables, lists and code blocks. Options: heading style (atx|setext), bullet list marker, code block style, emphasis delimiters.","inputSchema":{"type":"object","required":["html"],"properties":{"html":{"type":"string","description":"HTML source string to convert to Markdown"},"options":{"type":"object","description":"Conversion options (headingStyle, bulletListMarker, codeBlockStyle, emDelimiter, strongDelimiter)"}}},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"tool":{"type":"string"},"data":{"type":"object"},"meta":{"type":"object","properties":{"format":{"type":"string"}}}},"required":["ok","tool","data"]},"price_usd":"0.001"},{"name":"qr_generator","description":"Generate a QR code or barcode as an image (SVG or PNG). Returns a base64-encoded image (MCP content type image). Symbologies: qrcode/qr, code128, code39, ean13, ean8, upca, upce, isbn10, isbn13, issn, itf, gs1-128, databar.","inputSchema":{"type":"object","required":["format","data"],"properties":{"format":{"type":"string","enum":["qrcode","code128","code39","ean13","ean8","upca","upce","isbn10","isbn13","issn","itf","gs1-128","databar"],"description":"Barcode symbology; use qrcode (or qr) for QR codes"},"data":{"type":"string","description":"Data to encode (URL or text for QR; numeric for EAN/UPC)"},"type":{"type":"string","enum":["svg","png"],"description":"Output image format (default svg)"}}},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"tool":{"type":"string"},"data":{"type":"object"},"meta":{"type":"object","properties":{"format":{"type":"string"}}}},"required":["ok","tool","data"]},"price_usd":"0.001"},{"name":"og_image_generator","description":"Generate an Open Graph social-card image (1200x630 PNG) from a title and description. Returns a base64-encoded image (MCP content type image). Optional image URL embeds a header graphic. Title truncated to 60 chars, description to 120.","inputSchema":{"type":"object","required":["title"],"properties":{"title":{"type":"string","description":"Card title, max 60 chars"},"description":{"type":"string","description":"Card description, max 120 chars"},"image":{"type":"string","description":"Optional http(s) header image URL"}}},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"tool":{"type":"string"},"data":{"type":"object"},"meta":{"type":"object","properties":{"format":{"type":"string"}}}},"required":["ok","tool","data"]},"price_usd":"0.001"},{"name":"jobs","description":"Search live job postings by keywords and locations. Returns structured results: title, company, location, apply URL, work types, employment type, seniority, industry, salary, and description. Supports onsite/remote/hybrid preferences. One call covers the whole market for a keyword + location pair.","inputSchema":{"type":"object","required":["keywords"],"properties":{"keywords":{"type":"array","items":{"type":"string"},"description":"Search terms, e.g. ['software engineer', 'rust']"},"searches":{"type":"array","description":"Search criteria list: {location: string (city/region/country), work_type: 'onsite'|'remote'|'hybrid'|''}","items":{"type":"object","properties":{"location":{"type":"string"},"work_type":{"type":"string"}}}}}},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"tool":{"type":"string"},"data":{"type":"object"},"meta":{"type":"object","properties":{"format":{"type":"string"}}}},"required":["ok","tool","data"]},"price_usd":"0.002"}]}