Skip to main content
Glama
cantian-ai

Bazi MCP

by cantian-ai

Bazi MCP (八字 MCP) by Cantian AI

Unlock precise Bazi insights with the Bazi MCP, the first AI-powered Bazi calculator. Built to address inaccuracies in existing AI fortune-telling tools like GPT and DeepSeek, our MCP delivers reliable Bazi data for personality analysis, destiny forecasting, and more.

Why Bazi MCP?

  • Accurate Bazi Calculations: Provide insightful Bazi information.

  • AI Agent Integration: Empowers AI agents with precise Bazi data.

  • Community-Driven: Join enthusiasts to advance Chinese metaphysics.

Originating from the popular Chinese Bazi Fortune Teller GPTs in the GPT Store, this project is now integrated with Cantian AI (cantian.ai). We invite Bazi practitioners and AI enthusiasts to collaborate, share insights, and contribute to our open-source community.

Get Involved

中文

八字 MCP是参天 AI 推出的首个面向玄学领域的 MCP,针对 GPT 和 DeepSeek 等算命工具常出现的排盘错误,提供精准的八字数据,助力性格分析、命运预测等应用。

八字 MCP 亮点

  • 精准排盘:提供全面的八字排盘信息。

  • AI 赋能:为 AI 智能体提供可靠八字服务。

  • 社区共建:欢迎命理爱好者参与交流与开发。

项目源于 GPT Store 热门应用Chinese Bazi Fortune Teller,现已融入参天 AI平台 (cantian.ai)。我们诚邀命理研究者与 AI 开发者加入,共同推动中国传统文化的传承与创新。

联系我们

Related MCP server: Chinese Fortune Analysis System (BaZi)

前置需求 | Prerequisite

Node.js 22 版本或以上。

Node.js 22 or above.

开始使用 | Start

使用 Streamable HTTP 启动 | Start by Streamable HTTP transport

npm start

使用 Stdio 启动 | Start by Stdio transport

配置 AI 应用(例如 Claude Descktop)。

Configure AI application (e.g. Claude Desktop).

{
  "mcpServers": {
    "Bazi": {
      "command": "npx",
      "args": ["bazi-mcp"]
    }
  }
}

Installing via Smithery

To install bazi-mcp for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @cantian-ai/bazi-mcp --client claude

工具列表 | Tools

getBaziDetail

根据给定的公历或农历时间计算八字信息。 Calculate the Bazi results based on the solar/lunar datetime.

参数 | Arguments

  • solarDatetime: String

    ISO 格式的阳历时间。例如:2000-05-15T12:00:00+08:00
    Solar datetime in ISO format. Example: 2000-05-15T12:00:00+08:00.

  • lunarDatetime: String

    农历时间。例如:2000-05-15 12:00:00
    Lunar datetime. Example: 2000-05-15 12:00:00.

  • gender: Number

    性别。可选。0 - 女,1-男。默认 1。
    Gender. Optional. 0 for female, 1 for male. 1 by default.

  • eightCharProviderSect: Number

    早晚子时配置。可选。1 - 表示 23:00-23:59 日干支为明天,2 - 表示 23:00-23:59 日干支为当天。默认 2。 Configuration for eight char provider. Optional. 1 for meaning the day stem of 23:00-23:59 is for tomorrow, 2 for meaning the day stem of 23:00-23:59 is for today. 2 by default.

结果示例 | Result example

