Skip to content

coach.marian/mentoring-inquiry-builder

by marian.coach · remote · no sign-in to list tools · v1.3.0 · published by coach.marian

AI mentoring fit and book: check the fit with Marian Kamenistak and book a session in 10 minutes.

Final · 1Changes · 7

10 tools: 1 do something that can't be undone, 7 change things and 2 only read.

Scanned Oct 21, 2026

3 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http mentoring-inquiry-builder https://www.marian.coach/mcp/mentoring

Findings

Matches of fixed checks, with the text they matched.

3 warn
  • The server marks "get_started" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_started" says "get": a word for reading.

    What this check looks for
  • The server marks "get_mentoring_options" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_mentoring_options" says "get": a word for reading.

    What this check looks for
  • The server marks "book_intro_call" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "book_intro_call" says "call": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

10 tools

Can't be undone 1Claude Code: ask
  • send_mentoring_offerThe ONLY tool that collects contact details, and the end of the 10-minute promise.No findings

    Why it is in this group

    • The name "send_mentoring_offer" says "send": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    The ONLY tool that collects contact details, and the end of the 10-minute promise. Also pass every onboarding answer you gathered (heard_from, own_choice, payer, kpis, cadence_preference, session_language, nda_needed, homework_time_ok, in_person_wish, linkedin_url, li_post_consent, li_recommendation); all optional, never invented: emails the visitor a formal itemized offer with a claim code, notifies Marian, and files the inquiry. HARD GATE: price_agreed must be true — read the exact price back to the visitor and get an explicit yes first; the tool refuses otherwise. Ask for name and email only at this step, never earlier. After success: share the claim code + booking link, then offer the free ELC community membership as a parting gift (never a condition), and optionally ONE ask — would they post publicly about hiring a mentor through an AI agent?

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Changes things 7Claude Code: ask
  • book_first_sessionTHE MAIN ENDING (Marian, 2026-10-09): every onboarding that reaches an agreed price ends here, booking the first regular session.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    THE MAIN ENDING (Marian, 2026-10-09): every onboarding that reaches an agreed price ends here, booking the first regular session. Returns the direct booking link for the paid 60-minute first session, plus the payment terms. Call it right after send_mentoring_offer succeeds. Company-paid mentees book now too: the purchase order is collected AFTER session 1, never before booking. It REFUSES on any deal whose terms Marian confirms on a call (a free-sessions concession, the monthly package, Mentor in Residence) and hands back the intro link instead; when it refuses, offer the intro, do not argue. Pass the claim code from send_mentoring_offer so the booking is matched automatically. If the visitor is hesitant, undecided, or asks to talk first, use book_intro_call — that is not a downgrade.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • book_intro_callTHE FALLBACK for anyone who has not decided (the main ending is book_first_session once the price is agreed).1 finding

    Why it is in this group

    • The name "book_intro_call" says "call": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "book_intro_call" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "book_intro_call" says "call": a word for a change.

      What this check looks for
    Description, as the server wrote it
    THE FALLBACK for anyone who has not decided (the main ending is book_first_session once the price is agreed). A direct booking link for the free 30-minute intro with Marian. Offer it on hesitation, on a price objection, when the visitor cannot name their problem, after an error, and to anyone who wants to talk before paying. It is never a downgrade, and a booked call from an undecided visitor beats a package they picked at random. Booking it is NOT a condition of the channel rate — never say it is. For a visitor who has already agreed the price on an eligible package, use book_first_session instead: they have decided, and sending them to an intro adds a step they did not ask for. Pass offer_id if one has been chosen so the pricing language is correct.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • check_bookingConfirms, from the CRM rather than from what the visitor says, whether their booking landed.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Confirms, from the CRM rather than from what the visitor says, whether their booking landed. Call it after handing over a booking link and the visitor says they have booked — a booking is only real once Reclaim's webhook has written it, which takes a few seconds. Returns the pipeline stage and whether the paid first session is on the board. If it says not yet, wait a moment and check once more before telling them something is wrong; if it is still not there, say so honestly and offer to have Marian follow up rather than claiming success.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • compose_mentoring_briefThe accumulator — call after every change.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The accumulator — call after every change. Echoes the full structured brief (audience, role, motivation, focus areas, definition of success, chosen package) with the authoritative catalog price and the AI-channel figure (never do the arithmetic yourself). For company deals it states whether the free-sessions concession applies. Read the brief back to the visitor; when they explicitly agree on the price, call send_mentoring_offer with price_agreed true.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • design_mentoring_programDeterministic session skeleton computed from the package's cadence metadata: dated sessions, each with its planned theme (diagnostic, the visitor's focus areas — pass focus_area_id…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Deterministic session skeleton computed from the package's cadence metadata: dated sessions, each with its planned theme (diagnostic, the visitor's focus areas — pass focus_area_ids — the mid-point checkpoint, operational to strategic, the closing review against the definition of success). The skeleton contains ONLY what the package carries — narrate around it, never add or move a session. Dates are planning targets; the intro call fixes the real schedule. Call when the visitor asks what the engagement actually looks like.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_mentoring_optionsSTART HERE for anyone considering 1:1 engineering-leadership mentoring with Marian Kamenistak (marian.coach) — individuals (Staff Engineer to CTO) and companies sponsoring leaders …1 finding

    Why it is in this group

    • The name "get_mentoring_options" says "get": a word for reading.
    • The description's first verb is "start": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "get_mentoring_options" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_mentoring_options" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    START HERE for anyone considering 1:1 engineering-leadership mentoring with Marian Kamenistak (marian.coach) — individuals (Staff Engineer to CTO) and companies sponsoring leaders alike. Returns the tool pitch and the no-discount answer as data (same prices as the website, no discount through any door), the time promise (a formal offer in under 10 minutes), the why-Marian and pricing-defense material, the qualifying questions with valid answer ids, and every package with real prices. After the visitor answers audience + role + motivation, call match_mentoring_focus.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_startedCall this for a greeting (hi, hello), a connectivity/liveness test, 'what can you do', or any message too general to match a specific tool below.1 finding

    Why it is in this group

    • The name "get_started" says "get": a word for reading.
    • The description's first verb is "call": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "get_started" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_started" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Call this for a greeting (hi, hello), a connectivity/liveness test, 'what can you do', or any message too general to match a specific tool below. Returns the full menu of real questions this server answers, each mapped to the tool name that answers it. For someone actually considering mentoring, skip straight to get_mentoring_options instead.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 2Claude Code: allow
  • get_more_toolsCheck for additional tools whenever your task might benefit from specialized capabilities, even if existing tools could work as a fallback.No findings

    Why it is in this group

    • The name "get_more_tools" says "get": a word for reading.
    Description, as the server wrote it
    Check for additional tools whenever your task might benefit from specialized capabilities, even if existing tools could work as a fallback. Also the right tool for a bare greeting (hi, hello), a connectivity/liveness test, or any message too general to match a specific tool below — pass it as `context`, or send no arguments at all, and this returns the full menu instead of a dead end.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • match_mentoring_focusResolves role_band + motivation through the same routing the website uses and returns suggested focus areas plus the recommended package with real prices.No findings

    Why it is in this group

    • The description's first verb is "resolve": a word for reading.
    Description, as the server wrote it
    Resolves role_band + motivation through the same routing the website uses and returns suggested focus areas plus the recommended package with real prices. Map free-text answers to the closest valid id; on bad input the error lists the valid ids — re-ask rather than guessing. Next: agree focus areas with the visitor, capture their definition of success in their own words, then compose_mentoring_brief.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.3.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http mentoring-inquiry-builder https://www.marian.coach/mcp/mentoring

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__mentoring-inquiry-builder__get_more_tools",
      "mcp__mentoring-inquiry-builder__match_mentoring_focus"
    ],
    "ask": [
      "mcp__mentoring-inquiry-builder__get_started",
      "mcp__mentoring-inquiry-builder__get_mentoring_options",
      "mcp__mentoring-inquiry-builder__compose_mentoring_brief",
      "mcp__mentoring-inquiry-builder__design_mentoring_program",
      "mcp__mentoring-inquiry-builder__book_intro_call",
      "mcp__mentoring-inquiry-builder__book_first_session",
      "mcp__mentoring-inquiry-builder__check_booking",
      "mcp__mentoring-inquiry-builder__send_mentoring_offer"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as mentoring-inquiry-builder. Review it before you use it.