Ladder by Aizhan Li
Server Details
Goal self-check by the Ladder method of Aizhan Li. Name a goal, where you are now and what stands between, and see which steps hold you back. Works in Kazakh, Russian and English. No sign-in, answers are not stored.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 2 tools
The two tools have clearly distinct roles: get_ladder_questions retrieves the self-check prompts, while analyze_ladder processes the user's answers. Their descriptions explicitly separate their use cases, leaving no meaningful overlap.
Both names follow a consistent verb_noun snake_case pattern: get_ladder_questions and analyze_ladder. The convention is predictable and easy to infer.
Two tools is thin for a server, but the domain is a narrowly defined self-check workflow. The pair covers the essential sequence, though the surface is borderline minimal.
The tools cover the core lifecycle: fetching questions and analyzing answers, with a link to the full diagnostic. There is little room for additional CRUD operations given the read-only, single-workflow design, though the surface is intentionally limited.
Available Tools
2 toolsanalyze_ladderRead a Ladder self-checkARead-onlyIdempotentInspect
Builds a short Ladder from the user’s own answers (a goal, the “I” point, 3 to 5 obstacles, up to 5 fears) and returns the steps by zone, what the ladder shows, two reflection questions and a link to the full diagnostic on 108psy.com. Use after the user has answered the self-check questions. Pass only the user’s own short phrases. Do not pass diagnoses, symptoms, medication or other health details: the tool does not analyze them. If the words show signs of crisis or violence, it returns kind crisis with helpline numbers instead of a reading: then show only that message and the numbers, with no steps and no reading of the ladder. Read-only: answers are not stored or logged, so it is safe to retry.
| Name | Required | Description | Default |
|---|---|---|---|
| me | Yes | Where the user is now in relation to the goal, in one sentence. | |
| goal | Yes | The user’s measurable goal in their own words, for example “200,000 ₸ a month”. | |
| fears | No | Optional fears above the goal, from the bottom up. Empty if the user named none. | |
| blocks | Yes | Obstacles between the user and the goal, from the nearest one up. | |
| language | Yes | Language of the user’s messages: ru (Russian), kk (Kazakh) or en (English, also for any other language). |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | Yes | reading: the ladder was read. crisis: helpline numbers instead of a reading. health: health details are not analyzed. |
| steps | No | Steps from the bottom up. |
| author | No | |
| helpUrl | No | |
| message | No | |
| insights | No | |
| language | Yes | |
| questions | No | |
| disclaimer | No | |
| nearestBlock | No | |
| fearsAboveGoal | No | |
| fullDiagnostic | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false; the description reinforces this with "answers are not stored or logged, so it is safe to retry," which is the retry-relevant consequence rather than a restatement. More importantly it discloses a major behavioral branch absent from annotations: crisis or violence language short-circuits the normal reading and returns helpline numbers instead. That is exactly the kind of beyond-schema behavior an agent must know before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the outcome the tool produces, then constraints, then the crisis branch, then the read-only note, which is a sensible priority order for an agent skimming. It is a single dense block rather than scannable segments, and the parenthetical input list (goal, "I" point, obstacles, fears) partly duplicates the schema. Still, nearly every sentence carries decision-relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description does not need to re-document return values, and it instead describes only the shape of the payoff plus the exceptional crisis return. Combined with the annotation coverage and the privacy/retry note, an agent has everything needed to call this correctly, handle the fallback branch, and know that retrying is harmless.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 and the schema already documents every field, including lengths, array bounds and the language enum. The description still adds real semantic constraints on what may be passed: only the user's own short phrases, and no diagnoses, symptoms, medication or health details. That is meaning beyond the schema's type and length rules, though it does not clarify field-level distinctions the schema leaves implicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and artifact: builds a Ladder from the user's own answers and returns zone-grouped steps, an interpretation, two reflection questions and a link to the full diagnostic. The enumeration of inputs (goal, "I" point, 3-5 obstacles, up to 5 fears) matches the schema exactly, so the agent knows precisely what it produces and from what. Placing it "after the user has answered the self-check questions" functionally separates it from get_ladder_questions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger (once the user has answered the self-check questions), explicit exclusions (do not pass diagnoses, symptoms, medication or other health details, because the tool does not analyze them), and a distinct fallback path for crisis or violence language. It also tells the agent what to do when that fallback fires: show only the crisis message and helpline numbers, with no steps and no reading. The sibling get_ladder_questions is not named outright, but the sequencing plus the negative guidance leaves little ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ladder_questionsGet Ladder self-check questionsARead-onlyIdempotentInspect
Returns the questions of the Ladder self-check by Aizhan Li, author of the Ladder method: a measurable goal, where the person is now (the “I” point), 3 to 5 obstacles (things people said that the person believes) and optional fears above the goal. Use when the user wants to do the Ladder self-check or asks how the Ladder method works. Do not use for questions about an illness, symptoms, the psychosomatics of a disease or medication. Returns texts in Russian, Kazakh or English. Read-only: takes no personal data and stores nothing.
| Name | Required | Description | Default |
|---|---|---|---|
| language | Yes | Language of the user’s messages: ru (Russian), kk (Kazakh) or en (English, also for any other language). |
Output Schema
| Name | Required | Description |
|---|---|---|
| author | Yes | |
| method | Yes | |
| language | Yes | |
| questions | Yes | |
| disclaimer | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is largely covered. The description adds value beyond that by stating the returned language options and the privacy posture ("takes no personal data and stores nothing"), which is not encoded anywhere in the structured fields. Return-shape detail is rightly omitted because an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and content list are front-loaded, followed by when-to-use, the exclusion, and the privacy note in a logical order. The parenthetical definition of obstacles ("things people said that the person believes") is helpful domain context rather than filler, though the sentence runs long and the attribution to the author is a minor luxury.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with an output schema and full annotation coverage, the description supplies everything an agent needs: what it returns, when to call it, when not to, language behavior, and privacy. The only material omission is explicit routing versus the sibling analyze_ladder, which is the most likely invocation ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single enum parameter already documents ru/kk/en, including the fallback rule for other languages. The description's "Returns texts in Russian, Kazakh or English" restates the enum without adding syntax, defaults, or fallback details beyond what the schema says. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource ("Returns the questions of the Ladder self-check") and enumerates the content of those questions (goal, current 'I' point, 3–5 obstacles, optional fears), so an agent knows exactly what comes back. It distinguishes itself implicitly from the sibling analyze_ladder by being the content/framework tool rather than an analyzer, but it never names that sibling, so the differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit positive triggers ("the user wants to do the Ladder self-check or asks how the Ladder method works") and an explicit exclusion ("Do not use for questions about an illness, symptoms, the psychosomatics of a disease or medication"). What it lacks is routing to the alternative tool — with analyze_ladder present as a sibling, the definition never says when to prefer that one instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
analyze_ladder - First observed
get_ladder_questions
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceRemote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.MIT
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs115 npm58 PyPIMIT
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1623 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.