{"market":"agoragentic","price_usd":"0.01","network":"eip155:8453","prices":{"markdown":"0.01","token_price":"0.01","wallet_portfolio":"0.01","whale_alerts":"0.01","cross_chain_balance":"0.01","changelog_openapi":"0.01","changelog_git":"0.01","mermaid":"0.01","html_to_markdown":"0.01","qr_generator":"0.01","og_image_generator":"0.01","jobs":"0.01","verify_semaphore":"0.01","verify_worldid":"0.01","verify_batch":"0.01","wallet_verify_siwe":"0.01","wallet_verify_nostr":"0.01","wallet_verify_solana":"0.01","wallet_checksum":"0.01","llm_chat":"0.01"},"tools":[{"name":"markdown","title":"Markdown Extractor","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)"}}},"annotations":{"readOnlyHint":true,"idempotentHint":true,"openWorldHint":true},"price_usd":"0.01"},{"name":"token_price","title":"Token Price Lookup","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"}}},"annotations":{"readOnlyHint":true,"idempotentHint":true,"openWorldHint":true},"price_usd":"0.01"},{"name":"wallet_portfolio","title":"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"}}},"annotations":{"readOnlyHint":true,"idempotentHint":true,"openWorldHint":true},"price_usd":"0.01"},{"name":"whale_alerts","title":"Whale Alerts Scanner","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"}}},"annotations":{"readOnlyHint":true,"idempotentHint":true,"openWorldHint":true},"price_usd":"0.01"},{"name":"cross_chain_balance","title":"Cross-Chain Balance Checker","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"}}},"annotations":{"readOnlyHint":true,"idempotentHint":true,"openWorldHint":true},"price_usd":"0.01"},{"name":"changelog_openapi","title":"OpenAPI Changelog Generator","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"}}},"annotations":{"readOnlyHint":true,"idempotentHint":true,"openWorldHint":true},"price_usd":"0.01"},{"name":"changelog_git","title":"Git Changelog Generator","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)"}}},"annotations":{"readOnlyHint":true,"idempotentHint":true,"openWorldHint":true},"price_usd":"0.01"},{"name":"mermaid","title":"Mermaid Diagram Renderer","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)."}}},"annotations":{"readOnlyHint":true,"idempotentHint":true,"openWorldHint":true},"price_usd":"0.01"},{"name":"html_to_markdown","title":"HTML to Markdown Converter","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)"}}},"annotations":{"readOnlyHint":true,"idempotentHint":true,"openWorldHint":true},"price_usd":"0.01"},{"name":"qr_generator","title":"QR/Barcode 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)"}}},"annotations":{"readOnlyHint":true,"idempotentHint":true,"openWorldHint":true},"price_usd":"0.01"},{"name":"og_image_generator","title":"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"}}},"annotations":{"readOnlyHint":true,"idempotentHint":true,"openWorldHint":true},"price_usd":"0.01"},{"name":"jobs","title":"Job Search","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"}}}}}},"annotations":{"readOnlyHint":true,"idempotentHint":true,"openWorldHint":true},"price_usd":"0.01"},{"name":"verify_semaphore","title":"Semaphore ZK Proof Verifier","description":"Verify a Semaphore ZK proof locally using Groth16 (embedded official vkey). No external dependency. Send the proof object from @semaphore-protocol/proof generateProof().","inputSchema":{"type":"object","required":["proof"],"properties":{"proof":{"type":"object","description":"Semaphore proof: { merkleTreeDepth, merkleTreeRoot, nullifier, message, scope, points }"}}},"annotations":{"readOnlyHint":true,"idempotentHint":true,"openWorldHint":true},"price_usd":"0.01"},{"name":"verify_worldid","title":"World ID Proof Verifier","description":"Verify a World ID 4.0 proof via the Worldcoin Developer Portal API. Generates an RP signature server-side, then proxies the full IDKit proof to developer.world.org. Returns { valid, nullifier, worldcoin_response }.","inputSchema":{"type":"object","required":["proof"],"properties":{"proof":{"type":"object","description":"IDKit proof payload: { protocol_version, responses, action?, session_id? }"},"action":{"type":"string","description":"Action string (must match what IDKit used). Required for uniqueness proofs, omitted for session proofs."},"environment":{"type":"string","enum":["production","staging"],"description":"Worldcoin environment. Defaults to production."}}},"annotations":{"readOnlyHint":true,"idempotentHint":true,"openWorldHint":true},"price_usd":"0.01"},{"name":"verify_batch","title":"Batch Semaphore Proof Verifier","description":"Batch verify up to 10 Semaphore proofs in a single request. Returns per-proof results with total count and average duration.","inputSchema":{"type":"object","required":["items"],"properties":{"items":{"type":"array","description":"Array of up to 10 Semaphore proof objects to verify","maxItems":10,"items":{"type":"object","properties":{"proof":{"type":"object","description":"Semaphore proof object"}}}}}},"annotations":{"readOnlyHint":true,"idempotentHint":true,"openWorldHint":true},"price_usd":"0.01"},{"name":"wallet_verify_siwe","title":"SIWE Signature Verifier","description":"Verify a Sign-In-With-Ethereum (EIP-4361) signature. Stateless oracle: checks the signature against the message and returns the wallet address + chainId. Never mints sessions or consumes nonces. Get a checksummed address first via wallet_checksum.","inputSchema":{"type":"object","required":["message","signature"],"properties":{"message":{"type":"string","description":"EIP-4361 SIWE message (line 2 must be a checksummed address)"},"signature":{"type":"string","description":"0x-prefixed personal_sign signature over the exact message bytes"}}},"annotations":{"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false},"price_usd":"0.01"},{"name":"wallet_verify_nostr","title":"NIP-98 Nostr Auth Verifier","description":"Verify a NIP-98 Nostr HTTP auth event. Returns the signer pubkey. Stateful replay protection: each event id can only be verified once.","inputSchema":{"type":"object","required":["token"],"properties":{"token":{"type":"string","description":"Base64-encoded NIP-98 event, or 'Nostr <base64>' Authorization header value"},"url":{"type":"string","description":"Expected u-tag URL (optional; defaults to the request URL)"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"price_usd":"0.01"},{"name":"wallet_verify_solana","title":"Solana Signature Verifier","description":"Verify an ed25519 Solana wallet signature over a message containing a 'Nonce: <value>' line. Returns the signer pubkey. Consumes the nonce — one verification per nonce.","inputSchema":{"type":"object","required":["pubkey","message","signature"],"properties":{"pubkey":{"type":"string","description":"Base58 Solana public key of the signer"},"message":{"type":"string","description":"Signed message containing a 'Nonce: <value>' line (get one via the /auth/solana/nonce endpoint pattern)"},"signature":{"type":"string","description":"Base58 ed25519 signature"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"price_usd":"0.01"},{"name":"wallet_checksum","title":"Ethereum Address Checksum","description":"Convert an Ethereum address to its EIP-55 checksummed form. SIWE messages require the checksummed address on line 2 before signing.","inputSchema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Ethereum address in any casing (0x...)"}}},"annotations":{"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false},"price_usd":"0.01"},{"name":"llm_chat","title":"LLM Chat","description":"Chat with a language model. OpenAI-compatible /v1/chat/completions interface. Supports 50+ models. Free models (auto, eco, premium) are $0 — paid models (gpt-5.2, claude-opus-5, deepseek-v4-pro, ...) are charged at cost. See /tools/llm_chat/models for the full model list and rates.","inputSchema":{"type":"object","required":["messages"],"properties":{"model":{"type":"string","description":"Model ID. Examples: auto/eco/premium (free, $0.002), openai/gpt-5.2, anthropic/claude-opus-5, google/gemini-3.1-pro, deepseek/deepseek-v4-pro. Short names accepted (gpt-5.2, claude-opus-5). See /tools for full list."},"messages":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["system","user","assistant"],"description":"Message role"},"content":{"type":"string","description":"Message text content"}}},"description":"Conversation messages array"},"temperature":{"type":"number","description":"Sampling temperature 0-2 (default 0.7)"},"max_tokens":{"type":"integer","description":"Maximum tokens to generate (default 1024, max 4096). Lower values reduce cost for paid models."}}},"annotations":{"readOnlyHint":false,"idempotentHint":false,"openWorldHint":true},"price_usd":"0.01"}]}