Skip to main content
Glama

AstroTune — Vedic astrology (Jyotish)

Server Details

Jyotish charts, vargas, dashas, panchang, transits, matching. Place by name, no API key.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.9/5.0

Scored across 19 tools

Disambiguation4/5

Most tools are sharply distinct and the descriptions aggressively clarify boundaries, e.g., dasha_timeline vs. life_events. A few pairs overlap in underlying data—astro_context with natal_chart/varga_chart/dasha_timeline, and compare_methods with verify_external_chart—but they are differentiated by purpose and explicit warnings.

Naming Consistency3/5

All names are lower_snake_case and readable, but they mix structural patterns: verb_noun (find_place, compare_methods), noun_noun (dasha_timeline, varga_chart), bare nouns (panchanga, compatibility), and a phrase (what_we_calculate). There is no consistent verb_noun convention across the set.

Tool Count4/5

19 tools is on the high side of the typical MCP range, but the Vedic astrology domain is broad and each tool covers a distinct calculation, query, or meta function. The count feels slightly heavy rather than bloated.

Completeness4/5

Core Jyotish needs are well covered: natal/varga charts, dashas, transits, panchanga, muhurta, compatibility, corpus research, and data-lookup helpers. Minor gaps remain—specific-purpose muhurta, the full varga set, and rectification are explicitly not provided—but they are documented rather than accidental.

Available Tools

19 tools
astro_contextAInspect

Что смотрят по теме вопроса и что у человека в этих местах посчитано. Темы: karyera, brak, dengi, zdorove, pereezd. Отдаёт дома темы со знаком и управителем (и куда управитель ушёл), грахи в этих домах, варгу темы и текущий период — одним вызовом вместо пяти. ⛔ ТОЛКОВАНИЯ ЗДЕСЬ НЕТ: перечислено только то, ЧТО смотрят, и что там стоит. Вывод делаете вы, и делайте его из этих данных, а не из общих знаний о знаках. ⚠️ Тему называете вы: свободный текст вопроса сюда не принимается — определять тему по фразе значило бы завести вторую модель внутри расчётного слоя.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
langNoru
timeNo
placeNo
topicYes
ayanamsaNoLahiri
chart_idNo
geonameidNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It clearly discloses that no interpretation is provided ('ТОЛКОВАНИЯ ЗДЕСЬ НЕТ'), that the agent must make conclusions from the data, and that free-text questions are rejected. This is strong transparency for a read-only calculation tool, though it omits any mention of error handling or prerequisites such as chart availability.

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 compact and front-loaded: purpose and topic list first, then the output contents, then behavioral warnings. Each sentence carries distinct value and nothing is redundant. The opening phrase is slightly awkward but not bloated.

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

Completeness4/5

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

Given that an output schema exists, the description does not need to explain return values in detail; it covers the critical behavioral context and the main invocation constraint. It is sufficiently complete for an agent to call the tool correctly, though explicit selection criteria relative to sibling tools would improve it further.

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?

The description adds meaningful semantics to the topic parameter: it names the five valid topics and explicitly instructs that the agent must name the topic and cannot submit free text. However, schema coverage is 0%, and the description does not compensate for the remaining parameters (date, time, place, chart_id, geonameid, lang, ayanamsa), leaving much of their meaning to be inferred from the schema's enums and defaults.

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

Purpose4/5

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

The description states a concrete action ('Отдаёт') and enumerates exactly what is returned: houses, signs, rulers, planets, varga, and current period. It also pins down the allowed topic set. However, it does not explicitly differentiate this tool from sibling tools like natal_chart or dasha_timeline, so it stops short of a 5.

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

Usage Guidelines3/5

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

The phrase 'одним вызовом вместо пяти' implies this tool is an aggregate for a set of related astrological lookups, and the warning instructs the agent to supply the topic rather than free text. There is no explicit statement of when to prefer this tool over alternatives or which sibling tools it replaces, so usage guidance remains largely implicit.

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

birth_time_windowAInspect

Время рождения известно ОКНОМ («между 13 и 16»): что из карты определимо, а что нет. Отдаёт устойчивое (знак Луны, накшатру, паду, текущий период — если они одинаковы во всём окне), перечень возможных лагн с границами по времени и список того, что без точного времени неопределимо. ⛔ ЭТО НЕ РЕКТИФИКАЦИЯ: время не подбирается и «наиболее вероятная» лагна не называется. Не выбирайте за человека одну из перечисленных — в этом весь смысл. Окно — до шести часов в пределах одних суток.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
langNoru
placeNo
time_toYes
ayanamsaNoLahiri
chart_idNo
geonameidNo
time_fromYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses the tool's non-rectification behavior, the output categories (stable items, possible lagnas, indeterminate items), and the constraint on the window size. It does not mention whether the tool requires a place/date or what happens if the window crosses midnight, but the core behavioral traits are well covered.

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

Conciseness5/5

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

The description is compact, front-loaded with the core concept, and every sentence adds value. It uses a clear example, a warning, and a constraint without redundancy. The structure is easy to scan and the key message (not rectification) is emphasized.

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

Completeness4/5

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

The tool has an output schema (not shown here) and 8 parameters, but the description covers the essential usage context: what the tool returns, what it does not do, and the window constraint. It does not explain the meaning of all parameters, but the output schema likely covers return values. The description is complete enough for an agent to decide when to call it and what to expect, though a bit more detail on required inputs (date/place) would make it fully complete.

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 0%, so the description must compensate. It explains the meaning of the time window (time_from and time_to) and the output semantics, but it does not explain the roles of date, place, geonameid, chart_id, lang, or ayanamsa. However, the description's focus on the window concept and the explicit 'between 13 and 16' example helps clarify the two required parameters. The other parameters are standard for astrological tools and their names are self-explanatory, but the description does not add detail beyond the schema.

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 purpose: given a birth time window, it determines what is determinable (stable Moon sign, nakshatra, pada, current period) and what is not, and lists possible lagnas with time boundaries. It explicitly distinguishes itself from rectification, which is a strong differentiator.

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 says when to use this tool (when birth time is known as a window) and what not to do (do not pick one lagna for the user, do not treat it as rectification). It also specifies the window constraint (up to six hours within the same day), which is a clear usage boundary.

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

chart_transitsAInspect

Транзиты по карте: где стоят грахи сейчас и когда сменят знак. По умолчанию четыре медленных — Сатурн, Юпитер, Раху и Кету: они отвечают на «что идёт со мной долго». Любые другие называются в bodies: sun, moon, mercury, venus, mars, jupiter, saturn, rahu, ketu. ⚠️ У быстрых тел окно короче: Луна меняет знак каждые 2,3 суток, и год её переходов — список, который нечем читать; для неё окно до двух месяцев. ⭐ Рядом идут ОТРЕЗКИ ОБРАТНОГО ХОДА (retrograde): что пятится сейчас и что начнёт — это ответ на «когда Меркурий станет ретроградным». ⚠️ Раздел retrograde считается по СВОЕМУ набору тел и в СВОЁМ окне (около года вперёд): в нём законно приходят Меркурий, Венера и Марс, даже когда смены знака запрошены только у медленных. Параметру bodies он не подчиняется, и горизонт его назван отдельным полем horizon — сравнивать его с window нельзя. Время рождения необязательно, но без него не считается дом от натальной Луны.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
langNoru
timeNo
placeNo
yearsNo
bodiesNo
chart_idNo
geonameidNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and discloses non-obvious behavior: the retrograde section ignores the bodies parameter, uses its own ~1-year horizon, returns horizon as a separate field not comparable with window, and fast-body windows are shortened. It stops short of describing full request/response behavior but covers the important traps.

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 text is long but information-dense; each warning (fast bodies, retrograde independence, horizon) earns its place, and the lead sentence states the core purpose first. Some redundancy exists in the slow-body explanation, but the structure with sections and warnings is readable.

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

Completeness3/5

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

The definition is complete about its most surprising behavior and the bodies parameter, and the output schema covers return values. But with no annotations and several unexplained input parameters (chart_id, geonameid, place, years, date), an agent cannot confidently construct a non-default request from the description alone.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must explain the parameters. It thoroughly explains the bodies enum and default, and touches on time (birth time optional), but date, lang, years, place, chart_id, and geonameid are left unexplained. Since most parameters are not covered, the description does not compensate for the missing schema descriptions.

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 opening sentence defines the tool's exact function: chart transits, current planetary positions ('где стоят грахи сейчас') and sign-change timing. It goes beyond a noun phrase by specifying the resource (chart transits), the action (report positions/sign changes/retrogrades), and the default body set, so an agent can distinguish it from sky_now or natal_chart.

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

Usage Guidelines3/5

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

The description gives substantial parameter-level usage guidance: default slow planets, short window for the Moon, retrograde section's own body set and horizon, and the birth-time caveat. However, it never names when to prefer this tool over sibling tools such as sky_now or dasha_timeline, so tool-selection guidance is only implied.

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

compare_methodsAInspect

Одна и та же карта в нескольких аянамшах — ответ на «почему у другого сайта другая лагна (или знак Луны)». Показывает, где расхождение МЕНЯЕТ знак или накшатру, а где это доли градуса. ⭐ Разные аянамши — это не «кто-то ошибся»: школы отсчитывают начало зодиака по-разному, и обе карты верны каждая в своей. Называйте человеку именно это.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
langNoru
timeNo
placeNo
chart_idNo
ayanamsasNo
geonameidNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

Since no annotations are provided, the description carries the full burden of behavioral disclosure. It explains that the tool shows discrepancies and emphasizes that different ayanamsas are both correct, which is helpful. However, it does not disclose whether the operation is read-only, any side effects, or the nature of the output beyond showing differences. It is adequate but not comprehensive.

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 well-structured and front-loads the purpose. It is a bit verbose with the star and the final sentence about telling the person, but each sentence adds context. It is concise enough and effectively communicates the key concept without unnecessary fluff.

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

Completeness2/5

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

Given the tool's complexity (7 parameters, no schema coverage) and the existence of an output schema, the description is incomplete. It thoroughly explains the conceptual purpose but omits practical details on how to construct the call (e.g., which parameters are required, how to specify the chart, or how to select ayanamsas). The agent would likely need to inspect the schema for guidance, which is not ideal.

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

Parameters2/5

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

The schema has 0% description coverage and 7 parameters, yet the description only hints at the 'ayanamsas' parameter ('several ayanamsas'). It does not explain how to specify the chart (date, time, place, chart_id, geonameid) or how the ayanamsas list is used. The description fails to compensate for the lack of parameter documentation, leaving the agent to guess.

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: comparing the same chart across multiple ayanamsas to show where differences change signs or nakshatras versus fractional degrees. It uses a specific verb ('shows') and resource ('the same map') and explains the exact use case, making it highly distinguishable from sibling tools without needing to compare schemas.

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

Usage Guidelines4/5

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

It provides a clear scenario for use: answering why another site shows a different lagna or Moon sign. It implicitly tells the agent when to invoke this tool. However, it does not explicitly mention exclusions or name alternative tools, but the context is strong enough for an agent to infer the appropriate situation.

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

compatibilityAInspect

Сравнение двух карт по восьми кутам (kundli matching, аштакута). В ответе РАЗБОР ПО КУТАМ: варна, вашья, тара, йони, граха-майтри, гана, бхакут и нади — у каждой свой балл, потолок и условие, которое его дало. На вопрос «почему столько» отвечайте этим разбором, а не пересказом итога. 🔴 Балл приходит ОТРЕЗКОМ min…max, а не числом: без времени рождения знак Луны определяется по дате не всегда, и выбрать одно из двух законных значений за человека нельзя. Рядом — сколько баллов НЕ посчиталось. ⛔ Процента совместимости метод не даёт ни при каких данных; не выводите его сами делением баллов — это будет ваше число, а не расчёт.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoru
first_dateYes
first_timeNo
first_placeNo
second_dateYes
second_timeNo
second_placeNo
first_geonameidNo
second_geonameidNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior5/5

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

With no annotations provided, the description fully discloses critical behavior: the score is returned as a range (min…max) rather than a single number, the reason (ambiguous Moon sign without birth time), the count of uncalculated points, and a clear prohibition on deriving a percentage. It also describes the response structure by kutas. This is exemplary for a tool with zero annotation support.

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 dense but well-organized, with emojis and clear sections for range behavior and percentage prohibition. The purpose is front-loaded, and each sentence contains essential information. Slightly long, but no wasteful filler.

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

Completeness4/5

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

Given the tool's 9 parameters, no annotations, and no schema descriptions, the description covers the critical aspects: output structure, range behavior, and the prohibition on deriving percentages. It does not address error handling or explicit prerequisites for each parameter, but the required fields are indicated in the schema. Overall, it is sufficiently complete for correct invocation.

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 0%, so the description must compensate. It does add meaning to time parameters by explaining that missing birth time causes a range output. However, it does not explain date formats, the use of place/geonameid, or the lang parameter, leaving several parameters to be inferred from their names. Partial compensation only.

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 starts with 'Сравнение двух карт по восьми кутам (kundli matching, аштакута)', which names a specific verb, resource, and scope. It clearly distinguishes the tool from single-chart tools like natal_chart and transit tools by specifying the eight-kuta matching domain.

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

Usage Guidelines3/5

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

The description implies use for kundli matching and tells the agent how to answer 'why this many' with the breakdown, but it never explicitly states when to use this tool over alternatives like compare_methods or natal_chart, nor provides exclusion criteria. Usage context is implied rather than direct.

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

dasha_timelineAInspect

Периоды жизни по вимшоттари: какой период идёт СЕЙЧАС и что дальше. Отвечает одним вызовом — отдельных инструментов на махадашу, антардашу и пратьянтардашу нет: глубина задаётся параметром depth (1, 2 или 3). ⛔ Требует известного времени рождения: ряд строится от долготы Луны, а она проходит накшатру примерно за сутки — по одной дате ряд был бы другим. ⭐ «Что шло в такие-то годы» спрашивается ОТРЕЗКОМ: from и to (даты ГГГГ-ММ-ДД) отдают периоды, пересекающие это окно, — включая махадашу, начавшуюся раньше. ⚠️ full=true отдаёт весь круг на 120 лет: при depth=3 это около 100 КБ, почти всегда лишних. Берите отрезок; full нужен, только когда правда нужен весь ряд. ⛔ ЕСЛИ ЧЕЛОВЕК НАЗВАЛ СВОИ ДАТЫ СОБЫТИЙ («переехал в феврале 2018», «сменил работу в ноябре 2024») — это life_events, а не этот инструмент: там сопоставление дат с периодами уже сделано, здесь вам пришлось бы делать его самим.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
fullNo
langNoru
timeNo
depthNo
placeNo
to_dateNo
chart_idNo
from_dateNo
geonameidNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It explains that the series is built from the Moon's longitude, warns that a date-only query would change the result, describes the ~100 KB payload when full=true at depth=3, and clarifies that from/to returns intersecting periods including an earlier-started mahadasha.

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

Conciseness5/5

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

The description is dense but every sentence earns its place: purpose, depth capability, birth-time prerequisite, range semantics, full=true warning, and sibling routing. It is front-loaded with the immediate use case and structured with clear visual markers for constraints.

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?

Given 10 parameters, no annotations, and an output schema present, this description is remarkably complete. It covers the main call patterns, the key caveat about birth time, the payload-size warning, and the distinction from a sibling tool. An agent can decide when to use it and how to invoke it correctly without needing additional documentation.

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

Parameters4/5

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

The schema has 0% description coverage, but the description adds real meaning to key parameters: depth (1, 2, or 3 with no separate sub-tools), full (whole cycle vs. segment), and from/to (window-based period lookup). It also indicates the time-of-birth dependency behind date/time. Some parameters such as chart_id, geonameid, and place are not explicitly explained, but the core ambiguous ones are covered.

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 states a specific purpose: Vimshottari life periods, current period and what comes next, in a single call. It also distinguishes itself from sibling tools by explicitly noting there are no separate tools for mahadasha/antardasha/pratyantardasha and by routing event-date queries to life_events.

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 gives explicit when-to-use and when-not-to-use guidance: use range parameters for historical periods, use full=true only when the entire 120-year series is genuinely needed, and use life_events instead when the user provides their own event dates. It also states the hard requirement of a known birth time.

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

feedback_addAInspect