{
  "性别": "男",
  "阳历": "1998年7月31日 14:10:00",
  "农历": "农历戊寅年六月初九辛未时",
  "八字": "戊寅 己未 己卯 辛未",
  "生肖": "虎",
  "日主": "己",
  "年柱": {
    "天干": {
      "天干": "戊",
      "五行": "土",
      "阴阳": "阳",
      "十神": "劫财"
    },
    "地支": {
      "地支": "寅",
      "五行": "木",
      "阴阳": "阳",
      "藏干": {
        "主气": {
          "天干": "甲",
          "十神": "正官"
        },
        "中气": {
          "天干": "丙",
          "十神": "正印"
        },
        "余气": {
          "天干": "戊",
          "十神": "劫财"
        }
      }
    },
    "纳音": "城头土",
    "旬": "甲戌",
    "空亡": "申酉",
    "星运": "死",
    "自坐": "长生"
  },
  "月柱": {
    "天干": {
      "天干": "己",
      "五行": "土",
      "阴阳": "阴",
      "十神": "比肩"
    },
    "地支": {
      "地支": "未",
      "五行": "土",
      "阴阳": "阴",
      "藏干": {
        "主气": {
          "天干": "己",
          "十神": "比肩"
        },
        "中气": {
          "天干": "丁",
          "十神": "偏印"
        },
        "余气": {
          "天干": "乙",
          "十神": "七杀"
        }
      }
    },
    "纳音": "天上火",
    "旬": "甲寅",
    "空亡": "子丑",
    "星运": "冠带",
    "自坐": "冠带"
  },
  "日柱": {
    "天干": {
      "天干": "己",
      "五行": "土",
      "阴阳": "阴"
    },
    "地支": {
      "地支": "卯",
      "五行": "木",
      "阴阳": "阴",
      "藏干": {
        "主气": {
          "天干": "乙",
          "十神": "七杀"
        }
      }
    },
    "纳音": "城头土",
    "旬": "甲戌",
    "空亡": "申酉",
    "星运": "病",
    "自坐": "病"
  },
  "时柱": {
    "天干": {
      "天干": "辛",
      "五行": "金",
      "阴阳": "阴",
      "十神": "食神"
    },
    "地支": {
      "地支": "未",
      "五行": "土",
      "阴阳": "阴",
      "藏干": {
        "主气": {
          "天干": "己",
          "十神": "比肩"
        },
        "中气": {
          "天干": "丁",
          "十神": "偏印"
        },
        "余气": {
          "天干": "乙",
          "十神": "七杀"
        }
      }
    },
    "纳音": "路旁土",
    "旬": "甲子",
    "空亡": "戌亥",
    "星运": "冠带",
    "自坐": "衰"
  },
  "胎元": "庚戌",
  "胎息": "甲戌",
  "命宫": "乙卯",
  "身宫": "乙卯",
  "神煞": {
    "年柱": ["国印", "亡神"],
    "月柱": ["天德合", "月德合", "天乙贵人", "太极贵人", "福星贵人", "金舆", "血刃", "华盖", "天喜", "元辰"],
    "日柱": ["天德合", "月德合", "桃花", "九丑", "童子煞"],
    "时柱": ["天乙贵人", "太极贵人", "福星贵人", "金舆", "血刃", "华盖", "天喜", "元辰", "童子煞"]
  },
  "大运": {
    "起运年龄": 4,
    "起运日期": "2001-1-26",
    "大运": [
      {
        "干支": "庚申",
        "开始年份": 2001,
        "结束": 2010,
        "天干十神": "伤官",
        "地支十神": ["伤官", "正财", "劫财"],
        "地支藏干": ["庚", "壬", "戊"],
        "开始年龄": 4,
        "结束年龄": 13
      },
      {
        "干支": "辛酉",
        "开始年份": 2011,
        "结束": 2020,
        "天干十神": "食神",
        "地支十神": ["食神"],
        "地支藏干": ["辛"],
        "开始年龄": 14,
        "结束年龄": 23
      },
      {
        "干支": "壬戌",
        "开始年份": 2021,
        "结束": 2030,
        "天干十神": "正财",
        "地支十神": ["劫财", "食神", "偏印"],
        "地支藏干": ["戊", "辛", "丁"],
        "开始年龄": 24,
        "结束年龄": 33
      },
      {
        "干支": "癸亥",
        "开始年份": 2031,
        "结束": 2040,
        "天干十神": "偏财",
        "地支十神": ["正财", "正官"],
        "地支藏干": ["壬", "甲"],
        "开始年龄": 34,
        "结束年龄": 43
      },
      {
        "干支": "甲子",
        "开始年份": 2041,
        "结束": 2050,
        "天干十神": "正官",
        "地支十神": ["偏财"],
        "地支藏干": ["癸"],
        "开始年龄": 44,
        "结束年龄": 53
      },
      {
        "干支": "乙丑",
        "开始年份": 2051,
        "结束": 2060,
        "天干十神": "七杀",
        "地支十神": ["比肩", "偏财", "食神"],
        "地支藏干": ["己", "癸", "辛"],
        "开始年龄": 54,
        "结束年龄": 63
      },
      {
        "干支": "丙寅",
        "开始年份": 2061,
        "结束": 2070,
        "天干十神": "正印",
        "地支十神": ["正官", "正印", "劫财"],
        "地支藏干": ["甲", "丙", "戊"],
        "开始年龄": 64,
        "结束年龄": 73
      },
      {
        "干支": "丁卯",
        "开始年份": 2071,
        "结束": 2080,
        "天干十神": "偏印",
        "地支十神": ["七杀"],
        "地支藏干": ["乙"],
        "开始年龄": 74,
        "结束年龄": 83
      },
      {
        "干支": "戊辰",
        "开始年份": 2081,
        "结束": 2090,
        "天干十神": "劫财",
        "地支十神": ["劫财", "七杀", "偏财"],
        "地支藏干": ["戊", "乙", "癸"],
        "开始年龄": 84,
        "结束年龄": 93
      },
      {
        "干支": "己巳",
        "开始年份": 2091,
        "结束": 2100,
        "天干十神": "比肩",
        "地支十神": ["正印", "伤官", "劫财"],
        "地支藏干": ["丙", "庚", "戊"],
        "开始年龄": 94,
        "结束年龄": 103
      }
    ]
  },
  "刑冲合会": {
    "年": {
      "天干": {},
      "地支": {}
    },
    "月": {
      "天干": {},
      "地支": {
        "半合": [
          {
            "柱": "日",
            "知识点": "未卯半合木",
            "元素": "木"
          }
        ]
      }
    },
    "日": {
      "天干": {},
      "地支": {
        "半合": [
          {
            "柱": "月",
            "知识点": "卯未半合木",
            "元素": "木"
          },
          {
            "柱": "时",
            "知识点": "卯未半合木",
            "元素": "木"
          }
        ]
      }
    },
    "时": {
      "天干": {},
      "地支": {
        "半合": [
          {
            "柱": "日",
            "知识点": "未卯半合木",
            "元素": "木"
          }
        ]
      }
    }
  }
}

getSolarTimes

根据给定的八字返回可能的公历时间列表。 Return a list of possible solar calendar datetime based on the given Bazi.

参数 | Arguments

  • bazi: String

    八字,各柱用空格隔开。 Bazi, with each pillar separated by a space.

结果示例 | Result example

["1758-07-29 14:00:00", "1818-07-15 14:00:00", "1998-07-31 14:00:00"]

getChineseCalendar

获取指定公历时间(默认今天)的黄历信息。 Get chinese calendar information for the specified solar calendar date (default is today).

参数 | Arguments

  • solarDatetime

    ISO 格式的阳历时间。例如:2000-05-15T12:00:00+08:00
    Solar datetime in ISO format. Example: 2000-05-15T12:00:00+08:00.

结果示例 | Result example

{
  "公历": "2025年5月7日 星期三",
  "农历": "农历乙巳年四月初十",
  "干支": "乙巳 辛巳 丙子",
  "生肖": "蛇",
  "纳音": "涧下水",
  "节气": "立夏",
  "二十八宿": "箕水豹吉",
  "彭祖百忌": "丙不修灶必见灾殃 子不问卜自惹祸殃",
  "喜神方位": "西南",
  "阳贵神方位": "西",
  "阴贵神方位": "西北",
  "福神方位": "东",
  "财神方位": "西南",
  "冲煞": "冲马(午)煞南",
  "宜": "嫁娶,祭祀,祈福,求嗣,开光,出行,拆卸,动土,上梁,出火,进人口,入宅,移徙,安床,栽种,纳畜,牧养,竖柱,安门,修造,解除,会亲友",
  "忌": ""
}

Keywords: Bazi MCP, Bazi AI Agent, Fengshui AI Agent, Bazi Calculator MCP, Bazi Calculator AI, Cantian AI

Available Tools

5 tools
buildBaziFromLunarDatetimeC

根据农历时间、性别来获取八字信息。

ParametersJSON Schema
NameRequiredDescriptionDefault
eightCharProviderSectNo早晚子时配置。传1表示23:00-23:59日干支为明天,传2表示23:00-23:59日干支为当天。
genderYes传0表示女性,传1表示男性。
lunarDatetimeYes农历时间。例如:`2000-5-15 12:00:00`。

TDQS

