{"serverId":"mcp-registry/com.toolfound/toolfound","tools":[{"name":"toolfound_check_verification","fixed":{"name":"toolfound_check_verification","description":"Non-destructive dry run of ownership verification for a Toolfound submission: reports, per method, what the checker sees RIGHT NOW — meta tag found or not (with the exact expected tag), DNS TXT found or not (with the exact expected record), and whether the submission email qualifies for the magic-link path. Use it to distinguish 'my deploy is not live yet' from 'wrong token' before calling toolfound_verify_submission. Changes nothing.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["token"],"properties":{"token":{"type":"string","maxLength":200,"minLength":8,"description":"The verify_token returned by toolfound_submit_product."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Check verification status (dry run)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":208,"tokensAfter":208},{"name":"toolfound_claim_listing","fixed":{"name":"toolfound_claim_listing","description":"Claim an existing Toolfound listing as the product's owner (free). Claiming requires ownership verification — a magic link is sent to the email you provide (use an address at the product's domain), and meta-tag / DNS TXT verification also works. Claimed listings unlock editing, badges, analytics, and the optional open-to-acquisition flag.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["slug","email"],"properties":{"slug":{"type":"string","maxLength":80,"minLength":1,"description":"Slug of the listing to claim."},"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","maxLength":254,"description":"Your email — ideally at the product's own domain — receives the claim magic link."}}},"annotations":{"readOnlyHint":true},"title":"Claim a listing"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":249,"tokensAfter":249},{"name":"toolfound_get_alternatives","fixed":{"name":"toolfound_get_alternatives","description":"List alternatives to a given product on Toolfound — tools in the same primary category, ranked by points (community votes plus an AI listing score). Useful for 'alternatives to X' and comparison questions. Each result includes tagline, pricing model, votes, and a canonical listing URL.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["slug"],"properties":{"slug":{"type":"string","maxLength":80,"minLength":1,"description":"Slug of the product to find alternatives for."}}},"annotations":{"readOnlyHint":true},"title":"Get alternatives to a product"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":162,"tokensAfter":162},{"name":"toolfound_get_badge","fixed":{"name":"toolfound_get_badge","description":"Get the three copy-paste badge embed snippets for a Toolfound listing ('live on Toolfound', 'verified', 'top 3 this week' variants). Badges are optional and earned — they deep-link to the listing with varied anchor text, and the embedder chooses the rel attribute freely. Listing status is never conditioned on embedding a badge.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["slug"],"properties":{"slug":{"type":"string","maxLength":80,"minLength":1,"description":"Slug of the listing to get badges for."}}},"annotations":{"readOnlyHint":true},"title":"Get embed badges"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":170,"tokensAfter":170},{"name":"toolfound_get_launch_calendar","fixed":{"name":"toolfound_get_launch_calendar","description":"The upcoming Toolfound launch calendar with seat availability per date: featured seats (a scarce, limited number per day) vs how many are already taken, plus the total daily cap and how many launches are queued, over a horizon you choose (default 30 days, up to 180). Launching is permanently free. Toolfound shows availability openly — no hidden queues. Use this to pick a launch date before submitting: pass preferred_launch_date to toolfound_submit_product to request a specific day.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"horizon_days":{"type":"integer","maximum":180,"minimum":1,"description":"How many days ahead to return (default 30, max 180)."}}},"annotations":{"readOnlyHint":true},"title":"Get the launch calendar"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":216,"tokensAfter":216},{"name":"toolfound_get_launch_status","fixed":{"name":"toolfound_get_launch_status","description":"Check the status of a Toolfound submission by submission id or product URL: current state (pending verification, queued, launched), transparent queue position, assigned launch date, and the listing URL once live. Toolfound never hides queue state — what this returns is exactly what everyone sees.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"url":{"type":"string","maxLength":500,"minLength":4,"description":"Or the product URL you submitted."},"submission_id":{"type":"string","maxLength":100,"minLength":1,"description":"The submission id returned by toolfound_submit_product."}}},"annotations":{"readOnlyHint":true},"title":"Get launch status"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":194,"tokensAfter":194},{"name":"toolfound_get_product","fixed":{"name":"toolfound_get_product","description":"Fetch the full Toolfound listing for a product by slug: description, tagline, pricing model, tags, socials, vote count, launch date, ownership-verification status, and the canonical listing URL. Every launched listing on Toolfound is ownership-verified by its maker (DNS TXT, meta tag, or domain email). Includes the top alternatives in the same category. Adds verified_metrics when Toolfound has fetched fresh data for the listing.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["slug"],"properties":{"slug":{"type":"string","maxLength":80,"minLength":1,"description":"The product slug, e.g. 'acme-analytics' (from search results or the listing URL)."}}},"annotations":{"readOnlyHint":true},"title":"Get a product listing"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":211,"tokensAfter":211},{"name":"toolfound_get_trending","fixed":{"name":"toolfound_get_trending","description":"The Toolfound leaderboard: top products launched in the last day, week, or month, ranked by points (community votes plus an AI listing score). Toolfound is a launch platform with a transparent queue — every product here launched publicly on an assigned date and is ownership-verified. Great for 'what launched recently' and 'trending tools' questions.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["period"],"properties":{"period":{"enum":["day","week","month"],"type":"string","description":"Leaderboard window: day, week, or month."}}},"annotations":{"readOnlyHint":true},"title":"Get trending launches"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":179,"tokensAfter":179},{"name":"toolfound_get_verified_board","fixed":{"name":"toolfound_get_verified_board","description":"Boards of listings ranked by data Toolfound fetched itself within the last 7 days: revenue band via Stripe, GitHub stars, or App Store rating. A board is visible only once at least 10 listings have data of that kind; otherwise it returns visible false and no entries.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["board"],"properties":{"board":{"enum":["revenue","stars","rated"],"type":"string","description":"Which board: revenue, stars or rated."}}},"annotations":{"readOnlyHint":true},"title":"Get a verified data board"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":157,"tokensAfter":157},{"name":"toolfound_list_categories","fixed":{"name":"toolfound_list_categories","description":"List every category in the Toolfound directory with product counts and curated intros. Use this to browse the index or to map a user's need to the right category before searching.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{}},"annotations":{"readOnlyHint":true},"title":"List directory categories"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":94,"tokensAfter":94},{"name":"toolfound_relaunch","fixed":{"name":"toolfound_relaunch","description":"Relaunch an already-launched Toolfound listing: same listing, same URL, a new launch date shown alongside the old one. Relaunch requires a fresh verified-owner session, so this anonymous MCP transport reports the eligibility result but directs owners to the dashboard to authorize the write.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["slug","email","note"],"properties":{"note":{"type":"string","maxLength":200,"minLength":10,"description":"Required: one line about what changed since the original launch (10-200 characters). Shown publicly on the listing page."},"slug":{"type":"string","maxLength":80,"minLength":1,"description":"Slug of the listing to relaunch."},"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","maxLength":254,"description":"Claimed-owner email. The relaunch must still be authorized from its verified dashboard session."},"requested_launch_date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Preferred new launch date, YYYY-MM-DD, within the next 180 days. Use toolfound_get_launch_calendar to find open featured seats. Falls back to the earliest open day if omitted or full."}}},"annotations":{"readOnlyHint":true},"title":"Relaunch a listing"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":372,"tokensAfter":372},{"name":"toolfound_search_tools","fixed":{"name":"toolfound_search_tools","description":"Search toolfound.com — the launch platform and tool directory built agent-first — for SaaS products and developer tools by name, tagline, or tag. Returns matching products with taglines, pricing model, vote counts, and canonical listing URLs you can cite or open. Use this when a user asks to find, compare, or discover a tool for a job.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["query"],"properties":{"query":{"type":"string","maxLength":200,"minLength":1,"description":"Free-text search: product name, problem, or tag (e.g. 'invoicing', 'screenshot api')."}}},"annotations":{"readOnlyHint":true},"title":"Search the Toolfound directory"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":187,"tokensAfter":187},{"name":"toolfound_submit_product","fixed":{"name":"toolfound_submit_product","description":"Submit a product to launch on toolfound.com — the launch platform where the whole launch runs agent-native, end to end. A logo URL is optional; without one the site's own icon is used. One call returns everything: your submission id, ownership-verification instructions (mandatory — DNS TXT, meta tag, or email magic link), transparent queue position and assigned launch date, and the live free-slots counter (launches are free). AGENTS: you do not need inbox access — the verify_token in this respon","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["url","email"],"properties":{"url":{"type":"string","maxLength":500,"minLength":4,"description":"The product's public https URL (e.g. https://yourproduct.com)."},"name":{"type":"string","maxLength":120,"minLength":1,"description":"Product name (optional — drafted from the site if omitted)."},"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","maxLength":254,"description":"Maker's email — receives the verification link, queue updates, and launch results."},"tagline":{"type":"string","maxLength":200,"minLength":1,"description":"One-line tagline (optional)."},"logo_url":{"type":"string","maxLength":2000,"minLength":1,"description":"Direct public URL for the product's real logo (PNG, JPG, GIF or WebP; max 2MB). Optional; defaults to the site's icon."},"x_handle":{"type":"string","maxLength":120,"description":"The maker's X (Twitter) handle, e.g. @yourproduct (optional). Shown on the listing. If the listing wins that UTC day, @toolfoundcom tags this handle the next morning. We do not tag every launch."},"price_usd":{"type":"number","maximum":1000000,"minimum":0,"description":"Optional starting price in USD (e.g. the cheapest paid plan). Only used when pricing_model is 'paid', 'freemium', or 'trial'."},"description":{"type":"string","maxLength":5000,"minLength":1,"description":"Longer description (optional — you can edit later)."},"pricing_model":{"enum":["free","freemium","trial","paid","unknown"],"type":"string","description":"The product's pricing model (optional, but strongly recommended — captured now instead of after claim so the listing never sits at 'Pricing unlisted')."},"founder_x_handle":{"type":"string","maxLength":120,"description":"Founder's X handle, shown on the listing and tagged if the launch tops its day"},"preferred_launch_date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Preferred launch date, YYYY-MM-DD (optional). Must be within the next 180 days. Free launches cannot take today or tomorrow: a date earlier than the next free date is moved to it (a later date is honoured). Use toolfound_get_launch_calendar to find open seats. If that day is full by the time you verify, the earliest open day is assigned and reported. Omit to get the earliest open date automatically."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Submit a product for launch"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":835,"tokensAfter":835}],"toolsChanged":13,"tokensSaved":0,"todo":[{"tool":"toolfound_campaign_links","params":["medium","source","content","campaign","websiteUrl"]},{"tool":"toolfound_campaign_url_cleaner","params":["url","mode"]},{"tool":"toolfound_color_contrast","params":["background","foreground"]},{"tool":"toolfound_csv_deduplicator","params":["csv"]},{"tool":"toolfound_directory_matcher","params":["cost","segment","dofollow","launchModel"]},{"tool":"toolfound_distribution_plan","params":["channels","launchDate"]},{"tool":"toolfound_feedback_interview_planner","params":["goal","stage","minutes","participants"]},{"tool":"toolfound_find_by_task","params":["task","pricing"]},{"tool":"toolfound_json_to_csv","params":["json"]},{"tool":"toolfound_launch_readiness","params":["name","logoURL","tagline","websiteUrl","description"]},{"tool":"toolfound_launch_review","params":["visits","signups","conversions"]},{"tool":"toolfound_listing_copy","params":["name","outcome","problem","audience","differentiator"]},{"tool":"toolfound_newsletter_readiness","params":["name","logoURL","audience","newsAngle","websiteUrl"]},{"tool":"toolfound_relaunch_decision","params":["change","evidence","listingCurrent","audienceChanged","measurementReady"]},{"tool":"toolfound_share_preview","params":["name","tagline"]},{"tool":"toolfound_software_cost_comparison","params":["aName","bName","seats","aPrice","aSetup","aUsage","bPrice","bSetup","bUsage","aBilling","bBilling"]},{"tool":"toolfound_sponsorship_break_even","params":["cost","margin","revenue","signupRate","customerRate"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}