Skip to main content
Glama
nmhaaa3218

Tu Vi Horoscope MCP Server

get_van_han

Calculate transit stars and active houses for a target Lunar year, month, or day to assess luck and predictions in Vietnamese Tử Vi horoscope.

Instructions

Calculate transit stars (sao lưu) and active houses (Đại Hạn, Tiểu Hạn, Nguyệt Hạn, Nhật Hạn) for the target Lunar period.

Purpose and Comparison

Use this tool to perform transit/vận hạn luck analysis (inspecting star shifts, Đại Hạn, Tiểu Hạn, monthly Nguyệt Hạn transits, and daily Nhật Hạn) for a specific target Lunar year, month, and optionally day.

  • Contrast with generate_horoscope: Use get_van_han specifically for inspecting luck/predictions during a specific target timeframe. Use generate_horoscope to get the static, base birth chart.

Side Effects, Auth, and Rate Limits

  • Side Effects: None. This is a read-only calculation and does not write to the database or render filesystem files.

  • Auth/Rate Limits: Runs entirely locally. No authentication or external rate limits apply.

Prerequisites & Calendar Conversions

  • CRITICAL: The parameters current_year, current_month, and (if provided) current_day represent the Lunar year, Lunar month, and Lunar day. If the user asks to inspect a specific Solar period (e.g., 'October 2026' or 'May 15th, 2026'), you MUST first use the convert_calendar tool to find the corresponding Lunar month/year/day before calling this tool.

Parameter Guidelines & Interactions

  • name: Name of the person.

  • day: Day of birth (1-31).

  • month: Month of birth (1-12).

  • year: Year of birth.

  • hour_val: Hour of birth (e.g., "14:30", "Ngọ"). Local civil time at the birthplace.

  • gender_val: Gender ("Nam" or "Nữ").

  • is_solar: True if birth date is Solar (Dương lịch), False if Lunar (Âm lịch).

  • current_year: Target Lunar year to inspect (defaults to current system year, e.g., 2026).

  • current_month: Target Lunar month to inspect (1-12, default 1).

  • current_day: Target Lunar day to inspect (1-30, optional). When provided, also returns nhat_han — the daily transit house derived from Nguyệt Hạn.

  • timezone: Numeric UTC offset (default 7). Accepts integer (e.g. 8) or h:30 string (e.g. "8:30"). See generate_horoscope.timezone for full spec.

Output Schema and Error Conditions

  • Returns: A dictionary containing:

    • person_details: Summary of demographic details (name, lunar birth date, etc.).

    • target_period: Contains current_year, current_year_can_chi, current_month_lunar, and current_age representing the target period parameters.

    • transit_stars: List of transit stars (e.g. Lưu Thái Tuế, Lưu Lộc Tồn) and their current coordinates/cung indexes.

    • dai_han: Details of the active 10-year major cycle house.

    • tieu_han: Details of the active 1-year minor cycle house.

    • nguyet_han: Details of the active monthly cycle house.

    • nhat_han: (only if current_day is provided) Details of the active daily house, derived from Nguyệt Hạn.

  • Errors: Returns an error dictionary {"error": "error_message"} if birth details are invalid, calculation fails, or timezone is malformed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dayNo
nameNoKhách
yearNo
monthNo
hour_valNo12:00
is_solarNo
timezoneNo
gender_valNoNam
current_dayNo
current_yearNo
current_monthNo
Behavior5/5

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

With no annotations provided, the description fully discloses behavior: states no side effects ('read-only calculation and does not write to the database or render filesystem files'), local execution with no auth/rate limits, and error behavior ('Returns an error dictionary...'). It also clarifies that current_year/month/day are Lunar, adding critical context beyond defaults.

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?

Though lengthy, the description is well-structured with clear sections (Purpose, Side Effects, Prerequisites, Parameter Guidelines, Output Schema, Errors). It is appropriately sized for the tool's complexity (11 parameters, no output schema). The first sentence front-loads the core purpose, and every section provides essential information.

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 the tool's complexity and absence of an output schema, the description is highly complete. It explains the returned dictionary fields (person_details, target_period, transit_stars, dai_han, tieu_han, nguyet_han, nhat_han), includes error conditions, and mentions the critical Lunar conversion prerequisite. This gives an agent everything needed to invoke the tool correctly.

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

Parameters5/5

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

Schema has 0% description coverage, but the description includes a detailed 'Parameter Guidelines & Interactions' section covering all 11 parameters. It adds meaning beyond the schema: e.g., timezone accepts integer or 'h:30' string, current_day is optional and adds nhat_han, and current_year defaults to the system year. This fully compensates for the schema's lack of 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 description opens with a specific verb and resource: 'Calculate transit stars (sao lưu) and active houses (Đại Hạn, Tiểu Hạn, Nguyệt Hạn, Nhật Hạn) for the target Lunar period.' It clearly distinguishes this tool from generate_horoscope by stating get_van_han is for inspecting luck during a specific timeframe versus a static birth chart.

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 states when to use the tool ('Use this tool to perform transit/vận hạn luck analysis...') and contrasts with alternatives ('Use generate_horoscope to get the static, base birth chart'). Also provides a prerequisite: must convert Solar dates to Lunar using convert_calendar before calling.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nmhaaa3218/TuViMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server