C2.9/5.0
Behavior2/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 behavioral disclosure. It states the tool '获取八字信息' (gets eight-character information), which implies a read-only operation, but doesn't clarify if it requires authentication, has rate limits, or what the output format looks like (especially since there's no output schema). The description adds minimal behavioral context beyond the basic 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 a single, efficient sentence: '根据农历时间、性别来获取八字信息。' (Get eight-character information based on lunar datetime and gender). It's front-loaded with the core purpose, has zero wasted words, and is appropriately sized for the tool's complexity.

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 moderate complexity (3 parameters, no annotations, no output schema), the description is incomplete. It lacks behavioral details (e.g., output format, error handling), usage guidelines compared to siblings, and doesn't compensate for the absence of annotations or output schema. The high schema coverage helps, but the description alone is insufficient for full contextual understanding.

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

Parameters3/5

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

Schema description coverage is 100%, with all parameters well-documented in the schema (e.g., 'eightCharProviderSect' explains the configuration for midnight hour, 'gender' specifies 0 for female and 1 for male, 'lunarDatetime' gives an example format). The description adds no additional parameter semantics beyond what's in the schema, so it meets the baseline of 3 for high schema 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 the tool's purpose: '根据农历时间、性别来获取八字信息' (Get eight-character information based on lunar datetime and gender). It specifies the verb '获取' (get) and the resource '八字信息' (eight-character information), which is distinct from sibling tools like 'buildBaziFromSolarDatetime' (which uses solar datetime) or 'getBaziDetail' (which likely provides detailed analysis). However, it doesn't explicitly differentiate from all siblings (e.g., 'getChineseCalendar' might overlap in lunar context).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'buildBaziFromSolarDatetime' (for solar datetime input) or 'getBaziDetail' (for detailed analysis), nor does it specify prerequisites or exclusions. Usage is implied by the parameters (lunar datetime and gender), but no explicit context is given.

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

buildBaziFromSolarDatetimeC

根据阳历时间、性别来获取八字信息。

ParametersJSON Schema
NameRequiredDescriptionDefault
eightCharProviderSectNo早晚子时配置。传1表示23:00-23:59日干支为明天,传2表示23:00-23:59日干支为当天。
genderYes传0表示女性,传1表示男性。
solarDatetimeYes用ISO时间格式表示的阳历时间. 例如:`2008-03-01T13:00:00+08:00`。

TDQS

C2.9/5.0
Behavior2/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 behavioral disclosure. While it states what the tool does (get bazi information), it doesn't describe important behavioral aspects: what format the output returns (since there's no output schema), whether this is a read-only operation, potential error conditions, or any performance characteristics. The description is minimal and doesn't compensate for the lack of annotations.

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 extremely concise - a single Chinese sentence that directly states the tool's purpose. There's zero waste or unnecessary elaboration. It's appropriately sized for what it communicates, though it could benefit from more contextual information.

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 that there are no annotations and no output schema, the description is insufficiently complete. For a tool that calculates bazi (a complex Chinese metaphysical system), the description doesn't explain what 'bazi information' includes, doesn't mention the optional 'eightCharProviderSect' parameter that affects calculations, and provides no context about the tool's behavior or output format. The description leaves too many questions unanswered for effective agent use.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description mentions '阳历时间' (solar calendar time) and '性别' (gender), which map to two of the parameters, but doesn't mention the 'eightCharProviderSect' parameter at all. Since the schema does the heavy lifting, the baseline score of 3 is appropriate - the description adds minimal value beyond what's already in the structured 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 clearly states the tool's purpose: '根据阳历时间、性别来获取八字信息' (Get eight characters/bazi information based on solar calendar time and gender). It specifies the verb ('获取' - get/obtain) and the resource ('八字信息' - eight characters/bazi information). However, it doesn't explicitly differentiate from its sibling tools like 'buildBaziFromLunarDatetime' or 'getBaziDetail', which prevents a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'buildBaziFromLunarDatetime' (which uses lunar datetime) or 'getBaziDetail' (which might provide more detailed bazi information). There's no context about prerequisites, limitations, or appropriate scenarios for this specific tool.

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

getBaziDetailB

根据时间(公历或农历)、性别来获取八字信息。solarDatetime和lunarDatetime必须传且只传其中一个。

ParametersJSON Schema
NameRequiredDescriptionDefault
eightCharProviderSectNo早晚子时配置。传1表示23:00-23:59日干支为明天,传2表示23:00-23:59日干支为当天。
genderYes传0表示女性,传1表示男性。
lunarDatetimeNo农历时间。例如农历2000年5月初五中午12点整表示为:`2000-5-5 12:00:00`。
solarDatetimeNo用ISO时间格式表示的公历时间. 例如:`2008-03-01T13:00:00+08:00`。

