Skip to main content
Glama

Liki — Professional AI Astrologer

natal_liunian_query

Read-onlyIdempotent

schema 合法出生主体 + start_year/year_count/life_topics → 八字与紫微逐年流年合参断语。subject 必须来自用户确认事实或 subject_candidates;时间模糊先归一化确认。服务端内部计算因子;失败年保留结构化 error,不中断整批。只要单个原始流盘用 bazi_liupan / ziwei_liupan;本命断语用 natal_query。

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "subject": "<subject>",
      "start_year": "<start_year>",
      "year_count": "<year_count>",
      "life_topics": "<life_topics>"
    },
    "name": "natal_liunian_query"
  }
}

Input Schema

NameRequiredDescriptionDefault
subjectYes已考时归一化的出生主体。
start_yearYes起始流年年号。
year_countYes连续查询年数。
life_topicsYes人生问题域(同 natal_query)。

Output Schema

NameRequiredDescriptionDefault
yearsYes逐年流年结果。
natal_chart_digestYes流年计算使用的完整本命盘摘要。

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / $defs
      Added value: +{
      +  "Enum_186f4b1fcd46": {
      +    "enum": [
      +      "女",
      +      "男"
      +    ],
      +    "type": [
      +      "null",
      +      "string"
      +    ]
      +  },
      +  "Enum_644023795c29": {
      +    "enum": [
      +      "adversity",
      +      "appearance",
      +      "career",
      +      "chart_structure",
      +      "children",
      +      "family",
      +      "health",
      +      "marriage",
      +      "mental",
      +      "origin",
      +      "personality",
      +      "property",
      +      "relocation",
      +      "social",
      +      "study",
      +      "wealth"
      +    ],
      +    "type": "string"
      +  }
      +}
    • changedOutput schema / properties / years / items / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "bazi": {
      -        "additionalProperties": false,
      -        "description": "八字流年断语。",
      -        "properties": {
      -          "assertions": {
      -            "description": "该侧流年断语。",
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "assertion_id": {
      -                  "description": "Stable assertion id.",
      -                  "type": "string"
      -                },
      -                "conclusion": {
      -                  "description": "Deterministic assertion conclusion.",
      -                  "type": "string"
      -                },
      -                "event": {
      -                  "description": "事件摘要。",
      -                  "type": "string"
      -                },
      -                "event_type": {
      -                  "description": "事件类型。",
      -                  "type": "string"
      -                },
      -                "evidence": {
      -                  "description": "Factor evidence used by the rule.",
      -                  "items": {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "actual": {
      -                        "anyOf": [
      -                          {
      -                            "type": "string"
      -                          },
      -                          {
      -                            "type": "null"
      -                          }
      -                        ],
      -                        "description": "因子实际值。"
      -                      },
      -                      "condition_group": {
      -                        "anyOf": [
      -                          {
      -                            "type": "integer"
      -                          },
      -                          {
      -                            "type": "null"
      -                          }
      -                        ],
      -                        "description": "条件组编号。"
      -                      },
      -                      "expected": {
      -                        "anyOf": [
      -                          {
      -                            "type": "string"
      -                          },
      -                          {
      -                            "type": "null"
      -                          }
      -                        ],
      -                        "description": "因子期望值。"
      -                      },
      -                      "factor": {
      -                        "description": "命中的因子名。",
      -                        "type": "string"
      -                      },
      -                      "gender_scope": {
      -                        "anyOf": [
      -                          {
      -                            "enum": [
      -                              "男",
      -                              "女"
      -                            ],
      -                            "type": "string"
      -                          },
      -                          {
      -                            "type": "null"
      -                          }
      -                        ],
      -                        "description": "性别专属因子的作用范围。"
      -                      }
      -                    },
      -                    "required": [
      -                      "factor"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "type": "array"
      -                },
      -                "life_topics": {
      -                  "description": "命中的受控人生问题域。",
      -                  "items": {
      -                    "enum": [
      -                      "marriage",
      -                      "family",
      -                      "children",
      -                      "career",
      -                      "wealth",
      -                      "health",
      -                      "mental",
      -                      "study",
      -                      "personality",
      -                      "appearance",
      -                      "origin",
      -                      "relocation",
      -                      "social",
      -                      "property",
      -                      "adversity",
      -                      "chart_structure"
      -                    ],
      -                    "type": "string"
      -                  },
      -                  "minItems": 1,
      -                  "type": "array"
      -                },
      -                "rule_id": {
      -                  "description": "命理断语规则 ID。",
      -                  "type": "string"
      -                },
      -                "source": {
      -                  "additionalProperties": false,
      -                  "description": "断语规则来源与依据。",
      -                  "properties": {
      -                    "basis": {
      -                      "description": "规则依据。",
      -                      "type": "string"
      -                    },
      -                    "classic_basis": {
      -                      "description": "经典依据。",
      -                      "type": "string"
      -                    },
      -                    "kind": {
      -                      "const": "assertion_table",
      -                      "description": "断语来源类型。",
      -                      "type": "string"
      -                    },
      -                    "rule_domain": {
      -                      "description": "断语规则在来源表中的命理领域。",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "kind",
      -                    "rule_domain",
      -                    "basis",
      -                    "classic_basis"
      -                  ],
      -                  "type": "object"
      -                }
      -              },
      -              "required": [
      -                "assertion_id",
      -                "life_topics",
      -                "rule_id",
      -                "event_type",
      -                "event",
      -                "conclusion",
      -                "source"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "counts": {
      -            "additionalProperties": false,
      -            "description": "命中与返回计数。",
      -            "properties": {
      -              "matched": {
      -                "description": "来源断语命中次数。",
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "returned": {
      -                "description": "过滤后返回的断语数。",
      -                "minimum": 0,
      -                "type": "integer"
      -              }
      -            },
      -            "required": [
      -              "matched",
      -              "returned"
      -            ],
      -            "type": "object"
      -          }
      -        },
      -        "required": [
      -          "assertions",
      -          "counts"
      -        ],
      -        "type": "object"
      -      },
      -      "year": {
      -        "description": "流年年号。",
      -        "type": "integer"
      -      },
      -      "ziwei": {
      -        "additionalProperties": false,
      -        "description": "紫微流年断语。",
      -        "properties": {
      -          "assertions": {
      -            "description": "该侧流年断语。",
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "assertion_id": {
      -                  "description": "Stable assertion id.",
      -                  "type": "string"
      -                },
      -                "conclusion": {
      -                  "description": "Deterministic assertion conclusion.",
      -                  "type": "string"
      -                },
      -                "event": {
      -                  "description": "事件摘要。",
      -                  "type": "string"
      -                },
      -                "event_type": {
      -                  "description": "事件类型。",
      -                  "type": "string"
      -                },
      -                "evidence": {
      -                  "description": "Factor evidence used by the rule.",
      -                  "items": {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "actual": {
      -                        "anyOf": [
      -                          {
      -                            "type": "string"
      -                          },
      -                          {
      -                            "type": "null"
      -                          }
      -                        ],
      -                        "description": "因子实际值。"
      -                      },
      -                      "condition_group": {
      -                        "anyOf": [
      -                          {
      -                            "type": "integer"
      -                          },
      -                          {
      -                            "type": "null"
      -                          }
      -                        ],
      -                        "description": "条件组编号。"
      -                      },
      -                      "expected": {
      -                        "anyOf": [
      -                          {
      -                            "type": "string"
      -                          },
      -                          {
      -                            "type": "null"
      -                          }
      -                        ],
      -                        "description": "因子期望值。"
      -                      },
      -                      "factor": {
      -                        "description": "命中的因子名。",
      -                        "type": "string"
      -                      },
      -                      "gender_scope": {
      -                        "anyOf": [
      -                          {
      -                            "enum": [
      -                              "男",
      -                              "女"
      -                            ],
      -                            "type": "string"
      -                          },
      -                          {
      -                            "type": "null"
      -                          }
      -                        ],
      -                        "description": "性别专属因子的作用范围。"
      -                      }
      -                    },
      -                    "required": [
      -                      "factor"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "type": "array"
      -                },
      -                "life_topics": {
      -                  "description": "命中的受控人生问题域。",
      -                  "items": {
      -                    "enum": [
      -                      "marriage",
      -                      "family",
      -                      "children",
      -                      "career",
      -                      "wealth",
      -                      "health",
      -                      "mental",
      -                      "study",
      -                      "personality",
      -                      "appearance",
      -                      "origin",
      -                      "relocation",
      -                      "social",
      -                      "property",
      -                      "adversity",
      -                      "chart_structure"
      -                    ],
      -                    "type": "string"
      -                  },
      -                  "minItems": 1,
      -                  "type": "array"
      -                },
      -                "rule_id": {
      -                  "description": "命理断语规则 ID。",
      -                  "type": "string"
      -                },
      -                "source": {
      -                  "additionalProperties": false,
      -                  "description": "断语规则来源与依据。",
      -                  "properties": {
      -                    "basis": {
      -                      "description": "规则依据。",
      -                      "type": "string"
      -                    },
      -                    "classic_basis": {
      -                      "description": "经典依据。",
      -                      "type": "string"
      -                    },
      -                    "kind": {
      -                      "const": "assertion_table",
      -                      "description": "断语来源类型。",
      -                      "type": "string"
      -                    },
      -                    "rule_domain": {
      -                      "description": "断语规则在来源表中的命理领域。",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "kind",
      -                    "rule_domain",
      -                    "basis",
      -                    "classic_basis"
      -                  ],
      -                  "type": "object"
      -                }
      -              },
      -              "required": [
      -                "assertion_id",
      -                "life_topics",
      -                "rule_id",
      -                "event_type",
      -                "event",
      -                "conclusion",
      -                "source"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "counts": {
      -            "additionalProperties": false,
      -            "description": "命中与返回计数。",
      -            "properties": {
      -              "matched": {
      -                "description": "来源断语命中次数。",
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "returned": {
      -                "description": "过滤后返回的断语数。",
      -                "minimum": 0,
      -                "type": "integer"
      -              }
      -            },
      -            "required": [
      -              "matched",
      -              "returned"
      -            ],
      -            "type": "object"
      -          }
      -        },
      -        "required": [
      -          "assertions",
      -          "counts"
      -        ],
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "year",
      -      "bazi",
      -      "ziwei"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "additionalProperties": false,
      -        "description": "流年计算失败信息。",
      -        "properties": {
      -          "code": {
      -            "const": "ENGINE_UNAVAILABLE",
      -            "description": "错误码。",
      -            "type": "string"
      -          },
      -          "message": {
      -            "description": "错误信息。",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "code",
      -          "message"
      -        ],
      -        "type": "object"
      -      },
      -      "year": {
      -        "description": "流年年号。",
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "year",
      -      "error"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "bazi": {
      +        "additionalProperties": false,
      +        "description": "八字流年断语。",
      +        "properties": {
      +          "assertions": {
      +            "description": "该侧流年断语。",
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "assertion_id": {
      +                  "description": "Stable assertion id.",
      +                  "type": "string"
      +                },
      +                "conclusion": {
      +                  "description": "Deterministic assertion conclusion.",
      +                  "type": "string"
      +                },
      +                "event": {
      +                  "description": "事件摘要。",
      +                  "type": "string"
      +                },
      +                "event_type": {
      +                  "description": "事件类型。",
      +                  "type": "string"
      +                },
      +                "evidence": {
      +                  "description": "Factor evidence used by the rule.",
      +                  "items": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "actual": {
      +                        "description": "因子实际值。",
      +                        "type": [
      +                          "null",
      +                          "string"
      +                        ]
      +                      },
      +                      "condition_group": {
      +                        "description": "条件组编号。",
      +                        "type": [
      +                          "null",
      +                          "integer"
      +                        ]
      +                      },
      +                      "expected": {
      +                        "description": "因子期望值。",
      +                        "type": [
      +                          "null",
      +                          "string"
      +                        ]
      +                      },
      +                      "factor": {
      +                        "description": "命中的因子名。",
      +                        "type": "string"
      +                      },
      +                      "gender_scope": {
      +                        "$ref": "#/$defs/Enum_186f4b1fcd46",
      +                        "description": "性别专属因子的作用范围。"
      +                      }
      +                    },
      +                    "required": [
      +                      "factor"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "life_topics": {
      +                  "description": "命中的受控人生问题域。",
      +                  "items": {
      +                    "$ref": "#/$defs/Enum_644023795c29"
      +                  },
      +                  "minItems": 1,
      +                  "type": "array"
      +                },
      +                "rule_id": {
      +                  "description": "命理断语规则 ID。",
      +                  "type": "string"
      +                },
      +                "source": {
      +                  "additionalProperties": false,
      +                  "description": "断语规则来源与依据。",
      +                  "properties": {
      +                    "basis": {
      +                      "description": "规则依据。",
      +                      "type": "string"
      +                    },
      +                    "classic_basis": {
      +                      "description": "经典依据。",
      +                      "type": "string"
      +                    },
      +                    "kind": {
      +                      "const": "assertion_table",
      +                      "description": "断语来源类型。",
      +                      "type": "string"
      +                    },
      +                    "rule_domain": {
      +                      "description": "断语规则在来源表中的命理领域。",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "rule_domain",
      +                    "basis",
      +                    "classic_basis"
      +                  ],
      +                  "type": "object"
      +                }
      +              },
      +              "required": [
      +                "assertion_id",
      +                "life_topics",
      +                "rule_id",
      +                "event_type",
      +                "event",
      +                "conclusion",
      +                "source"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "counts": {
      +            "additionalProperties": false,
      +            "description": "命中与返回计数。",
      +            "properties": {
      +              "matched": {
      +                "description": "来源断语命中次数。",
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "returned": {
      +                "description": "过滤后返回的断语数。",
      +                "minimum": 0,
      +                "type": "integer"
      +              }
      +            },
      +            "required": [
      +              "matched",
      +              "returned"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "required": [
      +          "assertions",
      +          "counts"
      +        ],
      +        "type": "object"
      +      },
      +      "year": {
      +        "description": "流年年号。",
      +        "type": "integer"
      +      },
      +      "ziwei": {
      +        "additionalProperties": false,
      +        "description": "紫微流年断语。",
      +        "properties": {
      +          "assertions": {
      +            "description": "该侧流年断语。",
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "assertion_id": {
      +                  "description": "Stable assertion id.",
      +                  "type": "string"
      +                },
      +                "conclusion": {
      +                  "description": "Deterministic assertion conclusion.",
      +                  "type": "string"
      +                },
      +                "event": {
      +                  "description": "事件摘要。",
      +                  "type": "string"
      +                },
      +                "event_type": {
      +                  "description": "事件类型。",
      +                  "type": "string"
      +                },
      +                "evidence": {
      +                  "description": "Factor evidence used by the rule.",
      +                  "items": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "actual": {
      +                        "description": "因子实际值。",
      +                        "type": [
      +                          "null",
      +                          "string"
      +                        ]
      +                      },
      +                      "condition_group": {
      +                        "description": "条件组编号。",
      +                        "type": [
      +                          "null",
      +                          "integer"
      +                        ]
      +                      },
      +                      "expected": {
      +                        "description": "因子期望值。",
      +                        "type": [
      +                          "null",
      +                          "string"
      +                        ]
      +                      },
      +                      "factor": {
      +                        "description": "命中的因子名。",
      +                        "type": "string"
      +                      },
      +                      "gender_scope": {
      +                        "$ref": "#/$defs/Enum_186f4b1fcd46",
      +                        "description": "性别专属因子的作用范围。"
      +                      }
      +                    },
      +                    "required": [
      +                      "factor"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "life_topics": {
      +                  "description": "命中的受控人生问题域。",
      +                  "items": {
      +                    "$ref": "#/$defs/Enum_644023795c29"
      +                  },
      +                  "minItems": 1,
      +                  "type": "array"
      +                },
      +                "rule_id": {
      +                  "description": "命理断语规则 ID。",
      +                  "type": "string"
      +                },
      +                "source": {
      +                  "additionalProperties": false,
      +                  "description": "断语规则来源与依据。",
      +                  "properties": {
      +                    "basis": {
      +                      "description": "规则依据。",
      +                      "type": "string"
      +                    },
      +                    "classic_basis": {
      +                      "description": "经典依据。",
      +                      "type": "string"
      +                    },
      +                    "kind": {
      +                      "const": "assertion_table",
      +                      "description": "断语来源类型。",
      +                      "type": "string"
      +                    },
      +                    "rule_domain": {
      +                      "description": "断语规则在来源表中的命理领域。",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "rule_domain",
      +                    "basis",
      +                    "classic_basis"
      +                  ],
      +                  "type": "object"
      +                }
      +              },
      +              "required": [
      +                "assertion_id",
      +                "life_topics",
      +                "rule_id",
      +                "event_type",
      +                "event",
      +                "conclusion",
      +                "source"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "counts": {
      +            "additionalProperties": false,
      +            "description": "命中与返回计数。",
      +            "properties": {
      +              "matched": {
      +                "description": "来源断语命中次数。",
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "returned": {
      +                "description": "过滤后返回的断语数。",
      +                "minimum": 0,
      +                "type": "integer"
      +              }
      +            },
      +            "required": [
      +              "matched",
      +              "returned"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "required": [
      +          "assertions",
      +          "counts"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "year",
      +      "bazi",
      +      "ziwei"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "additionalProperties": false,
      +        "description": "流年计算失败信息。",
      +        "properties": {
      +          "code": {
      +            "const": "ENGINE_UNAVAILABLE",
      +            "description": "错误码。",
      +            "type": "string"
      +          },
      +          "message": {
      +            "description": "错误信息。",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "code",
      +          "message"
      +        ],
      +        "type": "object"
      +      },
      +      "year": {
      +        "description": "流年年号。",
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "year",
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so safety is covered; the description adds genuine behavioral context beyond them: computation factors are resolved server-side, and a failing year returns a structured error without aborting the rest of the batch. That partial-failure semantics is exactly the kind of trait an agent cannot infer from the schema. It stops short of mentioning cost, latency, or per-year result shape (the latter is covered by the output 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?

Four short clauses, front-loaded with the input→output contract, then preconditions, then failure behavior, then sibling routing. No sentence is decorative and nothing repeats the schema verbatim.

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 four-required-parameter tool with a nested subject object and an output schema, the description covers purpose, routing, data provenance, and batch-failure handling, which is essentially everything needed to call it correctly. Minor gap: it does not clarify that the nested subject fields (standard_time, longitude, gender) must all come from the same confirmed source, though the schema's field descriptions do.

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 description coverage is 100%, so the baseline is 3; the description earns an extra point by adding provenance constraints the schema only partly states — subject must derive from confirmed facts or subject_candidates, never be fabricated, and ambiguous times must be normalized first. It adds nothing about year_count bounds (max 50) or life_topics selection, but those are fully documented in 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 opening formula names the inputs (valid subject + start_year/year_count/life_topics) and the output (八字与紫微逐年流年合参断语), which is a specific verb-and-resource statement rather than a restatement of the name. It goes further by naming the siblings it is not (bazi_liupan / ziwei_liupan for a single raw chart, natal_query for natal judgments), so an agent can place it in the catalog without opening another schema.

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?

Explicit routing rules are given: single raw annual chart → bazi_liupan / ziwei_liupan; natal judgment → natal_query. It also states preconditions — subject must come from user-confirmed facts or subject_candidates, and fuzzy times must be normalized and confirmed first — which tells the agent what to do before calling, not just when.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources