Muslim Prayer Reminder MCP

Production-ready Muslim prayer reminder MCP with astronomical precision and theological disclosure.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
94%
命名质量
100%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~9,985token 数(工具定义)
~23.9 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 7.80%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "muslim-prayer-mcp": {
      "command": "npx",
      "args": [
        "muslim-prayer-mcp"
      ]
    }
  }
}

可运行的软件包

npmmuslim-prayer-mcp1.0.1stdio

远程端点

https://muslim-prayer-mcp.najetareqz.workers.dev/mcpstreamable-http

它能做什么

工具清单

工具(5)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢get_prayer_status(city, userId, latitude, longitude, timezone, ...)

Checks if a Muslim obligatory prayer (Fajr, Dhuhr, Asr, Maghrib, Isha) is currently due for the user location and returns active reminder details. MANDATORY: The LLM must always explicitly disclose to the user which calculation authority method was used and why it was selected (see authorityNotice in response).

输入模式

{
  "type": "object",
  "properties": {
    "city": {
      "description": "Supported predefined city. Supply city or coordinates with an IANA timezone; connector/IP geolocation is never used.",
      "type": "string"
    },
    "userId": {
      "description": "Optional unique user identifier to load stored preferences. If omitted, pure geographic auto-resolution is applied.",
      "type": "string",
      "minLength": 1
    },
    "latitude": {
      "description": "Optional explicit latitude override",
      "type": "number",
      "minimum": -90,
      "maximum": 90
    },
    "longitude": {
      "description": "Optional explicit longitude override",
      "type": "number",
      "minimum": -180,
      "maximum": 180
    },
    "timezone": {
      "description": "Optional IANA timezone override (e.g. Asia/Riyadh)",
      "type": "string"
    },
    "calculationMethod": {
      "description": "Optional calculation authority override (auto-resolved from location by default)",
      "type": "string",
      "enum": [
        "UmmAlQura",
        "MuslimWorldLeague",
        "Egyptian",
        "Karachi",
        "NorthAmerica",
        "Dubai",
        "Qatar",
        "Kuwait",
        "MoonsightingCommittee",
        "Singapore",
        "Turkey",
        "Tehran"
      ]
    },
    "madhab": {
      "description": "Optional Asr shadow jurisprudence override (Shafi or Hanafi)",
      "type": "string",
      "enum": [
        "Shafi",
        "Hanafi"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "nextPrayerCalculation": {
      "description": "Adjustment disclosure for the actual schedule of the next event, including tomorrow",
      "type": "object",
      "properties": {
        "localDate": {
          "type": "string"
        },
        "highLatitudeAdjustment": {
          "type": "object",
          "properties": {
            "applied": {
              "type": "boolean"
            },
            "rule": {
              "type": "string",
              "enum": [
                "MiddleOfTheNight",
                "SeventhOfTheNight",
                "TwilightAngle"
              ]
            },
            "methodSpecificTwilightRule": {
              "type": "string",
              "const": "MoonsightingCommittee"
            },
            "astronomicalLatitudeClamped": {
              "type": "boolean"
            },
            "effectiveLatitude": {
              "description": "Substitute latitude only; never the user coordinate",
              "anyOf": [
                {
                  "type": "number",
                  "const": 48
                },
                {
                  "type": "number",
                  "const": -48
                }
              ]
            },
            "adjustedPrayers": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "Fajr",
                  "Sunrise",
                  "Dhuhr",
                  "Asr",
                  "Maghrib",
                  "Isha"
                ]
              }
            },
            "explanation": {
              "type": "string"
            }
          },
          "required": [
            "applied",
            "rule",
            "astronomicalLatitudeClamped",
            "adjustedPrayers",
            "explanation"
          ],
          "additionalProperties": false
        },
        "calculationDetails": {
          "type": "object",
          "properties": {
            "locationBasis": {
              "type": "string",
              "enum": [
                "explicit_coordinates",
                "explicit_city",
                "stored_fixed_coordinates",
                "stored_fixed_city",
                "host_coordinates",
                "host_city",
                "network_geolocation",
                "default_location"
              ]
            },
            "locationIsApproximate": {
              "type": "boolean"
            },
            "fallbackLocationUsed": {
              "type": "boolean"
            },
            "methodSource": {
              "type": "string",
              "enum": [
                "explicit_override",
                "stored_preference",
                "geographic_default"
              ]
            },
            "madhabSource": {
              "type": "string",
              "enum": [
                "explicit_override",
                "stored_preference",
                "geographic_default"
              ]
            },
            "highLatitudeRuleSource": {
              "type": "string",
              "enum": [
                "stored_preference",
                "geographic_default"
              ]
            },
            "regionalMinuteAdjustments": {
              "type": "object",
              "properties": {
                "fajr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "sunrise": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "dhuhr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "asr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "maghrib": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "isha": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                }
              },
              "additionalProperties": false
            },
            "customMinuteAdjustments": {
              "type": "object",
              "properties": {
                "fajr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "sunrise": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "dhuhr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "asr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "maghrib": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "isha": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                }
              },
              "additionalProperties": false
            },
            "methodMinuteAdjustments": {
              "type": "object",
              "properties": {
                "fajr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "sunrise": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "dhuhr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "asr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "maghrib": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "isha": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                }
              },
              "additionalProperties": false
            },
            "appliedMinuteAdjustments": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "number"
              }
            },
            "calendarAlignmentAdjusted": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        },
        "authorityNotice": {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "enum": [
                "UmmAlQura",
                "MuslimWorldLeague",
                "Egyptian",
                "Karachi",
                "NorthAmerica",
                "Dubai",
                "Qatar",
                "Kuwait",
                "MoonsightingCommittee",
                "Singapore",
                "Turkey",
                "Tehran"
              ],
              "description": "The calculation authority method"
            },
            "madhab": {
              "type": "string",
              "enum": [
                "Shafi",
                "Hanafi"
              ],
              "description": "The Asr jurisprudence school"
            },
            "authorityDescription": {
              "type": "string",
              "description": "Full descriptive name of the calculation authority"
            },
            "selectionReason": {
              "type": "string",
              "description": "Rationale for selecting this authority"
            },
            "requiredDisplayInstruction": {
              "type": "string",
              "description": "Mandatory theological notice for AI presentation"
            },
            "highLatitudeAdjustment": {
              "type": "object",
              "properties": {
                "applied": {
                  "type": "boolean"
                },
                "rule": {
                  "type": "string",
                  "enum": [
                    "MiddleOfTheNight",
                    "SeventhOfTheNight",
                    "TwilightAngle"
                  ]
                },
                "methodSpecificTwilightRule": {
                  "type": "string",
                  "const": "MoonsightingCommittee"
                },
                "astronomicalLatitudeClamped": {
                  "type": "boolean"
                },
                "effectiveLatitude": {
                  "description": "Substitute latitude only; never the user coordinate",
                  "anyOf": [
                    {
                      "type": "number",
                      "const": 48
                    },
                    {
                      "type": "number",
                      "const": -48
                    }
                  ]
                },
                "adjustedPrayers": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "Fajr",
                      "Sunrise",
                      "Dhuhr",
                      "Asr",
                      "Maghrib",
                      "Isha"
                    ]
                  }
                },
                "explanation": {
                  "type": "string"
                }
              },
              "required": [
                "applied",
                "rule",
                "astronomicalLatitudeClamped",
                "adjustedPrayers",
                "explanation"
              ],
              "additionalProperties": false
            },
            "calculationDetails": {
              "type": "object",
              "properties": {
                "locationBasis": {
                  "type": "string",
                  "enum": [
                    "explicit_coordinates",
                    "explicit_city",
                    "stored_fixed_coordinates",
                    "stored_fixed_city",
                    "host_coordinates",
                    "host_city",
                    "network_geolocation",
                    "default_location"
                  ]
                },
                "locationIsApproximate": {
                  "type": "boolean"
                },
                "fallbackLocationUsed": {
                  "type": "boolean"
                },
                "methodSource": {
                  "type": "string",
                  "enum": [
                    "explicit_override",
                    "stored_preference",
                    "geographic_default"
                  ]
                },
                "madhabSource": {
                  "type": "string",
                  "enum": [
                    "explicit_override",
                    "stored_preference",
                    "geographic_default"
                  ]
                },
                "highLatitudeRuleSource": {
                  "type": "string",
                  "enum": [
                    "stored_preference",
                    "geographic_default"
                  ]
                },
                "regionalMinuteAdjustments": {
                  "type": "object",
                  "properties": {
                    "fajr": {
                      "type": "integer",
                      "minimum": -60,
                      "maximum": 60
                    },
                    "sunrise": {
                      "type": "integer",
                      "minimum": -60,
                      "maximum": 60
                    },
                    "dhuhr": {
                      "type": "integer",
                      "minimum": -60,
                      "maximum": 60
                    },
                    "asr": {
                      "type": "integer",
                      "minimum": -60,
                      "maximum": 60
                    },
                    "maghrib": {
                      "type": "integer",
                      "minimum": -60,
                      "maximum": 60
                    },
                    "isha": {
                      "type": "integer",
                      "minimum": -60,
                      "maximum": 60
                    }
                  },
                  "additionalProperties": false
                },
                "customMinuteAdjustments": {
                  "type": "object",
                  "properties": {
                    "fajr": {
                      "type": "integer",
                      "minimum": -60,
                      "maximum": 60
                    },
                    "sunrise": {
                      "type": "integer",
                      "minimum": -60,
                      "maximum": 60
                    },
                    "dhuhr": {
                      "type": "integer",
                      "minimum": -60,
                      "maximum": 60
                    },
                    "asr": {
                      "type": "integer",
                      "minimum": -60,
                      "maximum": 60
                    },
                    "maghrib": {
                      "type": "integer",
                      "minimum": -60,
                      "maximum": 60
                    },
                    "isha": {
                      "type": "integer",
                      "minimum": -60,
                      "maximum": 60
                    }
                  },
                  "additionalProperties": false
                },
                "methodMinuteAdjustments": {
                  "type": "object",
                  "properties": {
                    "fajr": {
                      "type": "integer",
                      "minimum": -60,
                      "maximum": 60
                    },
                    "sunrise": {
                      "type": "integer",
                      "minimum": -60,
                      "maximum": 60
                    },
                    "dhuhr": {
                      "type": "integer",
                      "minimum": -60,
                      "maximum": 60
                    },
                    "asr": {
                      "type": "integer",
                      "minimum": -60,
                      "maximum": 60
                    },
                    "maghrib": {
                      "type": "integer",
                      "minimum": -60,
                      "maximum": 60
                    },
                    "isha": {
                      "type": "integer",
                      "minimum": -60,
                      "maximum": 60
                    }
                  },
                  "additionalProperties": false
                },
                "appliedMinuteAdjustments": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {
                    "type": "number"
                  }
                },
                "calendarAlignmentAdjusted": {
                  "type": "boolean"
                }
              },
              "additionalProperties": false
            }
          },
          "required": [
            "method",
            "madhab",
            "authorityDescription",
            "selectionReason",
            "requiredDisplayInstruction"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "localDate"
      ],
      "additionalProperties": false
    },
    "reminderDue": {
      "type": "boolean",
      "description": "Whether a prayer is currently due for reminder"
    },
    "prayer": {
      "description": "The name of the currently due prayer if applicable",
      "type": "string"
    },
    "localDate": {
      "type": "string",
      "description": "Current local date in YYYY-MM-DD"
    },
    "startedAtUtc": {
      "description": "UTC start time of the active prayer window",
      "type": "string"
    },
    "expiresAtUtc": {
      "description": "UTC expiration time of the active prayer window",
      "type": "string"
    },
    "nextPrayer": {
      "type": "string",
      "description": "The name of the next upcoming prayer"
    },
    "nextPrayerAtUtc": {
      "type": "string",
      "description": "UTC timestamp of the next upcoming prayer"
    },
    "timezone": {
      "type": "string",
      "description": "Resolved IANA timezone"
    },
    "calculationMethod": {
      "type": "string",
      "enum": [
        "UmmAlQura",
        "MuslimWorldLeague",
        "Egyptian",
        "Karachi",
        "NorthAmerica",
        "Dubai",
        "Qatar",
        "Kuwait",
        "MoonsightingCommittee",
        "Singapore",
        "Turkey",
        "Tehran"
      ],
      "description": "Active calculation authority"
    },
    "madhab": {
      "type": "string",
      "enum": [
        "Shafi",
        "Hanafi"
      ],
      "description": "Active Asr jurisprudence"
    },
    "minuteAdjustments": {
      "description": "Applied minute adjustments",
      "type": "object",
      "properties": {
        "fajr": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "sunrise": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "dhuhr": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "asr": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "maghrib": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "isha": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        }
      },
      "additionalProperties": false
    },
    "authorityDescription": {
      "description": "Description of the calculation authority",
      "type": "string"
    },
    "selectionReason": {
      "description": "Reason for authority selection",
      "type": "string"
    },
    "highLatitudeAdjustment": {
      "type": "object",
      "properties": {
        "applied": {
          "type": "boolean"
        },
        "rule": {
          "type": "string",
          "enum": [
            "MiddleOfTheNight",
            "SeventhOfTheNight",
            "TwilightAngle"
          ]
        },
        "methodSpecificTwilightRule": {
          "type": "string",
          "const": "MoonsightingCommittee"
        },
        "astronomicalLatitudeClamped": {
          "type": "boolean"
        },
        "effectiveLatitude": {
          "description": "Substitute latitude only; never the user coordinate",
          "anyOf": [
            {
              "type": "number",
              "const": 48
            },
            {
              "type": "number",
              "const": -48
            }
          ]
        },
        "adjustedPrayers": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "Fajr",
              "Sunrise",
              "Dhuhr",
              "Asr",
              "Maghrib",
              "Isha"
            ]
          }
        },
        "explanation": {
          "type": "string"
        }
      },
      "required": [
        "applied",
        "rule",
        "astronomicalLatitudeClamped",
        "adjustedPrayers",
        "explanation"
      ],
      "additionalProperties": false
    },
    "calculationDetails": {
      "type": "object",
      "properties": {
        "locationBasis": {
          "type": "string",
          "enum": [
            "explicit_coordinates",
            "explicit_city",
            "stored_fixed_coordinates",
            "stored_fixed_city",
            "host_coordinates",
            "host_city",
            "network_geolocation",
            "default_location"
          ]
        },
        "locationIsApproximate": {
          "type": "boolean"
        },
        "fallbackLocationUsed": {
          "type": "boolean"
        },
        "methodSource": {
          "type": "string",
          "enum": [
            "explicit_override",
            "stored_preference",
            "geographic_default"
          ]
        },
        "madhabSource": {
          "type": "string",
          "enum": [
            "explicit_override",
            "stored_preference",
            "geographic_default"
          ]
        },
        "highLatitudeRuleSource": {
          "type": "string",
          "enum": [
            "stored_preference",
            "geographic_default"
          ]
        },
        "regionalMinuteAdjustments": {
          "type": "object",
          "properties": {
            "fajr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "sunrise": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "dhuhr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "asr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "maghrib": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "isha": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            }
          },
          "additionalProperties": false
        },
        "customMinuteAdjustments": {
          "type": "object",
          "properties": {
            "fajr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "sunrise": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "dhuhr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "asr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "maghrib": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "isha": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            }
          },
          "additionalProperties": false
        },
        "methodMinuteAdjustments": {
          "type": "object",
          "properties": {
            "fajr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "sunrise": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "dhuhr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "asr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "maghrib": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "isha": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            }
          },
          "additionalProperties": false
        },
        "appliedMinuteAdjustments": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "number"
          }
        },
        "calendarAlignmentAdjusted": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "authorityNotice": {
      "description": "Mandatory theological transparency notice",
      "type": "object",
      "properties": {
        "method": {
          "type": "string",
          "enum": [
            "UmmAlQura",
            "MuslimWorldLeague",
            "Egyptian",
            "Karachi",
            "NorthAmerica",
            "Dubai",
            "Qatar",
            "Kuwait",
            "MoonsightingCommittee",
            "Singapore",
            "Turkey",
            "Tehran"
          ],
          "description": "The calculation authority method"
        },
        "madhab": {
          "type": "string",
          "enum": [
            "Shafi",
            "Hanafi"
          ],
          "description": "The Asr jurisprudence school"
        },
        "authorityDescription": {
          "type": "string",
          "description": "Full descriptive name of the calculation authority"
        },
        "selectionReason": {
          "type": "string",
          "description": "Rationale for selecting this authority"
        },
        "requiredDisplayInstruction": {
          "type": "string",
          "description": "Mandatory theological notice for AI presentation"
        },
        "highLatitudeAdjustment": {
          "type": "object",
          "properties": {
            "applied": {
              "type": "boolean"
            },
            "rule": {
              "type": "string",
              "enum": [
                "MiddleOfTheNight",
                "SeventhOfTheNight",
                "TwilightAngle"
              ]
            },
            "methodSpecificTwilightRule": {
              "type": "string",
              "const": "MoonsightingCommittee"
            },
            "astronomicalLatitudeClamped": {
              "type": "boolean"
            },
            "effectiveLatitude": {
              "description": "Substitute latitude only; never the user coordinate",
              "anyOf": [
                {
                  "type": "number",
                  "const": 48
                },
                {
                  "type": "number",
                  "const": -48
                }
              ]
            },
            "adjustedPrayers": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "Fajr",
                  "Sunrise",
                  "Dhuhr",
                  "Asr",
                  "Maghrib",
                  "Isha"
                ]
              }
            },
            "explanation": {
              "type": "string"
            }
          },
          "required": [
            "applied",
            "rule",
            "astronomicalLatitudeClamped",
            "adjustedPrayers",
            "explanation"
          ],
          "additionalProperties": false
        },
        "calculationDetails": {
          "type": "object",
          "properties": {
            "locationBasis": {
              "type": "string",
              "enum": [
                "explicit_coordinates",
                "explicit_city",
                "stored_fixed_coordinates",
                "stored_fixed_city",
                "host_coordinates",
                "host_city",
                "network_geolocation",
                "default_location"
              ]
            },
            "locationIsApproximate": {
              "type": "boolean"
            },
            "fallbackLocationUsed": {
              "type": "boolean"
            },
            "methodSource": {
              "type": "string",
              "enum": [
                "explicit_override",
                "stored_preference",
                "geographic_default"
              ]
            },
            "madhabSource": {
              "type": "string",
              "enum": [
                "explicit_override",
                "stored_preference",
                "geographic_default"
              ]
            },
            "highLatitudeRuleSource": {
              "type": "string",
              "enum": [
                "stored_preference",
                "geographic_default"
              ]
            },
            "regionalMinuteAdjustments": {
              "type": "object",
              "properties": {
                "fajr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "sunrise": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "dhuhr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "asr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "maghrib": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "isha": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                }
              },
              "additionalProperties": false
            },
            "customMinuteAdjustments": {
              "type": "object",
              "properties": {
                "fajr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "sunrise": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "dhuhr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "asr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "maghrib": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "isha": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                }
              },
              "additionalProperties": false
            },
            "methodMinuteAdjustments": {
              "type": "object",
              "properties": {
                "fajr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "sunrise": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "dhuhr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "asr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "maghrib": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "isha": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                }
              },
              "additionalProperties": false
            },
            "appliedMinuteAdjustments": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "number"
              }
            },
            "calendarAlignmentAdjusted": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        }
      },
      "required": [
        "method",
        "madhab",
        "authorityDescription",
        "selectionReason",
        "requiredDisplayInstruction"
      ],
      "additionalProperties": false
    },
    "reminderText": {
      "description": "Localized reminder message",
      "type": "string"
    }
  },
  "required": [
    "reminderDue",
    "localDate",
    "nextPrayer",
    "nextPrayerAtUtc",
    "timezone",
    "calculationMethod",
    "madhab"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_today_prayer_times(city, userId, date, latitude, longitude, ...)

Retrieves today prayer timetable (Fajr, Sunrise, Dhuhr, Asr, Maghrib, Isha) in UTC and formatted local time. MANDATORY: The LLM must always explicitly disclose to the user which calculation authority method was used and why it was selected (see authorityNotice in response).

输入模式

{
  "type": "object",
  "properties": {
    "city": {
      "description": "Supported predefined city. Supply city or coordinates with an IANA timezone; connector/IP geolocation is never used.",
      "type": "string"
    },
    "userId": {
      "description": "Optional unique user identifier to load stored preferences. If omitted, pure geographic auto-resolution is applied.",
      "type": "string",
      "minLength": 1
    },
    "date": {
      "description": "Date in YYYY-MM-DD format (defaults to today)",
      "type": "string"
    },
    "latitude": {
      "description": "Optional explicit latitude override",
      "type": "number",
      "minimum": -90,
      "maximum": 90
    },
    "longitude": {
      "description": "Optional explicit longitude override",
      "type": "number",
      "minimum": -180,
      "maximum": 180
    },
    "timezone": {
      "description": "Optional IANA timezone override",
      "type": "string"
    },
    "calculationMethod": {
      "description": "Optional calculation authority override (auto-resolved from location by default)",
      "type": "string",
      "enum": [
        "UmmAlQura",
        "MuslimWorldLeague",
        "Egyptian",
        "Karachi",
        "NorthAmerica",
        "Dubai",
        "Qatar",
        "Kuwait",
        "MoonsightingCommittee",
        "Singapore",
        "Turkey",
        "Tehran"
      ]
    },
    "madhab": {
      "description": "Optional Asr shadow jurisprudence override (Shafi or Hanafi)",
      "type": "string",
      "enum": [
        "Shafi",
        "Hanafi"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "localDate": {
      "type": "string",
      "description": "Local schedule date YYYY-MM-DD"
    },
    "timezone": {
      "type": "string",
      "description": "Resolved IANA timezone"
    },
    "calculationMethod": {
      "type": "string",
      "enum": [
        "UmmAlQura",
        "MuslimWorldLeague",
        "Egyptian",
        "Karachi",
        "NorthAmerica",
        "Dubai",
        "Qatar",
        "Kuwait",
        "MoonsightingCommittee",
        "Singapore",
        "Turkey",
        "Tehran"
      ],
      "description": "Active calculation authority"
    },
    "madhab": {
      "type": "string",
      "enum": [
        "Shafi",
        "Hanafi"
      ],
      "description": "Active Asr jurisprudence"
    },
    "minuteAdjustments": {
      "type": "object",
      "properties": {
        "fajr": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "sunrise": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "dhuhr": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "asr": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "maghrib": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "isha": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        }
      },
      "additionalProperties": false
    },
    "authorityDescription": {
      "type": "string"
    },
    "selectionReason": {
      "type": "string"
    },
    "highLatitudeAdjustment": {
      "type": "object",
      "properties": {
        "applied": {
          "type": "boolean"
        },
        "rule": {
          "type": "string",
          "enum": [
            "MiddleOfTheNight",
            "SeventhOfTheNight",
            "TwilightAngle"
          ]
        },
        "methodSpecificTwilightRule": {
          "type": "string",
          "const": "MoonsightingCommittee"
        },
        "astronomicalLatitudeClamped": {
          "type": "boolean"
        },
        "effectiveLatitude": {
          "description": "Substitute latitude only; never the user coordinate",
          "anyOf": [
            {
              "type": "number",
              "const": 48
            },
            {
              "type": "number",
              "const": -48
            }
          ]
        },
        "adjustedPrayers": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "Fajr",
              "Sunrise",
              "Dhuhr",
              "Asr",
              "Maghrib",
              "Isha"
            ]
          }
        },
        "explanation": {
          "type": "string"
        }
      },
      "required": [
        "applied",
        "rule",
        "astronomicalLatitudeClamped",
        "adjustedPrayers",
        "explanation"
      ],
      "additionalProperties": false
    },
    "calculationDetails": {
      "type": "object",
      "properties": {
        "locationBasis": {
          "type": "string",
          "enum": [
            "explicit_coordinates",
            "explicit_city",
            "stored_fixed_coordinates",
            "stored_fixed_city",
            "host_coordinates",
            "host_city",
            "network_geolocation",
            "default_location"
          ]
        },
        "locationIsApproximate": {
          "type": "boolean"
        },
        "fallbackLocationUsed": {
          "type": "boolean"
        },
        "methodSource": {
          "type": "string",
          "enum": [
            "explicit_override",
            "stored_preference",
            "geographic_default"
          ]
        },
        "madhabSource": {
          "type": "string",
          "enum": [
            "explicit_override",
            "stored_preference",
            "geographic_default"
          ]
        },
        "highLatitudeRuleSource": {
          "type": "string",
          "enum": [
            "stored_preference",
            "geographic_default"
          ]
        },
        "regionalMinuteAdjustments": {
          "type": "object",
          "properties": {
            "fajr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "sunrise": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "dhuhr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "asr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "maghrib": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "isha": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            }
          },
          "additionalProperties": false
        },
        "customMinuteAdjustments": {
          "type": "object",
          "properties": {
            "fajr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "sunrise": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "dhuhr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "asr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "maghrib": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "isha": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            }
          },
          "additionalProperties": false
        },
        "methodMinuteAdjustments": {
          "type": "object",
          "properties": {
            "fajr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "sunrise": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "dhuhr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "asr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "maghrib": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "isha": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            }
          },
          "additionalProperties": false
        },
        "appliedMinuteAdjustments": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "number"
          }
        },
        "calendarAlignmentAdjusted": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "authorityNotice": {
      "type": "object",
      "properties": {
        "method": {
          "type": "string",
          "enum": [
            "UmmAlQura",
            "MuslimWorldLeague",
            "Egyptian",
            "Karachi",
            "NorthAmerica",
            "Dubai",
            "Qatar",
            "Kuwait",
            "MoonsightingCommittee",
            "Singapore",
            "Turkey",
            "Tehran"
          ],
          "description": "The calculation authority method"
        },
        "madhab": {
          "type": "string",
          "enum": [
            "Shafi",
            "Hanafi"
          ],
          "description": "The Asr jurisprudence school"
        },
        "authorityDescription": {
          "type": "string",
          "description": "Full descriptive name of the calculation authority"
        },
        "selectionReason": {
          "type": "string",
          "description": "Rationale for selecting this authority"
        },
        "requiredDisplayInstruction": {
          "type": "string",
          "description": "Mandatory theological notice for AI presentation"
        },
        "highLatitudeAdjustment": {
          "type": "object",
          "properties": {
            "applied": {
              "type": "boolean"
            },
            "rule": {
              "type": "string",
              "enum": [
                "MiddleOfTheNight",
                "SeventhOfTheNight",
                "TwilightAngle"
              ]
            },
            "methodSpecificTwilightRule": {
              "type": "string",
              "const": "MoonsightingCommittee"
            },
            "astronomicalLatitudeClamped": {
              "type": "boolean"
            },
            "effectiveLatitude": {
              "description": "Substitute latitude only; never the user coordinate",
              "anyOf": [
                {
                  "type": "number",
                  "const": 48
                },
                {
                  "type": "number",
                  "const": -48
                }
              ]
            },
            "adjustedPrayers": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "Fajr",
                  "Sunrise",
                  "Dhuhr",
                  "Asr",
                  "Maghrib",
                  "Isha"
                ]
              }
            },
            "explanation": {
              "type": "string"
            }
          },
          "required": [
            "applied",
            "rule",
            "astronomicalLatitudeClamped",
            "adjustedPrayers",
            "explanation"
          ],
          "additionalProperties": false
        },
        "calculationDetails": {
          "type": "object",
          "properties": {
            "locationBasis": {
              "type": "string",
              "enum": [
                "explicit_coordinates",
                "explicit_city",
                "stored_fixed_coordinates",
                "stored_fixed_city",
                "host_coordinates",
                "host_city",
                "network_geolocation",
                "default_location"
              ]
            },
            "locationIsApproximate": {
              "type": "boolean"
            },
            "fallbackLocationUsed": {
              "type": "boolean"
            },
            "methodSource": {
              "type": "string",
              "enum": [
                "explicit_override",
                "stored_preference",
                "geographic_default"
              ]
            },
            "madhabSource": {
              "type": "string",
              "enum": [
                "explicit_override",
                "stored_preference",
                "geographic_default"
              ]
            },
            "highLatitudeRuleSource": {
              "type": "string",
              "enum": [
                "stored_preference",
                "geographic_default"
              ]
            },
            "regionalMinuteAdjustments": {
              "type": "object",
              "properties": {
                "fajr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "sunrise": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "dhuhr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "asr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "maghrib": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "isha": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                }
              },
              "additionalProperties": false
            },
            "customMinuteAdjustments": {
              "type": "object",
              "properties": {
                "fajr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "sunrise": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "dhuhr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "asr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "maghrib": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "isha": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                }
              },
              "additionalProperties": false
            },
            "methodMinuteAdjustments": {
              "type": "object",
              "properties": {
                "fajr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "sunrise": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "dhuhr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "asr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "maghrib": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "isha": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                }
              },
              "additionalProperties": false
            },
            "appliedMinuteAdjustments": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "number"
              }
            },
            "calendarAlignmentAdjusted": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        }
      },
      "required": [
        "method",
        "madhab",
        "authorityDescription",
        "selectionReason",
        "requiredDisplayInstruction"
      ],
      "additionalProperties": false
    },
    "timesUtc": {
      "type": "object",
      "properties": {
        "fajr": {
          "type": "string",
          "description": "Fajr UTC timestamp"
        },
        "sunrise": {
          "type": "string",
          "description": "Sunrise UTC timestamp"
        },
        "dhuhr": {
          "type": "string",
          "description": "Dhuhr UTC timestamp"
        },
        "asr": {
          "type": "string",
          "description": "Asr UTC timestamp"
        },
        "maghrib": {
          "type": "string",
          "description": "Maghrib UTC timestamp"
        },
        "isha": {
          "type": "string",
          "description": "Isha UTC timestamp"
        }
      },
      "required": [
        "fajr",
        "sunrise",
        "dhuhr",
        "asr",
        "maghrib",
        "isha"
      ],
      "additionalProperties": false
    },
    "timesLocal": {
      "type": "object",
      "properties": {
        "Fajr": {
          "type": "string",
          "description": "Fajr local 24h time HH:mm"
        },
        "Sunrise": {
          "type": "string",
          "description": "Sunrise local 24h time HH:mm"
        },
        "Dhuhr": {
          "type": "string",
          "description": "Dhuhr local 24h time HH:mm"
        },
        "Asr": {
          "type": "string",
          "description": "Asr local 24h time HH:mm"
        },
        "Maghrib": {
          "type": "string",
          "description": "Maghrib local 24h time HH:mm"
        },
        "Isha": {
          "type": "string",
          "description": "Isha local 24h time HH:mm"
        }
      },
      "required": [
        "Fajr",
        "Sunrise",
        "Dhuhr",
        "Asr",
        "Maghrib",
        "Isha"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "localDate",
    "timezone",
    "calculationMethod",
    "madhab",
    "timesUtc",
    "timesLocal"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_next_prayer(city, userId, latitude, longitude, timezone, ...)

Returns the immediate next prayer name, scheduled time, authority calculation method, and remaining countdown in minutes. MANDATORY: The LLM must always explicitly disclose to the user which calculation authority method was used and why it was selected (see authorityNotice in response).

输入模式

{
  "type": "object",
  "properties": {
    "city": {
      "description": "Supported predefined city. Supply city or coordinates with an IANA timezone; connector/IP geolocation is never used.",
      "type": "string"
    },
    "userId": {
      "description": "Optional unique user identifier to load stored preferences. If omitted, pure geographic auto-resolution is applied.",
      "type": "string",
      "minLength": 1
    },
    "latitude": {
      "description": "Optional explicit latitude override",
      "type": "number",
      "minimum": -90,
      "maximum": 90
    },
    "longitude": {
      "description": "Optional explicit longitude override",
      "type": "number",
      "minimum": -180,
      "maximum": 180
    },
    "timezone": {
      "description": "Optional IANA timezone override",
      "type": "string"
    },
    "calculationMethod": {
      "description": "Optional calculation authority override (auto-resolved from location by default)",
      "type": "string",
      "enum": [
        "UmmAlQura",
        "MuslimWorldLeague",
        "Egyptian",
        "Karachi",
        "NorthAmerica",
        "Dubai",
        "Qatar",
        "Kuwait",
        "MoonsightingCommittee",
        "Singapore",
        "Turkey",
        "Tehran"
      ]
    },
    "madhab": {
      "description": "Optional Asr shadow jurisprudence override (Shafi or Hanafi)",
      "type": "string",
      "enum": [
        "Shafi",
        "Hanafi"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "currentLocalDate": {
      "type": "string",
      "description": "Current local date YYYY-MM-DD"
    },
    "timezone": {
      "type": "string",
      "description": "Resolved IANA timezone"
    },
    "nextPrayer": {
      "type": "string",
      "description": "Name of the upcoming prayer"
    },
    "nextPrayerAtUtc": {
      "type": "string",
      "description": "UTC timestamp of the upcoming prayer"
    },
    "nextPrayerLocalTime": {
      "type": "string",
      "description": "Formatted local time HH:mm"
    },
    "remainingMinutes": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "Minutes remaining until prayer start"
    },
    "calculationMethod": {
      "type": "string",
      "enum": [
        "UmmAlQura",
        "MuslimWorldLeague",
        "Egyptian",
        "Karachi",
        "NorthAmerica",
        "Dubai",
        "Qatar",
        "Kuwait",
        "MoonsightingCommittee",
        "Singapore",
        "Turkey",
        "Tehran"
      ],
      "description": "Active calculation authority"
    },
    "madhab": {
      "type": "string",
      "enum": [
        "Shafi",
        "Hanafi"
      ],
      "description": "Active Asr jurisprudence"
    },
    "authorityDescription": {
      "type": "string"
    },
    "selectionReason": {
      "type": "string"
    },
    "highLatitudeAdjustment": {
      "type": "object",
      "properties": {
        "applied": {
          "type": "boolean"
        },
        "rule": {
          "type": "string",
          "enum": [
            "MiddleOfTheNight",
            "SeventhOfTheNight",
            "TwilightAngle"
          ]
        },
        "methodSpecificTwilightRule": {
          "type": "string",
          "const": "MoonsightingCommittee"
        },
        "astronomicalLatitudeClamped": {
          "type": "boolean"
        },
        "effectiveLatitude": {
          "description": "Substitute latitude only; never the user coordinate",
          "anyOf": [
            {
              "type": "number",
              "const": 48
            },
            {
              "type": "number",
              "const": -48
            }
          ]
        },
        "adjustedPrayers": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "Fajr",
              "Sunrise",
              "Dhuhr",
              "Asr",
              "Maghrib",
              "Isha"
            ]
          }
        },
        "explanation": {
          "type": "string"
        }
      },
      "required": [
        "applied",
        "rule",
        "astronomicalLatitudeClamped",
        "adjustedPrayers",
        "explanation"
      ],
      "additionalProperties": false
    },
    "calculationDetails": {
      "type": "object",
      "properties": {
        "locationBasis": {
          "type": "string",
          "enum": [
            "explicit_coordinates",
            "explicit_city",
            "stored_fixed_coordinates",
            "stored_fixed_city",
            "host_coordinates",
            "host_city",
            "network_geolocation",
            "default_location"
          ]
        },
        "locationIsApproximate": {
          "type": "boolean"
        },
        "fallbackLocationUsed": {
          "type": "boolean"
        },
        "methodSource": {
          "type": "string",
          "enum": [
            "explicit_override",
            "stored_preference",
            "geographic_default"
          ]
        },
        "madhabSource": {
          "type": "string",
          "enum": [
            "explicit_override",
            "stored_preference",
            "geographic_default"
          ]
        },
        "highLatitudeRuleSource": {
          "type": "string",
          "enum": [
            "stored_preference",
            "geographic_default"
          ]
        },
        "regionalMinuteAdjustments": {
          "type": "object",
          "properties": {
            "fajr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "sunrise": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "dhuhr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "asr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "maghrib": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "isha": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            }
          },
          "additionalProperties": false
        },
        "customMinuteAdjustments": {
          "type": "object",
          "properties": {
            "fajr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "sunrise": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "dhuhr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "asr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "maghrib": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "isha": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            }
          },
          "additionalProperties": false
        },
        "methodMinuteAdjustments": {
          "type": "object",
          "properties": {
            "fajr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "sunrise": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "dhuhr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "asr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "maghrib": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "isha": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            }
          },
          "additionalProperties": false
        },
        "appliedMinuteAdjustments": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "number"
          }
        },
        "calendarAlignmentAdjusted": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "authorityNotice": {
      "type": "object",
      "properties": {
        "method": {
          "type": "string",
          "enum": [
            "UmmAlQura",
            "MuslimWorldLeague",
            "Egyptian",
            "Karachi",
            "NorthAmerica",
            "Dubai",
            "Qatar",
            "Kuwait",
            "MoonsightingCommittee",
            "Singapore",
            "Turkey",
            "Tehran"
          ],
          "description": "The calculation authority method"
        },
        "madhab": {
          "type": "string",
          "enum": [
            "Shafi",
            "Hanafi"
          ],
          "description": "The Asr jurisprudence school"
        },
        "authorityDescription": {
          "type": "string",
          "description": "Full descriptive name of the calculation authority"
        },
        "selectionReason": {
          "type": "string",
          "description": "Rationale for selecting this authority"
        },
        "requiredDisplayInstruction": {
          "type": "string",
          "description": "Mandatory theological notice for AI presentation"
        },
        "highLatitudeAdjustment": {
          "type": "object",
          "properties": {
            "applied": {
              "type": "boolean"
            },
            "rule": {
              "type": "string",
              "enum": [
                "MiddleOfTheNight",
                "SeventhOfTheNight",
                "TwilightAngle"
              ]
            },
            "methodSpecificTwilightRule": {
              "type": "string",
              "const": "MoonsightingCommittee"
            },
            "astronomicalLatitudeClamped": {
              "type": "boolean"
            },
            "effectiveLatitude": {
              "description": "Substitute latitude only; never the user coordinate",
              "anyOf": [
                {
                  "type": "number",
                  "const": 48
                },
                {
                  "type": "number",
                  "const": -48
                }
              ]
            },
            "adjustedPrayers": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "Fajr",
                  "Sunrise",
                  "Dhuhr",
                  "Asr",
                  "Maghrib",
                  "Isha"
                ]
              }
            },
            "explanation": {
              "type": "string"
            }
          },
          "required": [
            "applied",
            "rule",
            "astronomicalLatitudeClamped",
            "adjustedPrayers",
            "explanation"
          ],
          "additionalProperties": false
        },
        "calculationDetails": {
          "type": "object",
          "properties": {
            "locationBasis": {
              "type": "string",
              "enum": [
                "explicit_coordinates",
                "explicit_city",
                "stored_fixed_coordinates",
                "stored_fixed_city",
                "host_coordinates",
                "host_city",
                "network_geolocation",
                "default_location"
              ]
            },
            "locationIsApproximate": {
              "type": "boolean"
            },
            "fallbackLocationUsed": {
              "type": "boolean"
            },
            "methodSource": {
              "type": "string",
              "enum": [
                "explicit_override",
                "stored_preference",
                "geographic_default"
              ]
            },
            "madhabSource": {
              "type": "string",
              "enum": [
                "explicit_override",
                "stored_preference",
                "geographic_default"
              ]
            },
            "highLatitudeRuleSource": {
              "type": "string",
              "enum": [
                "stored_preference",
                "geographic_default"
              ]
            },
            "regionalMinuteAdjustments": {
              "type": "object",
              "properties": {
                "fajr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "sunrise": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "dhuhr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "asr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "maghrib": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "isha": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                }
              },
              "additionalProperties": false
            },
            "customMinuteAdjustments": {
              "type": "object",
              "properties": {
                "fajr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "sunrise": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "dhuhr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "asr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "maghrib": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "isha": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                }
              },
              "additionalProperties": false
            },
            "methodMinuteAdjustments": {
              "type": "object",
              "properties": {
                "fajr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "sunrise": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "dhuhr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "asr": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "maghrib": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                },
                "isha": {
                  "type": "integer",
                  "minimum": -60,
                  "maximum": 60
                }
              },
              "additionalProperties": false
            },
            "appliedMinuteAdjustments": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "number"
              }
            },
            "calendarAlignmentAdjusted": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        }
      },
      "required": [
        "method",
        "madhab",
        "authorityDescription",
        "selectionReason",
        "requiredDisplayInstruction"
      ],
      "additionalProperties": false
    },
    "minuteAdjustments": {
      "type": "object",
      "properties": {
        "fajr": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "sunrise": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "dhuhr": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "asr": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "maghrib": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "isha": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "currentLocalDate",
    "timezone",
    "nextPrayer",
    "nextPrayerAtUtc",
    "nextPrayerLocalTime",
    "remainingMinutes",
    "calculationMethod",
    "madhab"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
⚪configure_prayer_preferences(userId, locationMode, fixedCity, fixedCoordinates, timezone, ...)

Configures prayer calculation parameters, location behavior (fixed or auto_travel), madhab, reminder mode, and notification language in persistent storage.

输入模式

{
  "type": "object",
  "properties": {
    "userId": {
      "type": "string",
      "minLength": 1,
      "description": "Unique user identifier"
    },
    "locationMode": {
      "description": "Location strategy: auto_travel or fixed",
      "type": "string",
      "enum": [
        "auto_travel",
        "fixed"
      ]
    },
    "fixedCity": {
      "description": "Predefined city name for fixed location (e.g. Riyadh, London)",
      "type": "string"
    },
    "fixedCoordinates": {
      "description": "Fixed geographical coordinates",
      "type": "object",
      "properties": {
        "latitude": {
          "type": "number",
          "minimum": -90,
          "maximum": 90
        },
        "longitude": {
          "type": "number",
          "minimum": -180,
          "maximum": 180
        }
      },
      "required": [
        "latitude",
        "longitude"
      ]
    },
    "timezone": {
      "description": "IANA timezone identifier (e.g. Asia/Riyadh, Europe/London)",
      "type": "string"
    },
    "calculationMethod": {
      "description": "Islamic prayer calculation authority",
      "type": "string",
      "enum": [
        "UmmAlQura",
        "MuslimWorldLeague",
        "Egyptian",
        "Karachi",
        "NorthAmerica",
        "Dubai",
        "Qatar",
        "Kuwait",
        "MoonsightingCommittee",
        "Singapore",
        "Turkey",
        "Tehran"
      ]
    },
    "madhab": {
      "description": "Jurisprudential Asr shadow calculation: Shafi or Hanafi",
      "type": "string",
      "enum": [
        "Shafi",
        "Hanafi"
      ]
    },
    "highLatitudeRule": {
      "description": "High latitude twilight adjustment rule",
      "type": "string",
      "enum": [
        "MiddleOfTheNight",
        "SeventhOfTheNight",
        "TwilightAngle"
      ]
    },
    "reminderMode": {
      "description": "Reminder display policy: prayer_window, exact_window, persistent",
      "type": "string",
      "enum": [
        "prayer_window",
        "exact_window",
        "persistent"
      ]
    },
    "exactWindowMinutes": {
      "description": "Duration in minutes for exact_window mode",
      "type": "integer",
      "minimum": 5,
      "maximum": 120
    },
    "locale": {
      "description": "Language for reminder text: en or ar",
      "type": "string",
      "enum": [
        "en",
        "ar"
      ]
    },
    "minuteAdjustments": {
      "description": "Custom per-prayer minute offsets (-60 to +60)",
      "type": "object",
      "properties": {
        "fajr": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "sunrise": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "dhuhr": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "asr": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "maghrib": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "isha": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        }
      }
    },
    "enabled": {
      "description": "Whether prayer reminders are enabled",
      "type": "boolean"
    }
  },
  "required": [
    "userId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Whether configuration succeeded"
    },
    "preferences": {
      "type": "object",
      "properties": {
        "fixedCoordinatesConfigured": {
          "type": "boolean"
        },
        "fixedCityConfigured": {
          "type": "boolean"
        },
        "locationMode": {
          "type": "string",
          "enum": [
            "auto_travel",
            "fixed"
          ]
        },
        "fixedCity": {
          "type": "string"
        },
        "timezone": {
          "type": "string"
        },
        "calculationMethod": {
          "type": "string",
          "enum": [
            "UmmAlQura",
            "MuslimWorldLeague",
            "Egyptian",
            "Karachi",
            "NorthAmerica",
            "Dubai",
            "Qatar",
            "Kuwait",
            "MoonsightingCommittee",
            "Singapore",
            "Turkey",
            "Tehran"
          ]
        },
        "madhab": {
          "type": "string",
          "enum": [
            "Shafi",
            "Hanafi"
          ]
        },
        "highLatitudeRule": {
          "type": "string",
          "enum": [
            "MiddleOfTheNight",
            "SeventhOfTheNight",
            "TwilightAngle"
          ]
        },
        "reminderMode": {
          "type": "string",
          "enum": [
            "prayer_window",
            "exact_window",
            "persistent"
          ]
        },
        "exactWindowMinutes": {
          "type": "number"
        },
        "locale": {
          "type": "string",
          "enum": [
            "en",
            "ar"
          ]
        },
        "minuteAdjustments": {
          "type": "object",
          "properties": {
            "fajr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "sunrise": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "dhuhr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "asr": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "maghrib": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            },
            "isha": {
              "type": "integer",
              "minimum": -60,
              "maximum": 60
            }
          },
          "additionalProperties": false
        },
        "enabled": {
          "type": "boolean"
        },
        "updatedAtUtc": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      },
      "required": [
        "fixedCoordinatesConfigured",
        "fixedCityConfigured"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "success",
    "preferences"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_prayer_preferences(userId)

Returns the currently active calculation settings and preferences for a user. Read-only operation.

输入模式

{
  "type": "object",
  "properties": {
    "userId": {
      "type": "string",
      "minLength": 1,
      "description": "Unique user identifier"
    }
  },
  "required": [
    "userId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "fixedCoordinatesConfigured": {
      "type": "boolean"
    },
    "fixedCityConfigured": {
      "type": "boolean"
    },
    "locationMode": {
      "type": "string",
      "enum": [
        "auto_travel",
        "fixed"
      ]
    },
    "fixedCity": {
      "type": "string"
    },
    "timezone": {
      "type": "string"
    },
    "calculationMethod": {
      "type": "string",
      "enum": [
        "UmmAlQura",
        "MuslimWorldLeague",
        "Egyptian",
        "Karachi",
        "NorthAmerica",
        "Dubai",
        "Qatar",
        "Kuwait",
        "MoonsightingCommittee",
        "Singapore",
        "Turkey",
        "Tehran"
      ]
    },
    "madhab": {
      "type": "string",
      "enum": [
        "Shafi",
        "Hanafi"
      ]
    },
    "highLatitudeRule": {
      "type": "string",
      "enum": [
        "MiddleOfTheNight",
        "SeventhOfTheNight",
        "TwilightAngle"
      ]
    },
    "reminderMode": {
      "type": "string",
      "enum": [
        "prayer_window",
        "exact_window",
        "persistent"
      ]
    },
    "exactWindowMinutes": {
      "type": "number"
    },
    "locale": {
      "type": "string",
      "enum": [
        "en",
        "ar"
      ]
    },
    "minuteAdjustments": {
      "type": "object",
      "properties": {
        "fajr": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "sunrise": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "dhuhr": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "asr": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "maghrib": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        },
        "isha": {
          "type": "integer",
          "minimum": -60,
          "maximum": 60
        }
      },
      "additionalProperties": false
    },
    "enabled": {
      "type": "boolean"
    },
    "updatedAtUtc": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "fixedCoordinatesConfigured",
    "fixedCityConfigured"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

社区

评价此服务器

证据

最近观测

已验证未记录版本5 个工具
已验证未记录版本5 个工具
已验证未记录版本5 个工具