← MCP Security Catalog

OpenFate Bazi MCP 0.2.6

npm · @openfate/bazi-mcp · latest release

Verified with no proven findings
Security result
6
Observed tools
34
Version rating
100
Change risk

Independent inventory

Observed 2026-08-17T07:12:48.927Z using mcpSecurity-inventory. Protocol 2025-06-18.

ToolCategoryRisk
calculate_bazi_chartCalculate a deterministic OpenFate Bazi/Four Pillars chart with True Solar Time correction, Day Master, Da Yun cycles, and branch interactions. For best accuracy, pass longitude plus timezone or timezoneId.
Input schema
{
  "type": "object",
  "properties": {
    "year": {
      "type": "integer",
      "minimum": 1800,
      "maximum": 2100,
      "description": "Birth year. Use the lunar year when calendarType is lunar."
    },
    "month": {
      "type": "integer",
      "minimum": 1,
      "maximum": 12,
      "description": "Birth month, 1-12."
    },
    "day": {
      "type": "integer",
      "minimum": 1,
      "maximum": 31,
      "description": "Birth day, 1-31."
    },
    "hour": {
      "type": "integer",
      "minimum": 0,
      "maximum": 23,
      "description": "Birth hour in local civil time, 0-23. Omit when birth time is unknown."
    },
    "minute": {
      "type": "integer",
      "minimum": 0,
      "maximum": 59,
      "default": 0,
      "description": "Birth minute in local civil time."
    },
    "gender": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Birth gender used for Da Yun direction."
    },
    "longitude": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "description": "Birthplace longitude in decimal degrees. Enables true solar time correction."
    },
    "timezone": {
      "type": "number",
      "minimum": -14,
      "maximum": 14,
      "description": "UTC offset in hours for the birth clock time, such as 8 for China or -5 for US Eastern Standard Time."
    },
    "timezoneId": {
      "type": "string",
      "description": "Optional IANA timezone ID, such as Asia/Shanghai or America/New_York."
    },
    "dstOffset": {
      "type": "number",
      "minimum": -2,
      "maximum": 2,
      "default": 0,
      "description": "Daylight saving offset in hours to remove from civil clock time. Use 1 for one-hour DST."
    },
    "calendarType": {
      "type": "string",
      "enum": [
        "solar",
        "lunar"
      ],
      "default": "solar",
      "description": "Input calendar type."
    },
    "isLeapMonth": {
      "type": "boolean",
      "default": false,
      "description": "Whether the lunar input month is a leap month. Used only when calendarType is lunar."
    },
    "enableTrueSolarTime": {
      "type": "boolean",
      "default": true,
      "description": "Apply true solar time when longitude and timezone data are available."
    },
    "dayBoundaryMode": {
      "type": "string",
      "enum": [
        "MIDNIGHT_00",
        "ZI_HOUR_23"
      ],
      "default": "ZI_HOUR_23",
      "description": "Day-change rule. ZI_HOUR_23 means 23:00 starts the next day pillar."
    }
  },
  "required": [
    "year",
    "month",
    "day",
    "gender"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": true,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
calculate_true_solar_timeCalculate OpenFate True Solar Time from civil birth time, longitude, timezone, and optional DST offset. Use this when explaining why the hour pillar may differ from ordinary clock-time tools.
Input schema
{
  "type": "object",
  "properties": {
    "year": {
      "type": "integer",
      "minimum": 1800,
      "maximum": 2100
    },
    "month": {
      "type": "integer",
      "minimum": 1,
      "maximum": 12
    },
    "day": {
      "type": "integer",
      "minimum": 1,
      "maximum": 31
    },
    "hour": {
      "type": "integer",
      "minimum": 0,
      "maximum": 23
    },
    "minute": {
      "type": "integer",
      "minimum": 0,
      "maximum": 59,
      "default": 0
    },
    "longitude": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "description": "Birthplace longitude in decimal degrees."
    },
    "timezone": {
      "type": "number",
      "minimum": -14,
      "maximum": 14,
      "description": "UTC offset in hours for the clock time."
    },
    "timezoneId": {
      "type": "string",
      "description": "IANA timezone ID, such as Asia/Shanghai."
    },
    "dstOffset": {
      "type": "number",
      "minimum": -2,
      "maximum": 2,
      "default": 0,
      "description": "Daylight saving offset in hours."
    }
  },
  "required": [
    "year",
    "month",
    "day",
    "hour",
    "longitude"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": true,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
detect_bazi_interactionsDetect deterministic Earthly Branch interactions for natal charts, synastry checks, annual triggers, or target-branch comparison. Covers clashes, combinations, trines, directionals, punishments, destructions, and harms.
Input schema
{
  "type": "object",
  "properties": {
    "yearBranch": {
      "type": "string",
      "enum": [
        "子",
        "丑",
        "寅",
        "卯",
        "辰",
        "巳",
        "午",
        "未",
        "申",
        "酉",
        "戌",
        "亥"
      ],
      "description": "Natal year branch."
    },
    "monthBranch": {
      "type": "string",
      "enum": [
        "子",
        "丑",
        "寅",
        "卯",
        "辰",
        "巳",
        "午",
        "未",
        "申",
        "酉",
        "戌",
        "亥"
      ],
      "description": "Natal month branch."
    },
    "dayBranch": {
      "type": "string",
      "enum": [
        "子",
        "丑",
        "寅",
        "卯",
        "辰",
        "巳",
        "午",
        "未",
        "申",
        "酉",
        "戌",
        "亥"
      ],
      "description": "Natal day branch."
    },
    "hourBranch": {
      "type": "string",
      "enum": [
        "子",
        "丑",
        "寅",
        "卯",
        "辰",
        "巳",
        "午",
        "未",
        "申",
        "酉",
        "戌",
        "亥"
      ],
      "description": "Natal hour branch. Omit when birth time is unknown."
    },
    "annualBranch": {
      "$ref": "#/properties/hourBranch",
      "description": "Optional annual or target branch for dynamic interaction detection."
    }
  },
  "required": [
    "yearBranch",
    "monthBranch",
    "dayBranch"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": true,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
get_openfate_bazi_policyReturn OpenFate calculation policy and LLM guidance for Bazi chart calls.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
Annotations
{
  "readOnlyHint": true,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
get_openfate_bazi_resourcesReturn canonical OpenFate URLs for charting, readings, compatibility, wealth, true solar time, and AI crawler metadata.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
Annotations
{
  "readOnlyHint": true,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
reverse_bazi_to_solar_timesFind possible Gregorian datetimes that produce a given four-pillar Bazi string. This is useful when a user only has a Bazi chart or screenshot. This lookup uses clock-time pillars without location-based true solar correction.
Input schema
{
  "type": "object",
  "properties": {
    "bazi": {
      "type": "string",
      "description": "Four pillars separated by spaces, for example: 戊寅 己未 己卯 辛未."
    },
    "startYear": {
      "type": "integer",
      "minimum": 1700,
      "maximum": 2100,
      "default": 1900,
      "description": "Start year for brute-force lookup."
    },
    "endYear": {
      "type": "integer",
      "minimum": 1700,
      "maximum": 2100,
      "description": "End year for brute-force lookup. Defaults to the current year."
    },
    "dayBoundaryMode": {
      "type": "string",
      "enum": [
        "MIDNIGHT_00",
        "ZI_HOUR_23"
      ],
      "default": "ZI_HOUR_23",
      "description": "Day-change rule used during lookup."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20,
      "description": "Maximum number of matching datetimes to return."
    }
  },
  "required": [
    "bazi"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "readOnlyHint": true,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}

Resources 0

Resource templates 0

Prompts 0

Changes from previous version

Compared with initial baseline using full_baseline.

RiskChangeSubject
No material changes recorded.

Confirmed vulnerabilities

SeverityFindingAdvisory
No confirmed vulnerability is published for this version.

Provenance

Artifact SHA-256: 97881bd4922e4a3fa7672bf38e69ab0c1564a7dc3d4fd9da68a01fa06b1106a4

Scanner: mcp-proof-engine 0.1.0.

Let’s talk about MCP security.

Share your details and our security team will contact you.