The Whop MCP connector routes your AI agent's tool calls to Whop's own MCP server through Scalekit. Each user signs in to Whop once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 4 tools.
- Tools
- 4
- What they doRead · write · destructive
- 3 · 1 · 03 read1 write0 destructive
- Users sign in with
- OAuth
- OAuth app
- Scalekit's or your own
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Whop MCP connection
In AgentKit > Connections, create a Whop MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for Whop MCP server, so you don't need to register an OAuth app.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'whopmcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Whop MCP:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'whopmcp_list_api_endpoints',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "whopmcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Whop MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="whopmcp_list_api_endpoints",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolwhopmcp_get_api_endpoint_schemaGet the schema for an endpoint in the Whop TypeScript API.Read-onlyGetApiEndpointSchema
Get the schema for an endpoint in the Whop TypeScript API. You can use the schema returned by this tool to invoke an endpoint with the `invoke_api_endpoint` tool.
Inputs
endpointstringrequired- The name of the endpoint to get the schema for.
whopmcp_list_api_endpointsList or search for all endpoints in the Whop TypeScript APIRead-onlyListApiEndpoints
List or search for all endpoints in the Whop TypeScript API
Inputs
search_querystring- An optional search query to filter the endpoints by.
whopmcp_search_docsSearch for documentation for how to use the client to interact with the API.Read-onlySearchDocs
Search for documentation for how to use the client to interact with the API.
Inputs
languagestringrequired- The programming language or protocol to get documentation for.one of
httppythongotypescriptterraformrubyjavakotlin querystringrequired- The search query to find relevant documentation.
whopmcp_invoke_api_endpointInvoke an endpoint in the Whop TypeScript API.WriteInvokeApiEndpoint
Invoke an endpoint in the Whop TypeScript API. Note: use the `list_api_endpoints` tool to get the list of endpoints and `get_api_endpoint_schema` tool to get the schema for an endpoint.
Inputs
argsobjectrequired- The arguments to pass to the endpoint, as a JSON object matching the endpoint's schema.
endpoint_namestringrequired- The name of the endpoint to invoke.
No tools match.