Skip to content
autohunt
MCP

One line connects it.

Add the Autohunt MCP to Claude Code or Codex, and your agent fills in the launch info, makes a demo video, and lists it. No key, no sign-up.

Add it

Pick your agent and run one line in a terminal.

Terminal
claude mcp add --transport http autohunt https://autohunt.flowoodz.com/mcp

Check it

Open /mcp in Claude Code. autohunt should show as connected.

Example of the /mcp screen in Claude Code
NameStatus
autohuntconnected

Ask for it

In your project folder, ask your agent:

Prepare this project for launch on Autohunt

What the agent does next:

  1. Fill in the info · It reads your README, package.json, and deployed page for the name, tagline, links, and tags. It also makes the thumbnail and real screen captures.

  2. Ask once · It asks only what it could not fill, in one round. At most 5 questions, each with a recommended default first.

  3. Offer a demo video · With no video link, it offers to record the real product. You approve the shot plan and the preview.

  4. Check and list · It validates launch.json, deploys, and pings Autohunt. Then it reports the listing URL or the reasons to fix.

The full flow is on How it works.

Tools

The MCP exposes seven tools. Every response is JSON text.

Autohunt MCP tools
Nameautohunt_get_guideWhat it doesReturns the workflow, the demo-video guide, field rules, and an example. The agent calls it first.InputnoneReturns{ version, workflow, demoVideo, fieldRules, examplePayload }
Nameautohunt_get_demo_kitWhat it doesReturns the recording and editing scripts as files. The agent writes them to .autohunt/demo-kit/.InputnoneReturns{ version, files: [{ path, content, executable }] }
Nameautohunt_get_tagsWhat it doesPH tag candidates, the 14 Jocohunt categories, and pricing, stage, and feedbackWanted valuesInputnoneReturns{ phTags, categories, feedbackWanted, pricing, stage }
Nameautohunt_validate_launchWhat it doesChecks a launch.json draft. With url, it fetches the deployed file, website, and images like the crawler.Input{ launch } or { url }Returns{ errors, warnings } (plus checks with url)
Nameautohunt_render_ph_packWhat it doesBuilds the paste-pack in Product Hunt form order.Input{ launch, baseUrl? }Returns{ markdown, saveAs }
Nameautohunt_pingWhat it doesQueues a deployed URL for crawling. Same limits as the HTTP ping.Input{ url }Returns{ id, status: "queued", statusUrl }
Nameautohunt_get_statusWhat it doesCrawl state, each check, reasons with fixes, and the listing URLInput{ id } or { url }Returns{ status, checks, reasons, listingUrl }

Limits

Pings need no key. Instead, they are counted per domain and per IP.

Ping limits
Counted byPing · registrable domainLimit5 per hourWindowClock hour
Counted byPing · registrable domainLimit20 per dayWindowFrom 00:00 UTC (09:00 KST)
Counted byPing · IPLimit30 per hourWindowClock hour
Counted byURL check · IPLimit30 per hourWindowClock hour

Registrable domains follow the public suffix list, so dunzkoi.github.io and x.pages.dev are each counted on their own. Over a limit you get 429 with Retry-After in seconds. autohunt_ping in the MCP uses the same limits, counted by the IP that sent the MCP request.

Some URLs are refused before counting: non-HTTPS URLs, IP addresses, localhost, and .local get 400; blocked domains get 403. URL check means autohunt_validate_launch with url and the launch check page.

Troubleshooting

Problems and fixes
Symptomautohunt is missing or shows failed in /mcp.FixRun the add command again and restart the agent. Check the URL is https://autohunt.flowoodz.com/mcp.
SymptomThe ping returns 429.FixYou hit a limit. Wait the seconds in Retry-After, then send it once more.
SymptomThe status is waiting to retry and launch.json is 404.FixThe deploy is not live yet. A 404 within 15 minutes of the ping is retried after 1, 5, and 30 minutes. If it is still missing, check the deploy folder and ping again.
SymptomA gallery_ratio error.FixThe gallery image is more than 2% off 1270:760. Recapture at a 1270×760 viewport, or 2540×1520 at 2×.
SymptomA website_not_owned error.Fixlinks.website does not start with the base URL. Put launch.json under .well-known/ in the site's folder.
Esc

↑↓ move · Enter open · Esc close