TDQS

B3.4/5.0
Behavior2/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 behavioral disclosure. The description only states what the tool does ('获取八字信息') and parameter constraints. It doesn't disclose important behavioral traits like: what format the BaZi information is returned in, whether this is a read-only operation, potential rate limits, error conditions, or authentication requirements. For a tool with no annotation coverage, this leaves significant gaps.

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 extremely concise and well-structured. The first sentence states the purpose, and the second sentence provides critical usage guidance about parameter exclusivity. Every sentence earns its place with no wasted words. The information is front-loaded appropriately.

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 that there's no output schema and no annotations, the description is incomplete. It doesn't explain what '八字信息' (BaZi information) actually contains or what format it's returned in. For a tool that presumably returns complex astrological data, this is a significant gap. The description adequately covers input constraints but fails to address the output, which is crucial for agent understanding.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 4 parameters thoroughly. The description adds some value by clarifying the mutual exclusivity rule for solarDatetime and lunarDatetime ('必须传且只传其中一个'), which isn't captured in the schema. However, it doesn't add meaningful semantic context beyond what the schema already provides for the other parameters.

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 the tool's purpose: '根据时间(公历或农历)、性别来获取八字信息' (Get BaZi information based on time (solar or lunar) and gender). It specifies the verb ('获取' - get) and resource ('八字信息' - BaZi information). However, it doesn't explicitly differentiate from siblings like 'buildBaziFromLunarDatetime' or 'buildBaziFromSolarDatetime', which appear to serve similar functions.

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 guidance: 'solarDatetime和lunarDatetime必须传且只传其中一个' (solarDatetime and lunarDatetime must be passed and only one of them). This tells the agent when to use which parameter. However, it doesn't explain when to choose this tool over the sibling tools like 'buildBaziFromLunarDatetime' or 'buildBaziFromSolarDatetime', which appear to be alternatives for similar purposes.

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

getChineseCalendarB

获取指定公历时间(默认今天)的黄历信息。

ParametersJSON Schema
NameRequiredDescriptionDefault
solarDatetimeNo用ISO时间格式表示的公历时间. 例如:`2008-03-01T13:00:00+08:00`。

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions the default behavior (today if no datetime provided), which is useful. However, it doesn't disclose other behavioral traits like what specific information is returned (e.g., auspicious activities, taboos), whether there are rate limits, error conditions, or cultural/regional considerations. For a tool with no annotations, this leaves significant gaps.

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 a single, efficient sentence in Chinese that front-loads the core purpose ('获取...黄历信息') and includes the key detail about default behavior. There is zero waste or redundancy, making it appropriately concise for a simple tool.

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 no annotations and no output schema, the description is incomplete. It doesn't explain what '黄历信息' entails (e.g., structure, fields like lucky directions or activities), potential errors, or cultural context. For a tool that likely returns rich cultural data, this lack of detail makes it inadequate for an agent to fully understand the tool's behavior and output.

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

Parameters3/5

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

Schema description coverage is 100%, with the parameter 'solarDatetime' well-documented in the schema (ISO format, example). The description adds marginal value by clarifying the default (today) and that it's Gregorian time, but doesn't provide additional semantic context beyond what the schema already covers. Baseline 3 is appropriate given high schema 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 the verb '获取' (get) and the resource '黄历信息' (Chinese calendar/almanac information), specifying it's for a given Gregorian date. It distinguishes from siblings like getBaziDetail (which provides detailed Bazi analysis) and getSolarTimes (which provides solar terms). However, it doesn't explicitly differentiate from buildBaziFromSolarDatetime, which also uses solar datetime input.

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 by stating it retrieves Chinese calendar information for a specified Gregorian date (defaulting to today). It doesn't provide explicit when-not-to-use guidance or name alternatives, though the sibling tools suggest different purposes (Bazi calculation vs. calendar info). The default behavior (today if unspecified) is helpful but not comprehensive guidance.

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

getSolarTimesB

根据八字获取公历时间列表。返回的时间格式为:YYYY-MM-DD hh:mm:ss。例如时间1998年7月31日下午2点整表示为:1998-07-31 14:00:00

