apply_to_mentor
ChatGPTSend a mentorship application to a mentor on the signed-in mentee's behalf. Requires OAuth Connect. goal must be a real, specific message (min 50 characters). Optional plan_hash selects a pricing plan from get_sessions_or_services. The mentor is notified after a spam check. This does not charge anything. Payment happens on mentorcruise.com: call open_dashboard (kind=applications) and have the user open dashboard_url.
book_intro_call
ChatGPTBook an intro call on an accepted application. Requires Authorization: Bearer. start is an ISO-8601 datetime from list_intro_call_slots. Does not retry other slots on failure.
book_mentorship_call
ChatGPTBook a mentorship call on an active mentorship. Requires Authorization: Bearer. start is an ISO-8601 datetime from list_mentorship_call_slots.
create_booking_link
ChatGPTGenerate booking deep-links for an ONGOING MENTORSHIP (subscription / PricingPlan). Returns: - apply_url: where the user starts the subscription. Optional plan_hash pre-selects a specific plan. - inquiry_url: free question before committing (no booking). - requires_intro_call: when true, the mentor offers a free intro call. apply_url already routes the user to the scheduler first — mention the intro call when sharing it. IMPORTANT: this tool is for ongoing mentorships only. For ONE-OFF SESSIONS, use the booking_url from get_sessions_or_services directly — those bookings go through /sessions/<slug>/book/, NOT /apply/. The user must click the link and sign in via the browser — this tool does NOT book on their behalf.
get_account
ChatGPTReturn the signed-in mentee's first/last name, credit balance, and a one-use dashboard URL. Does not return email. Requires Authorization: Bearer from OAuth Connect.
get_application
ChatGPTRead one application the signed-in mentee owns: status, action_required, whether they can withdraw, and the Pinax message thread. Requires Authorization: Bearer. application_hash comes from list_applications.
get_mentor_profile
ChatGPTFetch the full public profile for a single MentorCruise mentor. Use the username from a search_mentors result. Returns name, headline, company, bio, skills, languages, rating, monthly price, response time, open spots, and the public profile URL. Returns {'error': 'not_found'} if the mentor doesn't exist or is hidden.
get_messages
ChatGPTRead TalkJS messages from a mentor conversation. Requires Authorization: Bearer. conversation_id is the hash from list_conversations. Newest first. Pass starting_after with a message id to page into older messages.
get_sessions_or_services
ChatGPTList the mentorship plans (ongoing subscriptions) and one-off sessions a mentor offers. Use this after get_mentor_profile when the user is comparing what they'd get for the money. TWO DIFFERENT BOOKING ROUTES — pay attention to booking_route on each item: - subscriptions[] (ongoing mentorship): book via the apply flow. Each subscription item already includes its booking_url. You can also pass its hash to create_booking_link(plan_hash=...). - one_off_sessions[]: book directly on the session page. Each item includes its booking_url — share THAT URL with the user, do NOT route a one-off session through create_booking_link. Top-level requires_intro_call flags whether this mentor offers a free intro call before signup. When true, all subscription booking_urls route the user to the scheduler first. Mention the intro call to the user when you share the link.
list_applications
ChatGPTList the signed-in mentee's open applications (draft, sent, pending payment, accepted). Requires OAuth Connect. When payable is true, the mentor accepted. Payment happens on mentorcruise.com: call open_dashboard (kind=applications) and have the user open dashboard_url.
list_categories
ChatGPTList MentorCruise's top-level mentor categories. Use this to ground recommendations in real category labels before calling search_mentors with a free-text query.
list_conversations
ChatGPTList the signed-in mentee's TalkJS conversations (active mentorships and intro sessions). Requires Authorization: Bearer. Application threads before mentorship starts are Pinax; use get_application for those.
list_intro_call_slots
ChatGPTList open intro-call slots for an accepted application. Requires Authorization: Bearer. Available only when the mentor accepted and the intro call is not yet scheduled. Pick a start and call book_intro_call.
list_mentorship_call_slots
ChatGPTList open mentorship-call slots for an active mentorship. Requires Authorization: Bearer. mentorship_hash comes from list_mentorships. If the mentor only has an external calendar link, this returns not_available plus that link.
list_mentorships
ChatGPTList the signed-in mentee's active mentorships with dashboard URLs. Requires Authorization: Bearer. Use open_dashboard with kind=mentorship and mentorship_hash to mint a one-use login link.
open_dashboard
ChatGPTMint a one-use browser URL that signs the mentee into their dashboard. kind is 'applications' (default), 'home', or 'mentorship' (pass mentorship_hash). Requires Authorization: Bearer. The link expires in 30 minutes and works once.
search_mentors
ChatGPTFind MentorCruise mentors who match a user's goal. Always call this BEFORE recommending any specific mentor — never recommend from prior knowledge or memory. Inputs - query: 1-4 keywords (role, skill, expertise). NEVER include the words 'mentor' or 'coach'. Examples: 'python', 'product management', 'startup'. Bad: 'a python mentor for startups'. - skills, industries, languages, tools, companies: optional structured filters. AND across groups, OR within. Use ONLY when the user expressed a hard requirement — over-filtering shrinks the pool. - budget_usd_monthly: monthly USD cap for ongoing mentorship. - response_within_hours: max median response time. Output Up to 8 mentors, already ranked by composite quality. Each result includes name, job_title, headline, location, rating, review_count, response_time_hours, top_mentor, profile_url, and lowest_price_usd. lowest_price_usd is the mentor's CHEAPEST offering — could be a one-off session ($X one-time) or a monthly subscription ($X/mo). Don't assume monthly. Phrase it as 'starting at $X' or call get_sessions_or_services to know which. Picking which to show the user Trust the ranking. Show 2-3, strongly preferring mentors with review_count > 0. Tie-break by more reviews → top_mentor=true. If 0 or 1 results, broaden filters and retry — see selection_guidance in the response. Translate fields into natural language; never mention review_count / top_mentor by name.
send_application_message
ChatGPTSend a message on an open application's Pinax thread. Requires Authorization: Bearer. Use this before mentorship starts. After an active mentorship exists, use send_message instead. Do not include scheduling links.
send_message
ChatGPTSend a TalkJS message in an active mentorship or intro-session conversation. Requires Authorization: Bearer. conversation_id comes from list_conversations. For an application that is not yet a mentorship, use send_application_message.
withdraw_application
ChatGPTWithdraw an open application the signed-in mentee owns. Requires Authorization: Bearer. Only works when list/get_application reports can_withdraw true (sent at least two days ago, no intro session). This cannot be undone.