Skip to main content
Glama

find_advisor

Read-onlyIdempotent

Use this when the user described a task/problem but has not chosen an advisor yet («кто поможет», «с чего начать», бизнес-задача без имени методики). After this tool, call ask_advisor with a slug from the response. Подбор советника под задачу. Возвращает best_matches (может быть пусто) и ВСЕГДА полный catalog. catalog: tasks, pick_when, not_for. Выбирай по tasks/pick_when; если нужен выбор цели — ОДИН разводящий вопрос по not_for, не меню имён. Slug для ask_advisor — только из ответа. how_to_work — режимы/эстафеты/линзы; следуй ей.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
goalNoЧто должно произойти в результате (опционально; помогает ранжированию косвенно через формулировку task).
taskYesЗадача пользователя дословно: что нужно сделать / какую ситуацию разобрать. Обязательное поле.
contextNoКраткий контекст: роль, отрасль, ограничения (опционально).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteYes
catalogYes
how_to_workYes
best_matchesYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "best_matches": {
      +      "items": {
      +        "oneOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "access": {
      +                "enum": [
      +                  "available",
      +                  "needs_subscription",
      +                  "needs_purchase"
      +                ],
      +                "type": "string"
      +              },
      +              "author": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "not_for": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "pick_when": {
      +                "type": "string"
      +              },
      +              "slug": {
      +                "type": "string"
      +              },
      +              "tasks": {
      +                "type": "string"
      +              },
      +              "title": {
      +                "type": "string"
      +              },
      +              "why_great": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "required": [
      +              "slug",
      +              "title",
      +              "author",
      +              "access",
      +              "tasks",
      +              "pick_when",
      +              "not_for",
      +              "why_great"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "access": {
      +                "enum": [
      +                  "available",
      +                  "needs_subscription",
      +                  "needs_purchase"
      +                ],
      +                "type": "string"
      +              },
      +              "author": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "description": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "slug": {
      +                "type": "string"
      +              },
      +              "title": {
      +                "type": "string"
      +              },
      +              "why_great": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "required": [
      +              "slug",
      +              "title",
      +              "author",
      +              "access",
      +              "description",
      +              "why_great"
      +            ],
      +            "type": "object"
      +          }
      +        ]
      +      },
      +      "maxItems": 5,
      +      "type": "array"
      +    },
      +    "catalog": {
      +      "items": {
      +        "oneOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "access": {
      +                "enum": [
      +                  "available",
      +                  "needs_subscription",
      +                  "needs_purchase"
      +                ],
      +                "type": "string"
      +              },
      +              "author": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "not_for": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "pick_when": {
      +                "type": "string"
      +              },
      +              "slug": {
      +                "type": "string"
      +              },
      +              "tasks": {
      +                "type": "string"
      +              },
      +              "title": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "slug",
      +              "title",
      +              "author",
      +              "access",
      +              "tasks",
      +              "pick_when",
      +              "not_for"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "access": {
      +                "enum": [
      +                  "available",
      +                  "needs_subscription",
      +                  "needs_purchase"
      +                ],
      +                "type": "string"
      +              },
      +              "author": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "description": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "slug": {
      +                "type": "string"
      +              },
      +              "title": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "slug",
      +              "title",
      +              "author",
      +              "access",
      +              "description"
      +            ],
      +            "type": "object"
      +          }
      +        ]
      +      },
      +      "maxItems": 120,
      +      "type": "array"
      +    },
      +    "how_to_work": {
      +      "type": "string"
      +    },
      +    "note": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "best_matches",
      +    "catalog",
      +    "note",
      +    "how_to_work"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, but the description adds significant context: it always returns a full catalog, best_matches may be empty, catalog structure (tasks, pick_when, not_for), and the how_to_work field with instructions to follow it. It also warns to only use slugs from the response, preventing hallucination. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a dense block of five sentences, each carrying information. It front-loads the usage condition and workflow. It is not overly verbose, but the Russian text is a bit run-on. Still, it is appropriately sized for the complexity, earning a 4.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description doesn't need to explain return values, yet it goes beyond by detailing catalog fields, best_matches behavior, and follow-up workflow. It covers when to use, what to expect, and how to proceed, making it fully complete for a 3-parameter tool with rich output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains all parameters. The description adds a minor nuance: 'goal helps ranking indirectly through task formulation', which is slightly redundant. It does not provide format examples or clarify parameter relationships beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Подбор советника под задачу' (selecting an advisor for the task) and gives a specific trigger condition: 'when the user described a task/problem but has not chosen an advisor yet'. It also distinguishes from siblings by prescribing a workflow with ask_advisor, making the tool's role unique.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use: 'Use this when the user described a task/problem but has not chosen an advisor yet'. It also provides clear next steps: 'After this tool, call ask_advisor with a slug from the response', and gives detailed instructions on how to use the catalog fields (tasks/pick_when, one clarifying question on not_for). This is strong guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.3/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: listing the catalog, finding an advisor for a task, asking a specific advisor a question, and checking access. The overlap between find_advisor and list_advisors is minimal and well-explained, so no confusion arises.

Naming Consistency4/5

Three tools follow the verb_noun pattern (ask_advisor, find_advisor, list_advisors), but my_access deviates by being a possessive phrase rather than a verb-based name. This is a minor inconsistency in an otherwise predictable scheme.

Tool Count5/5

With only 4 tools, the server is tightly scoped to the core advisory workflow: discover, match, consult, and manage access. Every tool earns its place, and the count feels appropriate for the domain.

Completeness5/5

The tool set covers the full user journey: listing available advisors, finding the best match for a task, asking an advisor with session continuity, and checking access/limits. There are no obvious gaps for the stated purpose of providing business methodology advice.

Resources