{
  "version": "1.0",
  "protocolVersion": "2025-11-25",
  "serverInfo": {
    "name": "wishlistme",
    "title": "Wishlistme",
    "version": "0.1.0"
  },
  "description": "Pay-per-wishlist Steam jobs. Public tools search jobs and estimate; with a token, creators claim slots and get tracking links, and developers post jobs from a Steam link, send direct offers and read job reports.",
  "documentationUrl": "https://wishlistme.me/developers",
  "transport": {
    "type": "streamable-http",
    "endpoint": "https://wishlistme.me/mcp"
  },
  "authentication": {
    "required": false,
    "schemes": [
      "bearer"
    ],
    "note": "Public tools need no token. Creator and developer tools need Authorization: Bearer <token> or /mcp?token=<token>. Demo tokens: wlm_demo_creator, wlm_demo_studio."
  },
  "tools": [
    {
      "name": "search_campaigns",
      "title": "Search jobs",
      "description": "Find open Steam game jobs: developers bid a price per wishlist for a number of creators, each delivering a set number of wishlists. Filter by text, channel and minimum bid."
    },
    {
      "name": "get_campaign",
      "title": "Get job",
      "description": "Full details of one job: bid per wishlist, creators wanted, open slots, wishlists per creator, deadline, minimum audience, channels and brief."
    },
    {
      "name": "estimate_earnings",
      "title": "Estimate creator earnings",
      "description": "Estimate what a creator would earn from a job for a given number of link clicks and click-to-wishlist rate, capped at the slot size."
    },
    {
      "name": "estimate_job",
      "title": "Estimate job",
      "description": "For Game Devs: the budget and fee for a job at a bid per wishlist, a number of creators and wishlists per creator (at least 50)."
    },
    {
      "name": "draft_job_from_steam",
      "title": "Draft a job from a Steam link",
      "description": "For solo developers and studios: paste a Steam store link and get a ready-to-post job (game details from Steam, bid, creators, wishlists each, budget and fee) plus a prefilled link to fund and post it after signing in."
    },
    {
      "name": "get_rules",
      "title": "Get rules",
      "description": "How jobs, attribution, escrow, the payout hold and fees work, and what creators are not allowed to do."
    },
    {
      "name": "whoami",
      "title": "Who am I",
      "description": "Your dashboard: for a creator, slots, offers and earnings; for a developer, jobs, games, spend and escrow. Says how to sign in if no token was sent."
    },
    {
      "name": "claim_slot",
      "title": "Claim a slot",
      "description": "Claim a creator slot in an open job, or accept a direct offer. Instant if a slot is open and your verified audience meets the job minimum. Returns your tracking link."
    },
    {
      "name": "decline_offer",
      "title": "Decline an offer",
      "description": "Pass on a direct offer a developer sent you."
    },
    {
      "name": "add_tracking_link",
      "title": "Add a tracking link",
      "description": "A new tracking link for another video or post in a job you have a slot in. Put it in the description; Steam attributes wishlists to it."
    },
    {
      "name": "my_slots",
      "title": "My slots",
      "description": "Your claimed slots with progress: verified and estimated wishlists, clicks per link, days left and earnings."
    },
    {
      "name": "my_earnings",
      "title": "My earnings",
      "description": "Pending, available and paid earnings, with each ledger line. Earnings release after the 30-day hold."
    },
    {
      "name": "connect_channel",
      "title": "Connect a channel",
      "description": "Connect YouTube, Twitch, TikTok, X, a Steam curator page or a blog. Verified followers count towards job minimums."
    },
    {
      "name": "post_job",
      "title": "Post a job",
      "description": "Post a job. Posting is free: you are charged when the first creator claims a slot. Pass your Steam link (solo developers: that is all you need) or a game_id, a bid per wishlist, creators and wishlists each. Add `invite` with creator ids to make it a direct offer. Creators can claim right away."
    },
    {
      "name": "check_game",
      "title": "Add your game and see what fits",
      "description": "Add a game from its Steam link (or by name if it has no Steam page yet). Reads the store page: wishlists open, demo out, released or free, and suggests the job to post: wishlists, players or sales."
    },
    {
      "name": "my_jobs",
      "title": "My jobs",
      "description": "Your jobs with status, slots claimed, clicks, verified wishlists, spend and whether Steamworks is connected."
    },
    {
      "name": "job_report",
      "title": "Job report",
      "description": "One job slot by slot: which creators claimed, their links and clicks, and what Steam verified."
    },
    {
      "name": "set_job_status",
      "title": "Pause, resume or end a job",
      "description": "Set a job live, paused or ended. Ending refunds the unearned budget."
    },
    {
      "name": "find_creators",
      "title": "Find creators",
      "description": "The creator directory with track records (delivered wishlists, conversion, fill rate, games), to pick creators for a direct offer. Empty until creators have joined."
    },
    {
      "name": "connect_steamworks",
      "title": "Connect Steamworks",
      "description": "Connect read-only Steamworks analytics for a game once, so Wishlistme can pull the UTM report daily. Without it, wishlists for that game can’t be verified."
    },
    {
      "name": "list_pending_creators",
      "title": "Creators to review",
      "description": "Admin: creators who signed up and wait for review, with their channels and follower counts."
    },
    {
      "name": "review_creator",
      "title": "Approve or reject a creator",
      "description": "Admin: approve a creator so they can claim jobs, or reject them."
    },
    {
      "name": "sync_steam",
      "title": "Sync Steam now",
      "description": "Pull the Steam UTM report now instead of waiting for the next daily sync, and credit newly verified wishlists."
    }
  ]
}