Awwab Qibla & Quiz
Qibla direction from anywhere, with a live compass link, and an Islamic knowledge quiz. By Awwab.
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"qibla": {
"url": "https://awwab.app/mcp"
}
}
}遠端端點
https://awwab.app/mcpstreamable-http它能做什麼
工具清單
工具(3)
🟢find_qibla(place, language)
Get the Qibla direction (the direction Muslims face in prayer, toward the Kaaba in Makkah) for a place: the bearing in degrees clockwise from true north, the compass direction, the magnetic bearing and declination, and the distance to the Kaaba. Use this for any question about the Qibla, the prayer direction, or the direction of Makkah (Mecca) or the Kaaba, including a request to show a Qibla compass. The result includes an attribution line and live_compass_url, a page with a phone compass that points at the Kaaba. The place is used only to answer the request. It isn't logged or stored.
輸入結構描述
{
"type": "object",
"properties": {
"place": {
"type": "string",
"maxLength": 120,
"description": "The place to find the Qibla from: a city (any city of 15,000+ people, in many languages), with the country if it is ambiguous, e.g. \"Karachi\", \"Hyderabad, India\", \"القاهرة\", or coordinates, e.g. \"40.71, -74.00\"."
},
"language": {
"type": "string",
"enum": [
"en",
"ar",
"id",
"tr",
"ur",
"fr",
"ms",
"ru",
"zh",
"es",
"pt",
"uz",
"az",
"ha"
],
"description": "The language the user is writing in. Sets the language of the card and of the linked live compass page."
}
},
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"place_name": {
"type": "string"
},
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
},
"bearing_true": {
"type": [
"number",
"null"
],
"description": "Degrees clockwise from true north"
},
"bearing_magnetic": {
"type": [
"number",
"null"
],
"description": "Degrees clockwise from magnetic north (for a needle compass), today"
},
"magnetic_declination": {
"type": "number",
"description": "Degrees, east positive (WMM2025)"
},
"cardinal": {
"type": [
"string",
"null"
]
},
"cardinal_name": {
"type": [
"string",
"null"
]
},
"distance_km": {
"type": "number"
},
"distance_mi": {
"type": "number"
},
"sentence": {
"type": "string"
},
"attribution": {
"type": "string"
},
"live_compass_url": {
"type": "string"
},
"language": {
"type": "string",
"description": "The language the card is shown in, when known"
}
},
"required": [
"latitude",
"longitude",
"bearing_true",
"distance_km",
"attribution",
"live_compass_url"
]
}🟢start_quiz(topic, language)
Starts one round of the Awwab Knowledge quiz on Islam: five questions in the chosen language, on an optional topic such as the prophets, the Qur'an, the Prophet's life, worship or Islamic history. Use this for a request for an Islamic quiz, test or trivia. Returns the questions and their options without the correct answers, and a quiz_id for check_answer. Question types: multiple_choice, true_false, fill_blank and match_pairs.
輸入結構描述
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"maxLength": 80,
"description": "Optional topic, e.g. \"the prophets\", \"Ramadan\", \"Yusuf\". Without one the round is mixed."
},
"language": {
"type": "string",
"enum": [
"en",
"ar",
"id",
"tr",
"ur",
"fr",
"ms",
"ru",
"zh",
"es",
"pt",
"uz",
"az",
"ha"
],
"description": "Language of the questions, options and explanations. Default en."
}
},
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"quiz_id": {
"type": "string"
},
"language": {
"type": "string"
},
"topic": {
"type": [
"string",
"null"
],
"description": "The matched topic's name, or null for a mixed round"
},
"topic_matched": {
"type": "boolean"
},
"available_topics": {
"type": "array",
"items": {
"type": "string"
},
"description": "Present when a topic was asked for and none matched"
},
"total": {
"type": "integer"
},
"questions": {
"type": "array",
"items": {
"type": "object"
},
"description": "id, number, type, difficulty, prompt, and template, options or lefts and rights by type. No answers."
},
"attribution": {
"type": "string"
},
"play_url": {
"type": "string"
}
},
"required": [
"quiz_id",
"language",
"total",
"questions",
"attribution",
"play_url"
]
}🟢check_answer(quiz_id, question_id, answer, language)
Grades one answer from a start_quiz round. Returns whether it is correct, the correct answer, the explanation, its sources and the running score; after the last question it also returns the final score. Each question can be graded once.
輸入結構描述
{
"type": "object",
"properties": {
"quiz_id": {
"type": "string",
"maxLength": 48,
"description": "The quiz_id from start_quiz."
},
"question_id": {
"type": "string",
"maxLength": 120,
"description": "The id of the question in the round."
},
"answer": {
"type": [
"integer",
"boolean",
"array"
],
"items": {
"type": "integer",
"minimum": 0
},
"description": "multiple_choice and fill_blank: the index of the option, from 0. true_false: true or false. match_pairs: an array with, for each item of lefts in order, the index of its match in rights."
},
"language": {
"type": "string",
"enum": [
"en",
"ar",
"id",
"tr",
"ur",
"fr",
"ms",
"ru",
"zh",
"es",
"pt",
"uz",
"az",
"ha"
],
"description": "Language of the questions, options and explanations. Default en."
}
},
"required": [
"quiz_id",
"question_id",
"answer"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"correct": {
"type": "boolean"
},
"correct_option": {
"type": "integer"
},
"correct_value": {
"type": "boolean"
},
"correct_match": {
"type": "array",
"items": {
"type": "integer"
}
},
"match_results": {
"type": "array",
"items": {
"type": "boolean"
}
},
"explanation": {
"type": "string"
},
"sources": {
"type": "array",
"items": {
"type": "string"
}
},
"source_url": {
"type": [
"string",
"null"
]
},
"score": {
"type": "integer"
},
"streak": {
"type": "integer"
},
"answered": {
"type": "integer"
},
"total": {
"type": "integer"
},
"finished": {
"type": "boolean"
},
"final": {
"type": "object",
"properties": {
"score": {
"type": "integer"
},
"correct": {
"type": [
"integer",
"null"
]
},
"total": {
"type": "integer"
},
"accuracy": {
"type": [
"integer",
"null"
]
}
}
},
"attribution": {
"type": "string"
},
"play_url": {
"type": "string"
}
},
"required": [
"attribution",
"play_url"
]
}社群
證據