The Fever MCP connector routes your AI agent's tool calls to Fever's own MCP server through Scalekit. Each user signs in to Fever once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 2 tools.
- Tools
- 2
- What they doRead · write · destructive
- 2 · 0 · 02 read0 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 Fever MCP connection
In AgentKit > Connections, create a Fever MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for Fever 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 = 'fevermcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Fever 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: 'fevermcp_search_events',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 = "fevermcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Fever MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="fevermcp_search_events",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_toolfevermcp_search_citiesFind cities where Fever operates and offers events/activities.Read-onlySearch Cities
Find cities where Fever operates and offers events/activities. Perfect for location discovery and travel planning.
Inputs
localestringrequired- Language code (en, es, fr, de, pt, it, ar, bg, ca, cs, da, el, et, fi, he, hr, hu, id, ja, ko, lt, lv, nl, pl, ro, sk, sl, sv, th, tr, zh) - affects localization
querystringrequired- City name or search term (use '' for all cities)
city_codestring- Optional 3-letter city code (e.g., MAD, NYC, LON, BCN)
only_suggestedboolean- True returns only top/popular citiesdefault
false
fevermcp_search_eventsFind events, activities, and experiences available in a specific city through Fever.Read-onlySearch Events
Find events, activities, and experiences available in a specific city through Fever. Perfect for event discovery and travel planning. When the user mentions a time frame (e.g. 'this weekend', 'next Friday', 'in April'), set start_datetime and end_datetime to filter results.
Inputs
city_codestring- 3-letter city code (e.g., MAD, NYC, LON, BCN). Required if coordinates not provided.
end_datetimestring- End datetime in ISO 8601 format (UTC)
include_descriptionboolean- If True, includes full plan descriptions in the responsedefault
false latitudenumber- Latitude for coordinate search (-90 to 90)
localestring- Language code - affects content languagedefault
en longitudenumber- Longitude for coordinate search (-180 to 180)
pageinteger- Page number starting from 0 for paginationdefault
0 page_sizeinteger- Results per page (default 12, max 100)default
12 querystring- Search term for specific events (optional, '' for all)default
radiusinteger- Search radius in meters when using coordinates
sort_bystring- Sort order: popularity, price, rating, closest_session, distance, randomone of
popularitypriceratingclosest_sessiondistancerandomdefaultpopularity start_datetimestring- Start datetime in ISO 8601 format (UTC)
No tools match.