FanZero
Publish game listings with Codex or Claude. Media, prices and direct links to the original game.
| Endpoint | https://fanzero.app/mcp (streamable-http) |
|---|---|
| Registry version | 0.5.0 |
| Now | 15 tools · grade C (65) · pin ts_76c828dafe614f913f402f21b711647e · protocol 2025-06-18 |
| First / last listed | 2026-11-06 02:10 UTC / 2026-11-06 02:10 UTC |
| Grade over time | 2026-11-06: C (65), 15 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: read_listing_guidelines check_build whoami create_studio publish_game submit_game get_review update_game list_my_games add_pact close_pact respond_to_claim confirm_delivery submit_settlement browse_games
read_listing_guidelines | List the original game with media and platform links. Optional preview quality, pact rules and review. Read before submitting: original game links are the default, while agent previews require an explicit quality assessment. Also resource fanzero://guidelines. params: api_key |
check_build | Validates a listing or optional preview. Agents sending html/files need preview_review; static checks do not certify its truth. Saves nothing. Original game links are the default. Optional dry run: send media, platforms/prices or monetization, description and pacts without html/files. A new agent preview needs preview_review with all three flags true and an explicit reason; checks read code and ca params: api_key, html, files, preview_review, title, tagline, description, genre, stage, tags, controls, dev_note, store_url, media, platforms, monetization, pacts |
whoami | Which studio the key belongs to, with game and pact-request counts. Without a key, how to get one. Optionally check an existing studio key. With an unknown key it fails with invalid_api_key (the key shown masked). params: api_key |
create_studio | Registers the studio once and returns its API key. Refuses an exact duplicate. Call it once per studio, only after asking your human whether they already have a key. An exact duplicate (same name and contact) fails with duplicate_studio, and so does a call made with a working key. Store the key (e.g. FANZERO_API_KEY, never in git) and give it to your human: it is shown only now and there is no key params: api_key, name*, contact, bio |
publish_game | Publish the original game through media and platform links in one operation. A preview only if representative, sandbox-tested and better than the original. Safe retries never expose credentials. One-operation flow for the original game: complete media, platform links, per-platform prices/model, description and pacts. New html/files additionally require preview_review: representative:true, sandbox_ params: api_key, studio, title*, tagline*, description*, genre*, stage, tags, controls, dev_note, store_url, media, platforms, monetization, pacts*, html, files, preview_review, agent, idempotency_key*, human_approved |
submit_game | Legacy key flow: list the original game through media and platform links. Agent html/files require preview_review. Prefer publish_game for one-operation submission. List the original game with media and platform links by default. Every new html/files upload needs preview_review with all flags true and reason (20–600 characters); do not port or strip an online game to fit FanZero. Each call creates params: api_key, title*, tagline*, description*, genre*, stage, tags, controls, dev_note, store_url, media, platforms, monetization, pacts*, agent, html, files, preview_review |
get_review | Status, next step, check results, critic notes, curator note and log for one of your games. Checks run inside submit_game and update_game, so there is nothing to poll: call this to read the result again or to see the curator's decision (check back later, a day is a good interval). game_id takes the id or the slug. params: api_key, game_id* |
update_game | Change the listing or offers; remove_preview retires a demo, keeping the original links and pact windows. Agent uploads need preview_review. Automated checks read the code without playing it. Original game links remain the default. remove_preview:true retires an optional demo, keeping the listing status, pact windows and metadata; provide any missing media/platform/model fields in that same call. params: api_key, game_id*, title, tagline, description, genre, stage, tags, controls, dev_note, store_url, media, platforms, monetization, pacts, agent, html, files, preview_review, remove_preview, resubmit |
list_my_games | Your games, who holds each one, and every pact request with its proposed actions, dates and next step. Per game: status, pacts, holder and pending request count. For rules_version 3, each claim includes proposed actions with scheduled_at and the window starting on the earliest action; pitched is pending, accepted is approved and scheduled, then active and completed follow the clock. No proof or se params: api_key |
add_pact | Offers one more revenue-share pact on one of your games. Same rules for every pact: one influencer at a time, for the pact's weeks (2 to 8, 4 if left out) from the first proposed action date, share_pct% of net revenue from every store. Get the terms, length included, from your human. params: api_key, game_id*, action*, share_pct*, weeks, requirement, min_audience |
close_pact | Closes a pact; requests still waiting on it are declined. Running deals keep their terms. No new requests on it; pending requests are declined so influencers can request an open pact. Accepted and running deals keep their terms. Closing a closed pact changes nothing. params: api_key, pact_id* |
respond_to_claim | Approves or declines a proposed action schedule. Legacy proof responses remain supported. accept: approves the influencer action plan once. For rules_version 3, sharing runs for the pact's weeks from the earliest proposed action, never from approval; late approval keeps the same dates. No proof or second approval. Requires human_approved: true for this exact schedule and share. Another holder caus params: api_key, claim_id*, decision*, note, human_approved |
confirm_delivery | Legacy contracts only: confirms proof under the older go-live rules. Scheduled pacts need no delivery confirmation. Legacy contracts only. Scheduled pacts (rules_version 3) never need this call. Check the proof link with your human first, then call with human_approved: true (otherwise it fails with needs_human). The window counts from when it went live (live_at, reported by the influencer), not fr params: api_key, claim_id*, note, human_approved |
submit_settlement | After a pact window: declares each platform's net revenue, with its own report. The influencer accepts or disputes. After a scheduled pact's window: one line per key in claim.distribution with the net revenue that platform pays or will pay for the window's sales, in-game purchases and ads (after its fee, refunds, chargebacks and indirect taxes), each from that platform's own report. Up to 4 extra_ params: api_key, claim_id*, lines, extra_lines, nothing_earned, human_approved |
browse_games | Searches the public catalog of live games: who is free, top share, studio. Public, no key. free = nobody holds the game right now and it has an open pact; taken_until = when the current holder's window ends (each pact runs its own weeks; for a legacy holder who has not gone live yet, the latest they can end). params: api_key, q, genre, action, sort |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.