casecraft
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| catalogA | List every case and drill category available, with counts. Safe to show the candidate — it contains titles and counts, never content. Use it to offer choices ("I have a profitability case in airlines and a market-entry case in consumer health — which would you like?"). |
| progressA | The candidate's history: weakest areas, repeated mistakes, recent attempts. Use it to recommend what to practise, and to open a session with something
specific ("last time you dropped the load factor twice — let's do capacity
math"). |
| start_caseA | Begin a full case interview. Opens the interview room in the browser. Returns a briefing: format, industry, difficulty, how many questions, and the topics of clarifying information available — never the facts themselves. Tell the candidate the room is open and confirm they can hear you before starting. |
| start_drillA | Begin a drill: loose questions pulled across cases, no full-case context. This is the "only hard math" mode. Each question carries its own standalone
framing so it makes sense out of case order. With |
| sayA | Speak in your own voice — greetings, probes, transitions, feedback. Keep it conversational and brief — in voice mode it is read aloud, and in text mode it appears as a chat line. Either way: no lists, no markdown, no long sentences. With |
| listenA | Hear whatever the candidate says next — not tied to any question. This is the conversational channel: clarifying questions, "can you repeat
that", "I'm ready", thinking out loud. If it returns |
| ask_case_promptA | Read the case prompt aloud to open the interview. Returns no content — the prompt reaches the candidate inside the room only, never through this tool result (which would land in the chat transcript). After this, expect clarifying questions before they start structuring. |
| next_questionA | Advance to the next question and read it aloud. Returns metadata only — type, difficulty, time target — never the text.
Use the type to calibrate: a |
| repeat_questionA | Deliver the current question again. Candidates are allowed to ask. |
| answer_clarificationA | Release one withheld fact, if the candidate asked for it. This is the only way case data reaches them, and it's deliberate: good
candidates ask, weak ones assume. If nothing matches, you get |
| release_clarificationA | Release a specific withheld fact by id, when keyword matching missed it. Use only when the candidate's question clearly maps to that topic. You are matching intent, not deciding generosity — if they didn't ask for it, don't release it. |
| collect_answerA | Listen for the candidate's spoken answer, then grade what can be graded. Call it right after asking a question. If it returns Math answers come back fully graded (deterministic, instant). Framework and
synthesis answers come back with the rubric's component labels and the
committed transcript — read them, decide which components the candidate
actually covered, and pass those ids to |
| scoreA | Record which rubric components the answer covered, and get the verdict. You supply the semantic matching; the pass/probe policy lives server-side so
it's identical for everyone. A PARTIAL verdict with a named gap is your cue
to |
| probeA | Get the next hint for the current question, escalating weakest-first. Real interviewers nudge before they explain. Speak the probe with |
| reveal_model_answerA | The casebook's own answer for the current question. Only after grading. Use it to explain what a strong answer sounds like — paraphrase it conversationally rather than reading it out verbatim. |
| show_exhibitA | Display a chart or table in the room. Exhibits are the one thing the candidate is meant to see — a real interviewer slides paper across the table. Speak the intro line, then give them a moment before asking what they make of it. |
| room_statusA | Inspect the interview room: state, page health, and a timestamped log. Use this the moment anything looks wrong — silence, a stall, an answer that never arrived. It reports what was spoken, whether the page acknowledged it, whether the mic is open and whether a tab is even connected, so you can diagnose without asking the candidate what they see on screen.
|
| room_actA | Drive the room as if you were the candidate. For testing, not for cheating. This lets you rehearse or diagnose the whole flow with nobody at the keyboard — press Start, submit an answer, confirm the loop advances. During a real interview, don't answer on the candidate's behalf. |
| finishA | End the session and return the scorecard. Four dimensions, rated 1–5, where 3 is the bar. Note |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Olivesz/casecraft'
If you have feedback or need assistance with the MCP directory API, please join our Discord server