ParametersJSON Schema
NameRequiredDescriptionDefault
baziYes八字,按年柱、月柱、日柱、时柱顺序,用空格隔开。例如:戊寅 己未 己卯 辛未

TDQS

B3.2/5.0
Behavior2/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 behavioral disclosure. It mentions the return format ('YYYY-MM-DD hh:mm:ss') with an example, which is helpful. However, it lacks critical details such as whether the tool is read-only or has side effects, error handling, rate limits, or authentication needs. For a tool with no annotation coverage, this is a significant gap.

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 concise and well-structured in two sentences: the first states the purpose and output format, and the second provides a concrete example. Every sentence adds essential information without redundancy, making it easy to understand quickly.

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?

Given the tool has one parameter with full schema coverage and no output schema, the description is moderately complete. It explains the purpose and output format but lacks behavioral details (e.g., error cases, side effects) and usage context. For a simple conversion tool, this is adequate but has clear gaps in transparency and guidelines.

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 doesn't explicitly discuss parameters, but the input schema has 100% coverage with a clear description for the single parameter 'bazi'. Since schema coverage is high, the baseline is 3. The description adds value by providing an example output format, which indirectly clarifies the parameter's purpose (converting Bazi to times), justifying a score of 4.

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 the tool's purpose: '根据八字获取公历时间列表' (Get Gregorian calendar time list based on Bazi). It specifies the verb ('获取' - get) and resource ('公历时间列表' - Gregorian calendar time list), making the function evident. However, it doesn't explicitly differentiate from sibling tools like 'getBaziDetail', which might provide detailed Bazi analysis rather than time conversion.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools such as 'buildBaziFromLunarDatetime' or 'buildBaziFromSolarDatetime', which might be used for different conversion directions (e.g., from dates to Bazi). There's no context on prerequisites or exclusions, leaving usage unclear.

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. 5 tool updatesv1.0.0
    • First observedbuildBaziFromLunarDatetime
    • First observedbuildBaziFromSolarDatetime
    • First observedgetBaziDetail
    • First observedgetChineseCalendar
    • First observedgetSolarTimes

TDQS

B3.1/5.0

Scored across 5 tools

Disambiguation2/5

Multiple tools have overlapping purposes that could cause confusion. buildBaziFromLunarDatetime, buildBaziFromSolarDatetime, and getBaziDetail all appear to generate bazi (eight characters) information from datetime inputs, with getBaziDetail explicitly stating it accepts both solar and lunar inputs. This creates ambiguity about which tool to use for bazi generation, though getBaziDetail's description clarifies parameter requirements.

Naming Consistency3/5

The naming follows a mixed convention with some consistency issues. Four tools use verb_noun patterns (buildBaziFrom..., getBaziDetail, getChineseCalendar, getSolarTimes), but buildBaziFrom... uses camelCase while get... tools use lowercase. The verbs are reasonably descriptive but the casing inconsistency reduces predictability.

Tool Count5/5

Five tools is well-scoped and appropriate for a bazi/Chinese calendar server. Each tool appears to serve a distinct function within the domain, and the count is neither too sparse nor overwhelming for the apparent scope of Chinese astrology and calendar operations.

Completeness4/5

The tool set covers core bazi generation from both calendar systems, detailed bazi analysis, Chinese calendar information, and solar time conversion from bazi. Minor gaps might include more advanced bazi analysis features or additional calendar functions, but the surface supports basic workflows without obvious dead ends.

Maintenance

ActivityNo data
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables AI tools to perform Chinese fortune-telling analysis including Ziwei Doushu (Purple Star Astrology) and Bazi (Four Pillars) chart generation, fortune reading, and element analysis. Supports multiple calendar systems and output formats for comprehensive divination services.
    7
    4 npm
    6
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables traditional Chinese fortune-telling through BaZi (Four Pillars) analysis, including solar/lunar date conversion, Five Element balance calculations, Ten Gods deduction, and destiny interpretation for metaphysics applications.
    34 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides accurate Chinese Bazi (八字) fortune-telling calculations including birth chart analysis, destiny forecasting, and Chinese calendar information. Addresses inaccuracies in existing AI fortune-telling tools by delivering precise Bazi data for personality analysis and metaphysical insights.
    108 npm
    ISC
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for accurate Bazi calculations, enabling personality analysis, destiny forecasting, and Chinese calendar queries via AI agents.
    108 npm
    ISC