ОБРАТНАЯ СВЯЗЬ О САМОМ ЭТОМ СЕРВЕРЕ, а не о расчётах. Зовите, когда инструмент повёл себя не так, как обещает описание; когда не хватило параметра или поля в ответе; когда отказ пришёл без внятной причины; когда описание непонятно. Пишите КОНКРЕТНО: имя инструмента, что звали, что ждали, что получили — читать это будет человек, и по «не работает» он не поймёт, что чинить. Повторная жалоба о том же не плодит запись, а поднимает счётчик: частота — мера важности.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoчто звали, с какими аргументами, что ждали, что пришло
kindNoпроблема
metaNoподробности одной строкой: аргументы вызова, текст отказа
toolNoимя инструмента; пусто — о сервере целиком

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It usefully discloses that duplicate reports do not create a new record but increment a counter, and that frequency is treated as importance. It also warns that a human will read the report and vague wording is unhelpful. This goes beyond typical side-effect disclosure, though it does not mention persistence details or response behavior.

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

Conciseness5/5

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

The description is front-loaded with the core purpose, then gives triggers, content guidance, and duplicate-handling behavior in a logical order. Every sentence contributes necessary information without redundancy or fluff.

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

Completeness4/5

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

For a simple feedback tool with an output schema present, the description covers purpose, usage triggers, content expectations, and idempotency-like duplicate behavior. The main gap is that it does not address the required 'title' parameter absence in the schema, which could confuse an agent trying to construct a valid call, but this is a schema-level inconsistency rather than a major description omission.

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

Parameters4/5

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

Schema coverage is 75%, so the schema already explains body, meta, and tool. The description adds practical guidance on what to put in those fields: tool name, call arguments, expected result, actual result, and refusal text. It does not clarify the kind enum or the required-but-undefined title parameter, but it still adds useful semantics beyond the schema.

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 opens by stating exactly what the tool is for: feedback about the server itself, not about calculations. It then lists concrete trigger conditions (tool behaved unlike its description, missing parameter/field, unexplained refusal, unclear description), which makes the purpose unmistakable and distinguishes it from the calculation-oriented siblings.

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

Usage Guidelines4/5

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

The description gives explicit when-to-use scenarios and an explicit exclusion ('not about calculations'), so an agent can decide to call this tool instead of a calculation tool. It does not name feedback_list or other alternatives, but the trigger conditions are specific enough that the missing alternative mention is a minor gap.

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

feedback_listAInspect

Что уже сообщено об этом сервере и в каком это состоянии. ЗОВИТЕ ПЕРЕД feedback_add, если не уверены, что о таком ещё не писали: увидите и чужие замечания, и ответ человека на них. По умолчанию показываются живые.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoслово в заголовке или тексте
kindNoпроблема, доработка или вопрос
showNoopen
toolNoтолько про этот инструмент
limitNo
statusNoтолько с этим статусом

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are present, so the description carries the behavioral burden. It discloses that the tool returns both user comments and human replies, and that the default view shows 'живые' (open) items. It does not explicitly say 'read-only', but the wording clearly implies a non-mutating listing operation.

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

Conciseness5/5

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

Two compact sentences deliver purpose, usage guidance, and default behavior with no filler. The capitalized directive 'ЗОВИТЕ ПЕРЕД feedback_add' effectively highlights the most important operational instruction.

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?

For a list tool with six optional parameters and an output schema, the description covers the purpose, when to call it relative to feedback_add, and the default filtering behavior. Parameter details are covered by the schema, and the output schema removes the need to describe return values, so nothing essential is missing.

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?

The schema already documents q, kind, tool, and status with descriptions, show with an enum, and limit with constraints, giving 67% schema description coverage. The description only adds the natural-language default 'живые' (open), which mirrors the schema default for show; it does not meaningfully explain parameters beyond the schema.

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

Purpose4/5

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

The description states the tool's resource (feedback about this server) and the kind of information it returns (what was reported and its current state). It also distinguishes itself from feedback_add, but it lacks a crisp imperative verb like 'list', relying instead on a noun phrase and the later directive 'ЗОВИТЕ ПЕРЕД feedback_add'.

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?

