[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-whop-whop-connect":3,"mdc-iv30qo-key":31,"related-org-whop-whop-connect":287,"related-repo-whop-whop-connect":344},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":21,"repoUrl":22,"updatedAt":23,"license":24,"forks":21,"topics":25,"repo":26,"sourceUrl":29,"mdContent":30},"whop-connect","connect and verify Whop account","Connect and verify this workspace's Whop account",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"whop","Whop","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fwhop.png","whopio",[13,17,20],{"name":14,"slug":15,"type":16},"Operations","operations","tag",{"name":18,"slug":19,"type":16},"Integrations","integrations",{"name":9,"slug":8,"type":16},0,"https:\u002F\u002Fgithub.com\u002Fwhopio\u002Fplugins","2026-08-28T15:10:16.83957",null,[],{"repoUrl":22,"stars":21,"forks":21,"topics":27,"description":28},[],"Use Whop in any AI agent.","https:\u002F\u002Fgithub.com\u002Fwhopio\u002Fplugins\u002Ftree\u002FHEAD\u002Fclients\u002Fgrok\u002Fskills\u002Fwhop-connect","---\nname: whop-connect\ndescription: Connect and verify this workspace's Whop account\ndisable-model-invocation: true\n---\n\n# Connect to Whop\n\nConfirm the Whop MCP server is connected and report what the grant can reach. Do not\nskip ahead to a business action — this command's only job is the connection.\n\n## Steps\n\n1. **Call `connection_status`.**\n\n   - **It works** → report, in plain language: the authenticated user\n     (`user_name`), the permission profile, and how many tools are available.\n     Then handle the account:\n     - **`account_id` is set** → name the account and its `biz_…` id.\n     - **`account_id` is null** → say plainly that no account is selected yet, then\n       call `accounts_list`. One account: name it and say it will be used when the\n       user passes its id. Several: list them and ask which. None: say the user has\n       no Whop business yet and point them at whop.com.\n\n     Do not invent an account, and do not report a null account as if it were one.\n     Then stop and ask what they want to do.\n   - **The tool is missing entirely** → the MCP server has not loaded. Tell the user\n     to open `\u002Fplugins` and confirm the `whop` plugin is enabled, then `\u002Fmcps` to\n     check the `whop` server's state. `grok mcp doctor whop` diagnoses configuration\n     and connectivity, and takes `--json`.\n   - **It returns unauthenticated** → the OAuth flow has not completed. Tell them to\n     open `\u002Fmcps`, select `whop`, and press `i` to authenticate. The browser opens to\n     Whop for sign-in and authorization. **No API key is involved** — if they are\n     reaching for one, that is the wrong path for this server. Grok also triggers\n     this flow automatically the first time it uses a Whop tool.\n\n2. **Say what they authorized.** The hosted endpoint requests the MCP `admin` scope:\n   full administrative access to the reviewed MCP surface, across *every* business\n   the signed-in user manages — not scoped to one business. Worth one sentence so\n   they know what they granted, and that they can revoke it from `\u002Fmcps` later.\n\n",{"data":32,"body":34},{"name":4,"description":6,"disable-model-invocation":33},true,{"type":35,"children":36},"root",[37,46,52,59],{"type":38,"tag":39,"props":40,"children":42},"element","h1",{"id":41},"connect-to-whop",[43],{"type":44,"value":45},"text","Connect to Whop",{"type":38,"tag":47,"props":48,"children":49},"p",{},[50],{"type":44,"value":51},"Confirm the Whop MCP server is connected and report what the grant can reach. Do not\nskip ahead to a business action — this command's only job is the connection.",{"type":38,"tag":53,"props":54,"children":56},"h2",{"id":55},"steps",[57],{"type":44,"value":58},"Steps",{"type":38,"tag":60,"props":61,"children":62},"ol",{},[63,254],{"type":38,"tag":64,"props":65,"children":66},"li",{},[67,82],{"type":38,"tag":68,"props":69,"children":70},"strong",{},[71,73,80],{"type":44,"value":72},"Call ",{"type":38,"tag":74,"props":75,"children":77},"code",{"className":76},[],[78],{"type":44,"value":79},"connection_status",{"type":44,"value":81},".",{"type":38,"tag":83,"props":84,"children":85},"ul",{},[86,160,215],{"type":38,"tag":64,"props":87,"children":88},{},[89,94,96,102,104,154,158],{"type":38,"tag":68,"props":90,"children":91},{},[92],{"type":44,"value":93},"It works",{"type":44,"value":95}," → report, in plain language: the authenticated user\n(",{"type":38,"tag":74,"props":97,"children":99},{"className":98},[],[100],{"type":44,"value":101},"user_name",{"type":44,"value":103},"), the permission profile, and how many tools are available.\nThen handle the account:",{"type":38,"tag":83,"props":105,"children":106},{},[107,131],{"type":38,"tag":64,"props":108,"children":109},{},[110,121,123,129],{"type":38,"tag":68,"props":111,"children":112},{},[113,119],{"type":38,"tag":74,"props":114,"children":116},{"className":115},[],[117],{"type":44,"value":118},"account_id",{"type":44,"value":120}," is set",{"type":44,"value":122}," → name the account and its ",{"type":38,"tag":74,"props":124,"children":126},{"className":125},[],[127],{"type":44,"value":128},"biz_…",{"type":44,"value":130}," id.",{"type":38,"tag":64,"props":132,"children":133},{},[134,144,146,152],{"type":38,"tag":68,"props":135,"children":136},{},[137,142],{"type":38,"tag":74,"props":138,"children":140},{"className":139},[],[141],{"type":44,"value":118},{"type":44,"value":143}," is null",{"type":44,"value":145}," → say plainly that no account is selected yet, then\ncall ",{"type":38,"tag":74,"props":147,"children":149},{"className":148},[],[150],{"type":44,"value":151},"accounts_list",{"type":44,"value":153},". One account: name it and say it will be used when the\nuser passes its id. Several: list them and ask which. None: say the user has\nno Whop business yet and point them at whop.com.",{"type":38,"tag":155,"props":156,"children":157},"br",{},[],{"type":44,"value":159},"Do not invent an account, and do not report a null account as if it were one.\nThen stop and ask what they want to do.",{"type":38,"tag":64,"props":161,"children":162},{},[163,168,170,176,178,183,185,191,193,198,200,206,208,214],{"type":38,"tag":68,"props":164,"children":165},{},[166],{"type":44,"value":167},"The tool is missing entirely",{"type":44,"value":169}," → the MCP server has not loaded. Tell the user\nto open ",{"type":38,"tag":74,"props":171,"children":173},{"className":172},[],[174],{"type":44,"value":175},"\u002Fplugins",{"type":44,"value":177}," and confirm the ",{"type":38,"tag":74,"props":179,"children":181},{"className":180},[],[182],{"type":44,"value":8},{"type":44,"value":184}," plugin is enabled, then ",{"type":38,"tag":74,"props":186,"children":188},{"className":187},[],[189],{"type":44,"value":190},"\u002Fmcps",{"type":44,"value":192}," to\ncheck the ",{"type":38,"tag":74,"props":194,"children":196},{"className":195},[],[197],{"type":44,"value":8},{"type":44,"value":199}," server's state. ",{"type":38,"tag":74,"props":201,"children":203},{"className":202},[],[204],{"type":44,"value":205},"grok mcp doctor whop",{"type":44,"value":207}," diagnoses configuration\nand connectivity, and takes ",{"type":38,"tag":74,"props":209,"children":211},{"className":210},[],[212],{"type":44,"value":213},"--json",{"type":44,"value":81},{"type":38,"tag":64,"props":216,"children":217},{},[218,223,225,230,232,237,239,245,247,252],{"type":38,"tag":68,"props":219,"children":220},{},[221],{"type":44,"value":222},"It returns unauthenticated",{"type":44,"value":224}," → the OAuth flow has not completed. Tell them to\nopen ",{"type":38,"tag":74,"props":226,"children":228},{"className":227},[],[229],{"type":44,"value":190},{"type":44,"value":231},", select ",{"type":38,"tag":74,"props":233,"children":235},{"className":234},[],[236],{"type":44,"value":8},{"type":44,"value":238},", and press ",{"type":38,"tag":74,"props":240,"children":242},{"className":241},[],[243],{"type":44,"value":244},"i",{"type":44,"value":246}," to authenticate. The browser opens to\nWhop for sign-in and authorization. ",{"type":38,"tag":68,"props":248,"children":249},{},[250],{"type":44,"value":251},"No API key is involved",{"type":44,"value":253}," — if they are\nreaching for one, that is the wrong path for this server. Grok also triggers\nthis flow automatically the first time it uses a Whop tool.",{"type":38,"tag":64,"props":255,"children":256},{},[257,262,264,270,272,278,280,285],{"type":38,"tag":68,"props":258,"children":259},{},[260],{"type":44,"value":261},"Say what they authorized.",{"type":44,"value":263}," The hosted endpoint requests the MCP ",{"type":38,"tag":74,"props":265,"children":267},{"className":266},[],[268],{"type":44,"value":269},"admin",{"type":44,"value":271}," scope:\nfull administrative access to the reviewed MCP surface, across ",{"type":38,"tag":273,"props":274,"children":275},"em",{},[276],{"type":44,"value":277},"every",{"type":44,"value":279}," business\nthe signed-in user manages — not scoped to one business. Worth one sentence so\nthey know what they granted, and that they can revoke it from ",{"type":38,"tag":74,"props":281,"children":283},{"className":282},[],[284],{"type":44,"value":190},{"type":44,"value":286}," later.",{"items":288,"total":343},[289,308,320,326],{"slug":290,"name":290,"fn":291,"description":292,"org":293,"tags":294,"stars":305,"repoUrl":306,"updatedAt":307},"whop-payments-network","integrate Whop Payments Network","Integrate the Whop Payments Network into your platform — pay-ins, payouts, checkout, embedded components, API patterns, and webhooks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[295,298,301,304],{"name":296,"slug":297,"type":16},"API Development","api-development",{"name":299,"slug":300,"type":16},"Payments","payments",{"name":302,"slug":303,"type":16},"Webhooks","webhooks",{"name":9,"slug":8,"type":16},1,"https:\u002F\u002Fgithub.com\u002Fwhopio\u002Fwhop-payments-network-skill","2026-04-06T18:57:39.593857",{"slug":8,"name":8,"fn":309,"description":310,"org":311,"tags":312,"stars":21,"repoUrl":22,"updatedAt":319},"manage business operations on Whop","Run a business on Whop: websites on *.whop.app, products, checkout, payments, payouts, memberships, ads, LLC\u002FC-corp formation, bounties, and stats. Use when the user mentions Whop, whop.com, their store, a membership or product, checkout links, payouts or transfers, Meta\u002FTikTok ads, forming a company, or anything the Whop MCP tools provide. Not for the internal `whopdev` local-dev CLI.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[313,316,317,318],{"name":314,"slug":315,"type":16},"E-commerce","e-commerce",{"name":14,"slug":15,"type":16},{"name":299,"slug":300,"type":16},{"name":9,"slug":8,"type":16},"2026-08-28T15:09:33.313165",{"slug":4,"name":4,"fn":5,"description":6,"org":321,"tags":322,"stars":21,"repoUrl":22,"updatedAt":23},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[323,324,325],{"name":18,"slug":19,"type":16},{"name":14,"slug":15,"type":16},{"name":9,"slug":8,"type":16},{"slug":327,"name":327,"fn":328,"description":329,"org":330,"tags":331,"stars":21,"repoUrl":22,"updatedAt":342},"whop-mcp-safety","enforce safety protocols for Whop MCP","The required protocol for any Whop MCP tool call that changes state: the prepare-and-confirm handshake with mcp_confirmation_token, the intent and intent_id attribution fields every operation tool demands, and idempotency_key rules for money movement. Read before the first create, update, delete, refund, payout, transfer, deposit, or formation call in a session, and whenever a Whop tool returns a confirmation token or rejects a call for a missing field.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[332,335,338,341],{"name":333,"slug":334,"type":16},"Compliance","compliance",{"name":336,"slug":337,"type":16},"MCP","mcp",{"name":339,"slug":340,"type":16},"Security","security",{"name":9,"slug":8,"type":16},"2026-08-28T15:10:17.294567",4,{"items":345,"total":366},[346,353,359],{"slug":8,"name":8,"fn":309,"description":310,"org":347,"tags":348,"stars":21,"repoUrl":22,"updatedAt":319},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[349,350,351,352],{"name":314,"slug":315,"type":16},{"name":14,"slug":15,"type":16},{"name":299,"slug":300,"type":16},{"name":9,"slug":8,"type":16},{"slug":4,"name":4,"fn":5,"description":6,"org":354,"tags":355,"stars":21,"repoUrl":22,"updatedAt":23},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[356,357,358],{"name":18,"slug":19,"type":16},{"name":14,"slug":15,"type":16},{"name":9,"slug":8,"type":16},{"slug":327,"name":327,"fn":328,"description":329,"org":360,"tags":361,"stars":21,"repoUrl":22,"updatedAt":342},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[362,363,364,365],{"name":333,"slug":334,"type":16},{"name":336,"slug":337,"type":16},{"name":339,"slug":340,"type":16},{"name":9,"slug":8,"type":16},3]