Explicitly tells the agent when to call this tool: before feedback_add, when unsure whether something has already been reported. It names the sibling alternative and explains what the agent will gain (seeing other people's remarks and human responses), leaving no doubt about the intended workflow.

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

find_placeAInspect

Место рождения по названию: отдаёт geonameid, который нужен расчёту. Ищет на любом языке («Koln» → Köln, «Ленинград» → Санкт-Петербург). Дата нужна потому, что смещение от UTC у одного места разное в разные годы.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
langNoru
limitNo
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description must disclose behavioral traits. It does reveal important behavior: searches in any language with normalization (Koln → Köln, Ленинград → Санкт-Петербург) and explains why the date is needed (UTC offset varies by year). However, it does not mention potential side effects, error handling, or return format beyond geonameid. This is partial disclosure, not comprehensive.

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 concise, consisting of two sentences. It front-loads the primary purpose (returns geonameid) and then provides essential context about language and date. Every sentence adds value, with no filler. It is well-structured for quick consumption.

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

Completeness3/5

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

The tool has an output schema, so return values are covered externally. However, the description still leaves gaps: it does not explain the 'limit' parameter, error behavior, or how the geonameid is used in calculations. For a search tool with a required query and several optional parameters, the description is moderately complete but not fully self-sufficient.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It explains the purpose of 'date' (UTC offset variation) and implicitly clarifies 'query' (place name) through examples, but it does not explain 'lang' (though the language normalization example hints at it) or 'limit' at all. Given zero schema coverage, this is insufficient for an agent to fully understand all parameters.

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: find a place by name and return a geonameid, which is needed for calculations. It also gives concrete examples of language normalization. This is specific and unambiguous, distinguishing it from any sibling tools that focus on astrological calculations rather than place lookup.

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

Usage Guidelines4/5

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

The description explains when to use the tool (to obtain a geonameid for calculations) and provides context on why the date parameter matters. It does not mention alternatives or exclusions, but since no sibling tool performs place lookup, this is acceptable. It clearly implies it is the tool for this purpose.

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

life_eventsAInspect

ЗОВИТЕ, КОГДА ЧЕЛОВЕК НАЗВАЛ СВОИ ДАТЫ: «переехал в феврале 2018», «женился в июле 2021», «сменил работу в ноябре 2024». По каждой дате отвечает, какая махадаша и антардаша тогда действовали, — одним вызовом на все события сразу. ⭐ ДЕНЬ ЗНАТЬ НЕ ОБЯЗАТЕЛЬНО: «февраль 2018» пишется как 2018-02, год — как 2018. Если внутри месяца период сменился, придут оба и момент перехода; уточнять день у человека не нужно. ⚠️ Не путайте с dasha_timeline: тот отдаёт ВЕСЬ ряд периодов, и сопоставлять его с датами человека пришлось бы вам; здесь сопоставление уже сделано. ⛔ НИЧЕГО НЕ СОХРАНЯЕТСЯ: события приходят в запросе и уходят с ответом, на сервере не остаётся ни строки. Это самые личные данные, какие человек называет. ⛔ И НИЧЕГО НЕ ТОЛКУЕТСЯ: совпадение периода с событием не доказывает связи — период идёт годами, и в него попадает всё, что случилось за эти годы. Так и говорите человеку, а не «переезд случился из-за Раху». Требует известного времени рождения: без него ряда даш не существует.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
langNoru
timeNo
placeNo
eventsYesсобытия человека: дата и подпись
ayanamsaNoLahiri
chart_idNo
geonameidNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior5/5

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

No annotations were provided, so the description carries the full burden of behavioral disclosure, and it delivers richly: 'NOTHING IS SAVED: events come in the request and go with the response, not a line remains on the server'; 'NOTHING IS INTERPRETED: the coincidence of a period with an event doesn't prove a connection — a period lasts for years'; plus partial-month handling behavior ('If the period changed within a month, both will come and the transition moment') and the birth-time prerequisite. This exceeds what annotations would typically convey.

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 longer than average, but every sentence earns its place: trigger, core behavior, date flexibility, sibling differentiation, data-handling guarantee, interpretation warning, and prerequisite. It is front-loaded with the trigger condition and uses emoji and all-caps markers to structure the key warnings. It is verbose in places (the repeated ⛔ blocks could be tightened) but never padded with filler.

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

Completeness4/5

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

Given the tool's complexity (8 parameters, 13% schema coverage) and that an output schema exists, the description covers nearly everything an agent needs: when to call, what it returns (dasha pairs per date, with transition moments), what it does NOT do (save, interpret), and the birth-time prerequisite. The only gap is the undocumented ancillary parameters, which are likely shared tool-family conventions rather than life_events-specific knowledge.

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 only 13%, so the description must compensate, and it does for the core parameter: it precisely explains the events.date format ('February 2018 is written as 2018-02, year as 2018') and the batch nature of events ('one call for all events at once'). However, it leaves the ancillary parameters (lang, time, place, ayanamsa, chart_id, geonameid, date) undocumented in the description; these are likely shared conventions across the astro tool family, but with such low coverage the description still leaves those semantics to inference.

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 states a precise verb+resource+scope: 'CALL WHEN A PERSON NAMES THEIR DATES... it answers which mahadasha and antardasha were active then — one call for all events at once.' It is unambiguous about the resource (life events mapped to dasha periods) and explicitly distinguishes itself from the sibling dasha_timeline by naming it and explaining the difference. An agent cannot confuse this tool's purpose with any of the 17 siblings.

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 gives an explicit trigger condition ('CALL WHEN A PERSON NAMES THEIR DATES') and an explicit exclusion with the named alternative: 'Don't confuse with dasha_timeline: that returns the WHOLE series of periods, and you would have to match it with the person's dates yourself; here the matching is already done.' It also states a hard prerequisite: 'Requires a known birth time: without it, the dasha series doesn't exist.' Usage routing is fully specified.

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

natal_chartAInspect

Натальная карта по джйотишу: положения грах по знакам и домам, накшатра Луны, лагна, вимшоттари-даши и текущий период. Место задаётся названием (place) ИЛИ geonameid из find_place. ВРЕМЯ РОЖДЕНИЯ НЕОБЯЗАТЕЛЬНО: без него отдаётся только то, что от него не зависит — лагны, домов, пады и даш не будет, и полдень не подставляется. Сколько отдавать — detail: preview (три строки и chart_id, чтобы не занимать контекст), normal (по умолчанию) или full (все поля). ⭐ В ответе есть chart_id: передайте его в следующие вызовы (varga_chart, dasha_timeline, chart_transits, compare_methods, birth_time_window) вместо даты, времени и места — человеку не придётся диктовать их снова. ⚠️ Если человек поправил данные, называйте их полем: явно сказанное главнее того, что лежит в chart_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
langNoru
timeNo
placeNo
detailNonormal
ayanamsaNoLahiri
chart_idNo
podrobnoNo
geonameidNo
house_systemNoW

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations at all, the description carries the full burden and meets it: it states that noon is not substituted, which outputs are omitted without birth time, that preview returns three lines plus chart_id, and that chart_id is a reusable handle. This is meaningful behavioral disclosure beyond the schema.

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

Conciseness5/5

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

Five dense sentences, each carrying operational value, with the core purpose declared first and the most important warnings (time optional, chart_id reuse) placed prominently. No filler or repetition.

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?

For a 10-parameter, 0-required tool with no annotations, the description covers the non-obvious conditions that determine the output: missing time behavior, place specification alternatives, detail levels, and chart_id lifecycle. An output schema exists, so return-value documentation is not needed here.

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

Parameters4/5

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

Schema coverage is 0%, so the description must compensate. It adds semantics for place/geonameid, time optionality, detail levels, and chart_id precedence. It does not explain the cryptic house_system letters, ayanamsa options, or 'podrobno', but those are at least surfaced via enums and defaults, and the most error-prone parameters are covered.

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 opens with a specific verb+resource: 'Натальная карта по джйотишу' and enumerates the chart components (graha positions, Moon nakshatra, lagna, vimshottari dashas, current period). It also distinguishes itself from siblings by naming downstream tools that consume its chart_id, so an agent can tell it apart.

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?

It explicitly explains how to specify the place (place or geonameid from find_place), that birth time is optional and what will be missing without it, how detail changes the payload, and how chart_id should be reused in later calls. It even gives an exclusivity rule: explicit user corrections override chart_id.

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

panchangaAInspect

Панчанга суток: пять частей — титхи, накшатра, йога, карана и вара — с моментом смены каждой, плюс восход, закат и тяжёлые отрезки (раху-каал, гулика-каал, ямаганда); чогхадии по запросу (detailed). Место — ЛЮБОЕ: название города в city или geonameid из find_place. Без даты берутся сегодняшние сутки этого места.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNo
dateNo
langNoru
detailedNo
podrobnoNo
geonameidNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden. It discloses the default date behavior, location requirements, and the detailed/choghadiya toggle, which is helpful. Yet it does not mention error cases, timezone handling, or what happens when conflicting location parameters are supplied, so transparency is partial.

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

Conciseness5/5

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

The description is dense and well-structured: it opens with the core calculation, then lists additional outputs and parameter guidance. Every sentence adds value, with no filler or redundancy.

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

Completeness3/5

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

The presence of an output schema reduces the need to describe return values, and the description covers main usage. Still, key invocation details are missing (date format, lang, podrobno), and with no annotations the description must do more to be fully complete. It is adequate but has clear gaps.

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 coverage is 0%, so the description is essential. It explains city, geonameid (from find_place), date default, and detailed (choghadiya). However, it does not explain the meaning/format of the date string, the 'lang' parameter, or the 'podrobno' parameter, leaving important semantic gaps.

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 names the tool's purpose: calculating Panchanga (tithi, nakshatra, yoga, karana, vara) with change moments, plus sunrise, sunset, and Rahu/Gulika/Yamaganda periods. It distinguishes itself from siblings like muhurta_search by describing a specific, concrete resource and output.

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

Usage Guidelines3/5

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

The description gives practical guidance on location (city or geonameid from find_place) and defaults (no date → today). However, it does not explicitly compare this tool to alternatives like muhurta_search, so the 'when vs alternatives' aspect is only implied rather than stated.

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

research_queryAInspect

Доля признака в группе людей ПРОТИВ доли по всему корпусу: «чаще ли у предпринимателей Юпитер в Стрельце, чем вообще». Группа задаётся идентификатором занятия Wikidata (occupation_qid), признак — граха и знак. ⛔ ВЫВОД «ЗНАЧИМО» ДЕЛАЕТЕ ВЫ, а не сервер: он даёт доли, разницу в процентных пунктах и интервал, а порог значимости выбирает тот, кто спрашивает. ⛔ ДОМА ЗДЕСЬ НЕ СЧИТАЮТСЯ никогда: они требуют времени рождения, а в корпусе его почти нет. «Юпитер в десятом у предпринимателей» посчитать не на чем. ⚠️ Корпус смещён в сторону людей с публичной биографией — доля в нём не равна доле среди людей вообще, и об этом надо говорить человеку.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoru
znakYes
grahaYes
occupationNoназвание занятия: «писатель», «politician»
occupation_qidNoидентификатор Wikidata, если он известен точно

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It transparently states that the server returns proportions, percentage-point difference, and interval, but does NOT determine significance – the user must. It also discloses that houses are never computed and warns about corpus bias toward public biographies. This is thorough and prevents misinterpretation.

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 single paragraph with a clear logical flow: purpose, example, then three warnings/constraints. Each sentence adds essential information, and the core purpose is front-loaded. It is slightly dense but not verbose; every sentence earns its place.

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

Completeness4/5

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

Given the tool's complexity (statistical comparison), absence of annotations, and presence of an output schema (which likely describes return format), the description covers the critical aspects: what it does, what it doesn't do, how to interpret results (significance is user's decision), and data limitations. It does not describe pagination or exact response structure, but the output schema presumably handles that, so the description is sufficiently complete for an agent to decide and invoke correctly.

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

Parameters4/5

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

The description explains the semantic role of the key parameters: graha and znak together define the feature, occupation_qid defines the group. It also clarifies that lang has a default. Since schema description coverage is only 40% (only occupation and occupation_qid have descriptions), the description compensates by explaining how the core parameters interact, though it does not detail enum meanings (e.g., zodiac sign ranges) – but those are in the schema enums, so the added value is meaningful but not exhaustive.

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 purpose: comparing the proportion of a feature (graha+sign) in a defined group (occupation_qid) against the whole corpus, with a concrete example ('Jupiter in Sagittarius among entrepreneurs'). It is specific about the verb (compare), the resource (group vs corpus), and the scope, and distinguishes itself from generic search tools like corpus_search by focusing on statistical comparison.

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

Usage Guidelines4/5

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

The description provides clear usage context: it is used when you want to compare a feature's prevalence in a group vs the corpus. It explicitly states what it does NOT do (houses are never calculated, because birth time is mostly absent), which helps avoid misuse. However, it does not explicitly name alternative sibling tools or provide 'when not to use' conditions, so it falls slightly short of a 5.

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

sky_nowAInspect

Небо сейчас: в каких знаках стоят грахи в эту минуту и какая идёт накшатра Луны. Момент расчёта приходит в ответе — без него снимок минутной давности не отличить от нынешнего.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoru

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden of disclosing behavior. It explicitly states that the response includes the calculation moment and warns that without it, a stale snapshot is indistinguishable from the current one. This is a useful behavioral nuance. It does not mention read-only nature, but that is evident from the purpose.

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

Conciseness5/5

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

The description is two sentences long, front-loads the core purpose, and includes a meaningful caveat in the second sentence. No filler or redundant wording. Every sentence earns its place.

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

Completeness4/5

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

For a tool with one optional parameter and an output schema, the description is mostly complete. It highlights the critical timestamp nuance that an agent needs to understand the output. The lang parameter is fully covered by the schema, so its absence from the description is acceptable. No significant missing context for an agent to invoke the tool correctly.

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

Parameters2/5

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

With schema description coverage at 0%, the description should compensate for the undocumented parameters, but it makes no mention of the 'lang' parameter at all. The schema already provides an enum and default, so the parameter is not confusing, yet the description adds zero meaning about how language affects the response or which values are accepted. Thus it fails to compensate for the low coverage.

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

Purpose4/5

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

The description clearly states a specific purpose: showing current positions of planets in signs and the current Moon nakshatra in this minute. The phrase 'в эту минуту' conveys real-time scope, which helps distinguish it from other astrological chart tools. However, it does not explicitly differentiate from siblings like panchanga that may also provide nakshatra, so it falls short of a 5.

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

Usage Guidelines3/5

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

The description implies usage for current sky queries and emphasizes that the calculation timestamp is included, but it gives no explicit when-to-use or when-not-to-use guidance or alternative tool references. The 'this minute' framing is a clear contextual hint, but without exclusions or sibling comparisons, it stays at an implied level.

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

varga_chartAInspect

Дробная карта (варга) по джйотишу: D9 навамша, D10 дашамша, D2, D3, D7, D12. ОДИН инструмент на все варги — нужная называется параметром varga. Отдаёт знак лагны варги, положения грах по знакам и список планет-варготтама (тех, что стоят в одном знаке в карте рождения и в этой варге). ⛔ Требует известного времени рождения: у варги своя лагна, а она без времени неопределима. Чего мы не считаем (D4, D5, D6, D8, D16, D20, D24, D27, D30, D40, D45, D60) — названо в ответе полем not_available, не досчитывайте это сами.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
langNoru
timeNo
placeNo
vargaNoD9
ayanamsaNoLahiri
chart_idNo
geonameidNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses the mandatory birth-time requirement, the reason for it, exactly what the tool returns, and the not_available response behavior for unsupported vargas. This gives an agent a concrete model of the tool's behavior.

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 compact, front-loads the purpose, and uses typographic emphasis (caps, emoji) for important constraints. It is slightly longer than a minimal statement, but the added sentences about the varga parameter and not_available behavior earn their place in an annotation-free definition.

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

Completeness4/5

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

Given 8 parameters, no annotations, and no schema descriptions, the description covers the critical decision points: supported vargas, required birth time, returned values, and unsupported divisions. The existence of an output schema and self-explanatory parameter names covers most of the remainder, though exact input formats are not stated.

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 0%, so the description must compensate. It adds real meaning for varga (selection among supported divisional charts) and highlights the birth-time dependency, but leaves date, place, geonameid, chart_id, and ayanamsa semantics to be inferred from names/enums rather than explained.

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 names the exact resource (varga/fractional chart), enumerates the supported divisions (D2, D3, D7, D9, D10, D12), and states the one-tool-per-varga design plus the returned contents (varga lagna, planetary placements, vargottama list). This makes it easy to distinguish from natal_chart and other astrological siblings.

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

Usage Guidelines4/5

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

It gives clear preconditions: known birth time is mandatory because the varga lagna cannot be derived without it, and unsupported divisional charts should not be computed manually but reported via not_available. It does not explicitly name sibling alternatives (e.g., natal_chart or what_we_calculate), so it falls short of full alternative routing.

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

verify_external_chartAInspect

Почему чужая карта не сходится с нашей: человек называет ЧУЖИЕ числа, сервер отвечает причиной. Проверяются школа отсчёта и час (военное, декретное и летнее время, историческая база поясов). Знаки передаются НОМЕРОМ: 0 Овен … 11 Рыбы, накшатра 1…27 — чужие названия на чужом языке мы не разбираем. ⛔ Кто прав, здесь не решается: обе карты верны каждая в своей рамке, и ответ — это причина расхождения, а не приговор. ⚠️ Если причина не нашлась, так и сказано (unexplained): у чужого расчёта бывает своя ошибка, и подгонять её под ближайшую версию мы не станем.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
langNoru
timeNo
placeNo
ayanamsaNoLahiri
chart_idNo
geonameidNo
moon_signNo
nakshatraNo
lagna_signNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden. It discloses the numeric input convention for signs and nakshatras, explains that the response is a reason rather than a judgment, and warns that an unresolved case is reported as 'unexplained' without retrofitting. This is meaningful transparency, though it does not discuss side effects, required parameter combinations, or error handling in depth.

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 somewhat long but well structured: it opens with the core purpose, then gives parameter conventions, and closes with limitations and fallback behavior. The emojis and disclaimers add useful emphasis rather than pure filler, though a few ideas are restated.

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

Completeness3/5

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

The description covers purpose, numeric input conventions, checked factors, and fallback behavior, which is fairly complete for a niche verification tool. Yet given the tool has 10 parameters, no annotations, and no in-schema descriptions, the absence of guidance on how parameters combine (e.g., chart_id versus date/time/place, geonameid usage) is a notable completeness gap.

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 0%, so the description must compensate. It usefully explains that signs and nakshatras are passed as numbers (0–11 and 1–27), and it relates ayanamsa and time calculations to the verification logic. However, several parameters such as chart_id, geonameid, lang, date, time, and place receive no explicit semantic explanation, leaving gaps for an agent to infer.

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

Purpose4/5

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

The description clearly identifies the tool's function: it explains why an externally provided chart does not match the calculated chart and returns the reason for the discrepancy. It specifies what is checked (reference school and time handling) and explicitly distinguishes itself from a verdict tool, but it does not directly name or contrast sibling tools.

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

Usage Guidelines4/5

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

The description gives clear usage context: use it when someone supplies foreign chart numbers and wants to understand why they differ. It also states exclusions — it does not decide who is right, and it does not force an explanation when no cause is found. However, it does not explicitly describe alternatives among sibling tools.

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

what_we_calculateAInspect

Чем считает этот сервер и чего он НЕ считает. Спросить до того, как обещать человеку метод: недостающее здесь названо прямо, и досчитывать его самостоятельно нельзя — числа будут выдуманными.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that the tool directly names missing capabilities and that self-calcification produces false numbers. This adds meaningful behavioral context beyond the bare function, though it does not specify output format or side effects.

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

Conciseness5/5

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

The description is two sentences with no filler. The primary purpose is front-loaded in the first clause, and the usage warning is directly attached. Every word earns its place.

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?

This is a simple no-parameter informational tool. The description tells the agent exactly when to invoke it and what to expect in terms of content. An output schema exists, so return-value details are not required. Nothing critical is missing for correct invocation.

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

Parameters4/5

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

The tool has zero parameters, so the baseline is 4. The description adds no parameter details, but none are needed; the schema is empty and fully covers the inputs.

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 purpose: it reports what the server calculates and what it does not. It distinguishes itself from the astrological sibling tools by being a meta-capability reference, and the phrase 'what it does NOT calculate' adds specificity beyond the name.

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?

It explicitly instructs the agent to consult this tool before promising a method to a user. It also warns that missing capabilities must not be invented, providing clear when-to-use and when-not-to-act guidance without needing to name alternatives.

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.

  1. 1 tool update
    • Addedverify_external_chart
  2. 12 tool updates
    • Changedastro_context5 fields changed
      • changedInput schema / properties / chart_id / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / date / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / geonameid / type
        Previous value: -"integer"New value: +[
        +  "integer",
        +  "null"
        +]
      • changedInput schema / properties / place / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / time / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
    • Changedbirth_time_window4 fields changed
      • changedInput schema / properties / chart_id / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / date / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / geonameid / type
        Previous value: -"integer"New value: +[
        +  "integer",
        +  "null"
        +]
      • changedInput schema / properties / place / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
    • Changedchart_transits6 fields changed
      • changedInput schema / properties / bodies / type
        Previous value: -"array"New value: +[
        +  "array",
        +  "null"
        +]
      • changedInput schema / properties / chart_id / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / date / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / geonameid / type
        Previous value: -"integer"New value: +[
        +  "integer",
        +  "null"
        +]
      • changedInput schema / properties / place / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / time / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
    • Changedcompare_methods6 fields changed
      • changedInput schema / properties / ayanamsas / type
        Previous value: -"array"New value: +[
        +  "array",
        +  "null"
        +]
      • changedInput schema / properties / chart_id / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / date / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / geonameid / type
        Previous value: -"integer"New value: +[
        +  "integer",
        +  "null"
        +]
      • changedInput schema / properties / place / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / time / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
    • Changedcompatibility6 fields changed
      • changedInput schema / properties / first_geonameid / type
        Previous value: -"integer"New value: +[
        +  "integer",
        +  "null"
        +]
      • changedInput schema / properties / first_place / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / first_time / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / second_geonameid / type
        Previous value: -"integer"New value: +[
        +  "integer",
        +  "null"
        +]
      • changedInput schema / properties / second_place / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / second_time / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
    • Changeddasha_timeline7 fields changed
      • changedInput schema / properties / chart_id / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / date / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / from_date / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / geonameid / type
        Previous value: -"integer"New value: +[
        +  "integer",
        +  "null"
        +]
      • changedInput schema / properties / place / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / time / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / to_date / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
    • Changedfind_place1 field changed
      • changedInput schema / properties / date / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
    • Changedlife_events5 fields changed
      • changedInput schema / properties / chart_id / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / date / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / geonameid / type
        Previous value: -"integer"New value: +[
        +  "integer",
        +  "null"
        +]
      • changedInput schema / properties / place / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / time / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
    • Changedmuhurta_search4 fields changed
      • changedInput schema / properties / city / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / date_from / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / date_to / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / geonameid / type
        Previous value: -"integer"New value: +[
        +  "integer",
        +  "null"
        +]
    • Changednatal_chart5 fields changed
      • changedInput schema / properties / chart_id / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / date / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / geonameid / type
        Previous value: -"integer"New value: +[
        +  "integer",
        +  "null"
        +]
      • changedInput schema / properties / place / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / time / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
    • Changedpanchanga3 fields changed
      • changedInput schema / properties / city / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / date / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / geonameid / type
        Previous value: -"integer"New value: +[
        +  "integer",
        +  "null"
        +]
    • Changedvarga_chart5 fields changed
      • changedInput schema / properties / chart_id / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / date / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / geonameid / type
        Previous value: -"integer"New value: +[
        +  "integer",
        +  "null"
        +]
      • changedInput schema / properties / place / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedInput schema / properties / time / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
  3. 18 tool updates
    • Changedastro_context19 fields changed
      • removedInput schema / properties / ayanamsa / title
        Removed value: -"Ayanamsa"
      • removedInput schema / properties / chart_id / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / chart_id / title
        Removed value: -"Chart Id"
      • addedInput schema / properties / chart_id / type
        Added value: +"string"
      • removedInput schema / properties / date / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / date / title
        Removed value: -"Date"
      • addedInput schema / properties / date / type
        Added value: +"string"
      • removedInput schema / properties / geonameid / anyOf
        Removed value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / geonameid / title
        Removed value: -"Geonameid"
      • addedInput schema / properties / geonameid / type
        Added value: +"integer"
      • removedInput schema / properties / lang / title
        Removed value: -"Lang"
      • removedInput schema / properties / place / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / place / title
        Removed value: -"Place"
      • addedInput schema / properties / place / type
        Added value: +"string"
      • removedInput schema / properties / time / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / time / title
        Removed value: -"Time"
      • addedInput schema / properties / time / type
        Added value: +"string"
      • removedInput schema / properties / topic / title
        Removed value: -"Topic"
      • removedInput schema / title
        Removed value: -"astro_contextArguments"
    • Changedbirth_time_window17 fields changed
      • removedInput schema / properties / ayanamsa / title
        Removed value: -"Ayanamsa"
      • removedInput schema / properties / chart_id / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / chart_id / title
        Removed value: -"Chart Id"
      • addedInput schema / properties / chart_id / type
        Added value: +"string"
      • removedInput schema / properties / date / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / date / title
        Removed value: -"Date"
      • addedInput schema / properties / date / type
        Added value: +"string"
      • removedInput schema / properties / geonameid / anyOf
        Removed value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / geonameid / title
        Removed value: -"Geonameid"
      • addedInput schema / properties / geonameid / type
        Added value: +"integer"
      • removedInput schema / properties / lang / title
        Removed value: -"Lang"
      • removedInput schema / properties / place / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / place / title
        Removed value: -"Place"
      • addedInput schema / properties / place / type
        Added value: +"string"
      • removedInput schema / properties / time_from / title
        Removed value: -"Time From"
      • removedInput schema / properties / time_to / title
        Removed value: -"Time To"
      • removedInput schema / title
        Removed value: -"birth_time_windowArguments"
    • Changedchart_transits22 fields changed
      • removedInput schema / properties / bodies / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "enum": [
        -        "sun",
        -        "moon",
        -        "mercury",
        -        "venus",
        -        "mars",
        -        "jupiter",
        -        "saturn",
        -        "rahu",
        -        "ketu"
        -      ],
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedInput schema / properties / bodies / items
        Added value: +{
        +  "enum": [
        +    "sun",
        +    "moon",
        +    "mercury",
        +    "venus",
        +    "mars",
        +    "jupiter",
        +    "saturn",
        +    "rahu",
        +    "ketu"
        +  ],
        +  "type": "string"
        +}
      • removedInput schema / properties / bodies / title
        Removed value: -"Bodies"
      • addedInput schema / properties / bodies / type
        Added value: +"array"
      • removedInput schema / properties / chart_id / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / chart_id / title
        Removed value: -"Chart Id"
      • addedInput schema / properties / chart_id / type
        Added value: +"string"
      • removedInput schema / properties / date / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / date / title
        Removed value: -"Date"
      • addedInput schema / properties / date / type
        Added value: +"string"
      • removedInput schema / properties / geonameid / anyOf
        Removed value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / geonameid / title
        Removed value: -"Geonameid"
      • addedInput schema / properties / geonameid / type
        Added value: +"integer"
      • removedInput schema / properties / lang / title
        Removed value: -"Lang"
      • removedInput schema / properties / place / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / place / title
        Removed value: -"Place"
      • addedInput schema / properties / place / type
        Added value: +"string"
      • removedInput schema / properties / time / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / time / title
        Removed value: -"Time"
      • addedInput schema / properties / time / type
        Added value: +"string"
      • removedInput schema / properties / years / title
        Removed value: -"Years"
      • removedInput schema / title
        Removed value: -"chart_transitsArguments"
    • Changedcompare_methods21 fields changed
      • removedInput schema / properties / ayanamsas / anyOf
        Removed value: -[
        -  {
        -    "items": {
        -      "enum": [
        -        "Aryabhata",
        -        "Deluce",
        -        "FaganBradley",
        -        "GalacticMula",
        -        "Hipparchos",
        -        "KP",
        -        "Lahiri",
        -        "Raman",
        -        "Revati",
        -        "SS_Citra",
        -        "SS_Revati",
        -        "SuryaSiddhanta",
        -        "TrueChitra",
        -        "TruePushya",
        -        "ValensMoon",
        -        "Yukteshwar"
        -      ],
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedInput schema / properties / ayanamsas / items
        Added value: +{
        +  "enum": [
        +    "Aryabhata",
        +    "Deluce",
        +    "FaganBradley",
        +    "GalacticMula",
        +    "Hipparchos",
        +    "KP",
        +    "Lahiri",
        +    "Raman",
        +    "Revati",
        +    "SS_Citra",
        +    "SS_Revati",
        +    "SuryaSiddhanta",
        +    "TrueChitra",
        +    "TruePushya",
        +    "ValensMoon",
        +    "Yukteshwar"
        +  ],
        +  "type": "string"
        +}
      • removedInput schema / properties / ayanamsas / title
        Removed value: -"Ayanamsas"
      • addedInput schema / properties / ayanamsas / type
        Added value: +"array"
      • removedInput schema / properties / chart_id / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / chart_id / title
        Removed value: -"Chart Id"
      • addedInput schema / properties / chart_id / type
        Added value: +"string"
      • removedInput schema / properties / date / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / date / title
        Removed value: -"Date"
      • addedInput schema / properties / date / type
        Added value: +"string"
      • removedInput schema / properties / geonameid / anyOf
        Removed value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / geonameid / title
        Removed value: -"Geonameid"
      • addedInput schema / properties / geonameid / type
        Added value: +"integer"
      • removedInput schema / properties / lang / title
        Removed value: -"Lang"
      • removedInput schema / properties / place / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / place / title
        Removed value: -"Place"
      • addedInput schema / properties / place / type
        Added value: +"string"
      • removedInput schema / properties / time / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / time / title
        Removed value: -"Time"
      • addedInput schema / properties / time / type
        Added value: +"string"
      • removedInput schema / title
        Removed value: -"compare_methodsArguments"
    • Changedcompatibility22 fields changed
      • removedInput schema / properties / first_date / title
        Removed value: -"First Date"
      • removedInput schema / properties / first_geonameid / anyOf
        Removed value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / first_geonameid / title
        Removed value: -"First Geonameid"
      • addedInput schema / properties / first_geonameid / type
        Added value: +"integer"
      • removedInput schema / properties / first_place / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / first_place / title
        Removed value: -"First Place"
      • addedInput schema / properties / first_place / type
        Added value: +"string"
      • removedInput schema / properties / first_time / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / first_time / title
        Removed value: -"First Time"
      • addedInput schema / properties / first_time / type
        Added value: +"string"
      • removedInput schema / properties / lang / title
        Removed value: -"Lang"
      • removedInput schema / properties / second_date / title
        Removed value: -"Second Date"
      • removedInput schema / properties / second_geonameid / anyOf
        Removed value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / second_geonameid / title
        Removed value: -"Second Geonameid"
      • addedInput schema / properties / second_geonameid / type
        Added value: +"integer"
      • removedInput schema / properties / second_place / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / second_place / title
        Removed value: -"Second Place"
      • addedInput schema / properties / second_place / type
        Added value: +"string"
      • removedInput schema / properties / second_time / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / second_time / title
        Removed value: -"Second Time"
      • addedInput schema / properties / second_time / type
        Added value: +"string"
      • removedInput schema / title
        Removed value: -"compatibilityArguments"
    • Changedcorpus_search4 fields changed
      • removedInput schema / properties / graha / title
        Removed value: -"Graha"
      • removedInput schema / properties / lang / title
        Removed value: -"Lang"
      • removedInput schema / properties / znak / title
        Removed value: -"Znak"
      • removedInput schema / title
        Removed value: -"corpus_searchArguments"
    • Changeddasha_timeline25 fields changed
      • removedInput schema / properties / chart_id / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / chart_id / title
        Removed value: -"Chart Id"
      • addedInput schema / properties / chart_id / type
        Added value: +"string"
      • removedInput schema / properties / date / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / date / title
        Removed value: -"Date"
      • addedInput schema / properties / date / type
        Added value: +"string"
      • removedInput schema / properties / depth / title
        Removed value: -"Depth"
      • removedInput schema / properties / from_date / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / from_date / title
        Removed value: -"From Date"
      • addedInput schema / properties / from_date / type
        Added value: +"string"
      • removedInput schema / properties / full / title
        Removed value: -"Full"
      • removedInput schema / properties / geonameid / anyOf
        Removed value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / geonameid / title
        Removed value: -"Geonameid"
      • addedInput schema / properties / geonameid / type
        Added value: +"integer"
      • removedInput schema / properties / lang / title
        Removed value: -"Lang"
      • removedInput schema / properties / place / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / place / title
        Removed value: -"Place"
      • addedInput schema / properties / place / type
        Added value: +"string"
      • removedInput schema / properties / time / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / time / title
        Removed value: -"Time"
      • addedInput schema / properties / time / type
        Added value: +"string"
      • removedInput schema / properties / to_date / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / to_date / title
        Removed value: -"To Date"
      • addedInput schema / properties / to_date / type
        Added value: +"string"
      • removedInput schema / title
        Removed value: -"dasha_timelineArguments"
    • Changedfeedback_add6 fields changed
      • removedInput schema / properties / body / title
        Removed value: -"Body"
      • removedInput schema / properties / kind / title
        Removed value: -"Kind"
      • removedInput schema / properties / meta / title
        Removed value: -"Meta"
      • removedInput schema / properties / title
        Removed value: -{
        -  "description": "суть одной фразой, от 10 знаков",
        -  "title": "Title",
        -  "type": "string"
        -}
      • removedInput schema / properties / tool / title
        Removed value: -"Tool"
      • removedInput schema / title
        Removed value: -"feedback_addArguments"
    • Changedfeedback_list7 fields changed
      • removedInput schema / properties / kind / title
        Removed value: -"Kind"
      • removedInput schema / properties / limit / title
        Removed value: -"Limit"
      • removedInput schema / properties / q / title
        Removed value: -"Q"
      • removedInput schema / properties / show / title
        Removed value: -"Show"
      • removedInput schema / properties / status / title
        Removed value: -"Status"
      • removedInput schema / properties / tool / title
        Removed value: -"Tool"
      • removedInput schema / title
        Removed value: -"feedback_listArguments"
    • Changedfind_place7 fields changed
      • removedInput schema / properties / date / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / date / title
        Removed value: -"Date"
      • addedInput schema / properties / date / type
        Added value: +"string"
      • removedInput schema / properties / lang / title
        Removed value: -"Lang"
      • removedInput schema / properties / limit / title
        Removed value: -"Limit"
      • removedInput schema / properties / query / title
        Removed value: -"Query"
      • removedInput schema / title
        Removed value: -"find_placeArguments"
    • Changedlife_events22 fields changed
      • removedInput schema / $defs / Sobytie / properties / date / title
        Removed value: -"Date"
      • removedInput schema / $defs / Sobytie / properties / label / title
        Removed value: -"Label"
      • removedInput schema / $defs / Sobytie / title
        Removed value: -"Sobytie"
      • removedInput schema / properties / ayanamsa / title
        Removed value: -"Ayanamsa"
      • removedInput schema / properties / chart_id / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / chart_id / title
        Removed value: -"Chart Id"
      • addedInput schema / properties / chart_id / type
        Added value: +"string"
      • removedInput schema / properties / date / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / date / title
        Removed value: -"Date"
      • addedInput schema / properties / date / type
        Added value: +"string"
      • removedInput schema / properties / events / title
        Removed value: -"Events"
      • removedInput schema / properties / geonameid / anyOf
        Removed value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / geonameid / title
        Removed value: -"Geonameid"
      • addedInput schema / properties / geonameid / type
        Added value: +"integer"
      • removedInput schema / properties / lang / title
        Removed value: -"Lang"
      • removedInput schema / properties / place / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / place / title
        Removed value: -"Place"
      • addedInput schema / properties / place / type
        Added value: +"string"
      • removedInput schema / properties / time / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / time / title
        Removed value: -"Time"
      • addedInput schema / properties / time / type
        Added value: +"string"
      • removedInput schema / title
        Removed value: -"life_eventsArguments"
    • Changedmuhurta_search14 fields changed
      • removedInput schema / properties / city / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / city / title
        Removed value: -"City"
      • addedInput schema / properties / city / type
        Added value: +"string"
      • removedInput schema / properties / date_from / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / date_from / title
        Removed value: -"Date From"
      • addedInput schema / properties / date_from / type
        Added value: +"string"
      • removedInput schema / properties / date_to / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / date_to / title
        Removed value: -"Date To"
      • addedInput schema / properties / date_to / type
        Added value: +"string"
      • removedInput schema / properties / geonameid / anyOf
        Removed value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / geonameid / title
        Removed value: -"Geonameid"
      • addedInput schema / properties / geonameid / type
        Added value: +"integer"
      • removedInput schema / properties / lang / title
        Removed value: -"Lang"
      • removedInput schema / title
        Removed value: -"muhurta_searchArguments"
    • Changednatal_chart21 fields changed
      • removedInput schema / properties / ayanamsa / title
        Removed value: -"Ayanamsa"
      • removedInput schema / properties / chart_id / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / chart_id / title
        Removed value: -"Chart Id"
      • addedInput schema / properties / chart_id / type
        Added value: +"string"
      • removedInput schema / properties / date / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / date / title
        Removed value: -"Date"
      • addedInput schema / properties / date / type
        Added value: +"string"
      • removedInput schema / properties / detail / title
        Removed value: -"Detail"
      • removedInput schema / properties / geonameid / anyOf
        Removed value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / geonameid / title
        Removed value: -"Geonameid"
      • addedInput schema / properties / geonameid / type
        Added value: +"integer"
      • removedInput schema / properties / house_system / title
        Removed value: -"House System"
      • removedInput schema / properties / lang / title
        Removed value: -"Lang"
      • removedInput schema / properties / place / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / place / title
        Removed value: -"Place"
      • addedInput schema / properties / place / type
        Added value: +"string"
      • removedInput schema / properties / podrobno / title
        Removed value: -"Podrobno"
      • removedInput schema / properties / time / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / time / title
        Removed value: -"Time"
      • addedInput schema / properties / time / type
        Added value: +"string"
      • removedInput schema / title
        Removed value: -"natal_chartArguments"
    • Changedpanchanga13 fields changed
      • removedInput schema / properties / city / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / city / title
        Removed value: -"City"
      • addedInput schema / properties / city / type
        Added value: +"string"
      • removedInput schema / properties / date / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / date / title
        Removed value: -"Date"
      • addedInput schema / properties / date / type
        Added value: +"string"
      • removedInput schema / properties / detailed / title
        Removed value: -"Detailed"
      • removedInput schema / properties / geonameid / anyOf
        Removed value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / geonameid / title
        Removed value: -"Geonameid"
      • addedInput schema / properties / geonameid / type
        Added value: +"integer"
      • removedInput schema / properties / lang / title
        Removed value: -"Lang"
      • removedInput schema / properties / podrobno / title
        Removed value: -"Podrobno"
      • removedInput schema / title
        Removed value: -"panchangaArguments"
    • Changedresearch_query6 fields changed
      • removedInput schema / properties / graha / title
        Removed value: -"Graha"
      • removedInput schema / properties / lang / title
        Removed value: -"Lang"
      • removedInput schema / properties / occupation / title
        Removed value: -"Occupation"
      • removedInput schema / properties / occupation_qid / title
        Removed value: -"Occupation Qid"
      • removedInput schema / properties / znak / title
        Removed value: -"Znak"
      • removedInput schema / title
        Removed value: -"research_queryArguments"
    • Changedsky_now2 fields changed
      • removedInput schema / properties / lang / title
        Removed value: -"Lang"
      • removedInput schema / title
        Removed value: -"sky_nowArguments"
    • Changedvarga_chart19 fields changed
      • removedInput schema / properties / ayanamsa / title
        Removed value: -"Ayanamsa"
      • removedInput schema / properties / chart_id / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / chart_id / title
        Removed value: -"Chart Id"
      • addedInput schema / properties / chart_id / type
        Added value: +"string"
      • removedInput schema / properties / date / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / date / title
        Removed value: -"Date"
      • addedInput schema / properties / date / type
        Added value: +"string"
      • removedInput schema / properties / geonameid / anyOf
        Removed value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / geonameid / title
        Removed value: -"Geonameid"
      • addedInput schema / properties / geonameid / type
        Added value: +"integer"
      • removedInput schema / properties / lang / title
        Removed value: -"Lang"
      • removedInput schema / properties / place / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / place / title
        Removed value: -"Place"
      • addedInput schema / properties / place / type
        Added value: +"string"
      • removedInput schema / properties / time / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / time / title
        Removed value: -"Time"
      • addedInput schema / properties / time / type
        Added value: +"string"
      • removedInput schema / properties / varga / title
        Removed value: -"Varga"
      • removedInput schema / title
        Removed value: -"varga_chartArguments"
    • Changedwhat_we_calculate1 field changed
      • removedInput schema / title
        Removed value: -"what_we_calculateArguments"
  4. 1 tool update
    • Changedlife_events5 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "Sobytie": {
        +    "description": "Одно событие жизни: дата и, если хочется, подпись.\n\n🔴🔴 ЗАЧЕМ ОТДЕЛЬНЫЙ ВИД, А НЕ `list[dict[str, str]]`. Замер 22.09.2026 набором живых\nвопросов (#5743): `life_events` не выбирала НИ ОДНА из трёх семей моделей — на «я\nпереехал в феврале 2018 и женился в июле 2021» они либо не звали ничего, либо брали\n`dasha_timeline`. Свободный словарь в схеме выглядит как «сюда что-нибудь положите»:\nмодель не видит, из каких полей собрать событие, и выбирает соседний инструмент с\nпонятными параметрами. Названный вид печатает в схеме `date` и `label`.",
        +    "properties": {
        +      "date": {
        +        "description": "когда это было: ГГГГ-ММ-ДД, ГГГГ-ММ или ГГГГ",
        +        "title": "Date",
        +        "type": "string"
        +      },
        +      "label": {
        +        "default": "",
        +        "description": "чем это было: переезд, свадьба, смена работы",
        +        "title": "Label",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "date"
        +    ],
        +    "title": "Sobytie",
        +    "type": "object"
        +  }
        +}
      • addedInput schema / properties / events / description
        Added value: +"события человека: дата и подпись"
      • addedInput schema / properties / events / items / $ref
        Added value: +"#/$defs/Sobytie"
      • removedInput schema / properties / events / items / additionalProperties
        Removed value: -{
        -  "type": "string"
        -}
      • removedInput schema / properties / events / items / type
        Removed value: -"object"
  5. 2 tool updates
    • Changedfeedback_list2 fields changed
      • addedInput schema / properties / show
        Added value: +{
        +  "default": "open",
        +  "enum": [
        +    "open",
        +    "closed",
        +    "all"
        +  ],
        +  "title": "Show",
        +  "type": "string"
        +}
      • removedInput schema / properties / вид
        Removed value: -{
        -  "default": "живые",
        -  "enum": [
        -    "живые",
        -    "закрытые",
        -    "все"
        -  ],
        -  "title": "Вид",
        -  "type": "string"
        -}
    • Changedresearch_query4 fields changed
      • addedInput schema / properties / occupation
        Added value: +{
        +  "default": "",
        +  "description": "название занятия: «писатель», «politician»",
        +  "title": "Occupation",
        +  "type": "string"
        +}
      • addedInput schema / properties / occupation_qid / default
        Added value: +""
      • addedInput schema / properties / occupation_qid / description
        Added value: +"идентификатор Wikidata, если он известен точно"
      • changedInput schema / required
        Previous value: -[
        -  "graha",
        -  "znak",
        -  "occupation_qid"
        -]New value: +[
        +  "graha",
        +  "znak"
        +]
  6. 18 tool updates
    • First observedastro_context
    • First observedbirth_time_window
    • First observedchart_transits
    • First observedcompare_methods
    • First observedcompatibility
    • First observedcorpus_search
    • First observeddasha_timeline
    • First observedfeedback_add
    • First observedfeedback_list
    • First observedfind_place
    • First observedlife_events
    • First observedmuhurta_search
    • First observednatal_chart
    • First observedpanchanga
    • First observedresearch_query
    • First observedsky_now
    • First observedvarga_chart
    • First observedwhat_we_calculate

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Hosted Streamable HTTP MCP server for Vedic astrology: panchang, kundali (birth chart), matchmaking, dashas, doshas, muhurta and 16 tools computed by a precision astronomy engine.
    17
    38 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Exposes Vedic astrology tools for birth chart, dasha, transit calculations, and question context analysis.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Vedic and Western astrology for AI agents: 103 read-only tools for natal charts, dasha, kundali matching with Rajju and Vedha vetoes, panchanga, numerology and tarot, backed by Swiss Ephemeris and verified against NASA JPL Horizons.
    8
    103
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources