HadithDB
What this MCP does
Searches and retrieves Quran text, tafsir, hadith, scholarly commentary, audio passages, and related Islamic research materials.
Tools
Input schema
{'type': 'object', 'required': ['surah', 'ayah_from'], 'properties': {'surah': {'type': 'integer', 'maximum': 114, 'minimum': 1}, 'ayah_to': {'type': 'integer', 'maximum': 286, 'minimum': 1, 'description': 'Inclusive last ayah; defaults to ayah_from. For a whole surah, specify its first and last ayah.'}, 'reciter': {'type': 'string', 'default': 'juhani', 'minLength': 1, 'description': 'Reciter alias or exact catalog name. Defaults to Juhani.'}, 'ayah_from': {'type': 'integer', 'maximum': 286, 'minimum': 1}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'oneOf': [{'required': ['reciter', 'reference', 'audio_url', 'playback_url', 'start_ms', 'end_ms', 'segments']}, {'required': ['error']}], 'properties': {'error': {'type': 'string', 'description': 'Error message when the tool could not complete the request.'}, 'end_ms': {'type': 'integer', 'minimum': 1}, 'reciter': {'type': 'object', 'required': ['alias', 'name'], 'properties': {'name': {'type': 'string'}, 'alias': {'type': 'string'}}, 'additionalProperties': False}, 'segments': {'type': 'array', 'items': {'type': 'object', 'required': ['reference', 'start_ms', 'end_ms'], 'properties': {'end_ms': {'type': 'integer', 'minimum': 1}, 'start_ms': {'type': 'integer', 'minimum': 0}, 'reference': {'type': 'string'}}, 'additionalProperties': False}, 'minItems': 1}, 'start_ms': {'type': 'integer', 'minimum': 0}, 'audio_url': {'type': 'string', 'description': 'Full surah audio file; use the supplied timing boundaries for the requested passage.'}, 'reference': {'type': 'string'}, 'playback_url': {'type': 'string', 'description': 'Audio URL with a temporal media fragment in seconds. Client support varies.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 200}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 10000, 'minimum': 0}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'oneOf': [{'required': ['sources', 'total', 'next_offset']}, {'required': ['error']}], 'properties': {'error': {'type': 'string', 'description': 'Error message when the tool could not complete the request.'}, 'total': {'type': 'integer'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'alias', 'title_arabic', 'title_english', 'author_arabic', 'author_english'], 'properties': {'id': {'type': ['integer', 'null']}, 'alias': {'type': ['string', 'null']}, 'title_arabic': {'type': ['string', 'null']}, 'author_arabic': {'type': ['string', 'null']}, 'title_english': {'type': ['string', 'null']}, 'author_english': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'next_offset': {'type': ['integer', 'null']}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'oneOf': [{'required': ['default_reciter', 'reciters']}, {'required': ['error']}], 'properties': {'error': {'type': 'string', 'description': 'Error message when the tool could not complete the request.'}, 'reciters': {'type': 'array', 'items': {'type': 'object', 'required': ['alias', 'name'], 'properties': {'name': {'type': 'string'}, 'alias': {'type': 'string'}}, 'additionalProperties': False}}, 'default_reciter': {'type': 'string'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['surah'], 'properties': {'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'surah': {'type': 'integer', 'maximum': 114, 'minimum': 1}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 10000, 'minimum': 0}, 'response_profile': {'enum': ['compact', 'default', 'full'], 'type': 'string', 'default': 'default', 'description': 'Per-heading introduction limits: compact 1000 characters per language, default 6000, full all stored text. Titles and ranges are always preserved.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'oneOf': [{'required': ['surah', 'url', 'total', 'offset', 'has_more', 'next_offset', 'headings']}, {'required': ['error']}], 'properties': {'url': {'type': 'string'}, 'error': {'type': 'string', 'description': 'Error message when the tool could not complete the request.'}, 'surah': {'type': 'integer'}, 'total': {'type': 'integer'}, 'offset': {'type': 'integer'}, 'has_more': {'type': 'boolean'}, 'headings': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'level', 'surah', 'section', 'subsection', 'title_arabic', 'title_english', 'introduction_arabic', 'introduction_english', 'introduction_scope', 'truncated', 'ayah_from', 'ayah_to', 'reference', 'url'], 'properties': {'key': {'type': 'string'}, 'url': {'type': 'string'}, 'level': {'enum': [2, 3], 'type': 'integer'}, 'surah': {'type': 'integer'}, 'ayah_to': {'type': 'integer'}, 'section': {'type': 'integer'}, 'ayah_from': {'type': 'integer'}, 'reference': {'type': 'string'}, 'truncated': {'type': 'boolean'}, 'subsection': {'type': ['integer', 'null']}, 'title_arabic': {'type': ['string', 'null']}, 'title_english': {'type': ['string', 'null']}, 'introduction_scope': {'type': 'string'}, 'introduction_arabic': {'type': ['string', 'null']}, 'introduction_english': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'next_offset': {'type': ['integer', 'null']}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'query': {'type': 'string', 'description': 'Optional author, title, language, or alias filter.'}, 'cursor': {'type': 'string', 'minLength': 1, 'description': 'Opaque cursor returned by the previous page. Do not modify it.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'oneOf': [{'required': ['query', 'total', 'has_more', 'next_cursor', 'tafsirs']}, {'required': ['error']}], 'properties': {'error': {'type': 'string', 'description': 'Error message when the tool could not complete the request.'}, 'query': {'type': ['string', 'null']}, 'total': {'type': 'integer', 'minimum': 0}, 'tafsirs': {'type': 'array', 'items': {'type': 'object', 'required': ['alias', 'name_english', 'name_arabic', 'short_name_english', 'short_name_arabic', 'author_english', 'author_arabic', 'available', 'languages'], 'properties': {'alias': {'type': 'string'}, 'available': {'type': 'boolean'}, 'languages': {'type': 'array', 'items': {'type': 'string'}}, 'name_arabic': {'type': ['string', 'null']}, 'name_english': {'type': ['string', 'null']}, 'author_arabic': {'type': ['string', 'null']}, 'author_english': {'type': ['string', 'null']}, 'short_name_arabic': {'type': ['string', 'null']}, 'short_name_english': {'type': ['string', 'null']}}, 'description': 'A normalized local tafsir source.', 'additionalProperties': False}}, 'has_more': {'type': 'boolean'}, 'next_cursor': {'type': ['string', 'null']}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'integer', 'minimum': 1}, 'response_profile': {'enum': ['compact', 'default', 'full'], 'type': 'string', 'default': 'default'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'oneOf': [{'required': ['commentary']}, {'required': ['error']}], 'properties': {'error': {'type': 'string', 'description': 'Error message when the tool could not complete the request.'}, 'commentary': {'type': 'object', 'required': ['id', 'source', 'hadith_reference', 'hadith_collection', 'url', 'text_arabic', 'text_english', 'truncated'], 'properties': {'id': {'type': 'integer'}, 'url': {'type': 'string'}, 'source': {'type': 'object', 'required': ['id', 'alias', 'title_arabic', 'title_english', 'author_arabic', 'author_english'], 'properties': {'id': {'type': ['integer', 'null']}, 'alias': {'type': ['string', 'null']}, 'title_arabic': {'type': ['string', 'null']}, 'author_arabic': {'type': ['string', 'null']}, 'title_english': {'type': ['string', 'null']}, 'author_english': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'truncated': {'type': 'boolean'}, 'text_arabic': {'type': ['string', 'null']}, 'text_english': {'type': ['string', 'null']}, 'hadith_reference': {'type': 'string'}, 'hadith_collection': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['reference'], 'properties': {'reference': {'type': 'string', 'minLength': 3, 'description': 'Reference such as bukhari:1, muslim:1907, or ahmad:1.6.'}, 'response_profile': {'enum': ['compact', 'default', 'full'], 'type': 'string', 'default': 'compact', 'description': 'Compact returns the core record and is the default. Default adds bounded attribution, narrator, grading, reference, and commentary metadata. Full explicitly returns all stored provenance and metadata.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'oneOf': [{'required': ['requested_reference', 'canonical_url', 'response_profile', 'records']}, {'required': ['error']}], 'properties': {'error': {'type': 'string', 'description': 'Error message when the tool could not complete the request.'}, 'records': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'reference', 'url', 'book', 'number', 'chapter_number', 'headings', 'english', 'arabic', 'bilingual', 'text', 'text_arabic', 'text_english', 'truncated'], 'properties': {'id': {'type': ['integer', 'string', 'null']}, 'url': {'type': ['string', 'null'], 'description': 'Canonical public URL for the record.'}, 'book': {'type': 'object', 'required': ['alias', 'name_english', 'name_arabic', 'short_name_english', 'short_name_arabic'], 'properties': {'alias': {'type': ['string', 'null']}, 'name_arabic': {'type': ['string', 'null']}, 'name_english': {'type': ['string', 'null']}, 'short_name_arabic': {'type': ['string', 'null']}, 'short_name_english': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'text': {'type': ['string', 'null'], 'description': 'Combined English and Arabic text when either is present.'}, 'grade': {'type': 'object', 'required': ['english', 'arabic', 'grader_english', 'grader_arabic'], 'properties': {'arabic': {'type': ['string', 'null']}, 'english': {'type': ['string', 'null']}, 'grader_arabic': {'type': ['string', 'null']}, 'grader_english': {'type': ['string', 'null']}}, 'description': 'Hadith grading and attribution. Absent for Quran records.', 'additionalProperties': False}, 'arabic': {'type': 'object', 'required': ['title', 'chain', 'body', 'footnote'], 'properties': {'body': {'type': ['string', 'null']}, 'chain': {'type': ['string', 'null']}, 'title': {'type': ['string', 'null']}, 'footnote': {'type': ['string', 'null']}}, 'description': 'The separately addressable fields for one language.', 'additionalProperties': False}, 'number': {'type': ['integer', 'number', 'string', 'null']}, 'english': {'type': 'object', 'required': ['title', 'chain', 'body', 'footnote'], 'properties': {'body': {'type': ['string', 'null']}, 'chain': {'type': ['string', 'null']}, 'title': {'type': ['string', 'null']}, 'footnote': {'type': ['string', 'null']}}, 'description': 'The separately addressable fields for one language.', 'additionalProperties': False}, 'headings': {'type': 'array', 'items': {'type': 'object', 'required': ['number', 'english', 'arabic'], 'properties': {'arabic': {'type': ['string', 'null']}, 'number': {'type': ['integer', 'number', 'string', 'null']}, 'english': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'metadata': {'type': 'object', 'description': 'Source metadata, narrators, references, and normalized sharh when available.', 'additionalProperties': True}, 'bilingual': {'type': 'boolean', 'description': 'Whether both Arabic and English text are present.'}, 'reference': {'type': ['string', 'null'], 'description': 'Canonical HadithDB reference.'}, 'truncated': {'type': 'boolean', 'description': 'Whether one or more text fields were shortened for the selected response profile.'}, 'text_arabic': {'type': ['string', 'null'], 'description': 'Full Arabic text.'}, 'text_english': {'type': ['string', 'null'], 'description': 'Full English text.'}, 'chapter_number': {'type': ['integer', 'number', 'string', 'null']}, 'research_inventory': {'type': 'object', 'required': ['commentary_status', 'commentary_entry_count', 'commentary_work_count', 'commentaries', 'related_reports', 'commentary_text_included', 'next_step'], 'properties': {'next_step': {'type': 'string'}, 'commentaries': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'source', 'hadith_reference'], 'properties': {'id': {'type': ['integer', 'null']}, 'source': {'type': 'object', 'required': ['id', 'alias', 'title_arabic', 'title_english', 'author_arabic', 'author_english'], 'properties': {'id': {'type': ['integer', 'null']}, 'alias': {'type': ['string', 'null']}, 'title_arabic': {'type': ['string', 'null']}, 'author_arabic': {'type': ['string', 'null']}, 'title_english': {'type': ['string', 'null']}, 'author_english': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'hadith_reference': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'related_reports': {'type': 'array', 'items': {'type': 'object', 'required': ['reference', 'relationship', 'label'], 'properties': {'label': {'type': ['string', 'null']}, 'reference': {'type': 'string'}, 'relationship': {'type': 'string'}}, 'additionalProperties': False}}, 'commentary_status': {'enum': ['found', 'searched_no_match', 'unavailable'], 'type': 'string'}, 'commentary_work_count': {'type': 'integer'}, 'commentary_entry_count': {'type': 'integer'}, 'commentary_text_included': {'type': 'boolean'}}, 'description': 'Available commentary entries and verified internal report links, including in compact responses. Missing attached commentary does not imply no scholarly discussion exists.', 'additionalProperties': False}, 'translation_matches': {'type': 'array', 'items': {'type': 'object', 'required': ['source_alias', 'source_name_english', 'source_name_arabic', 'language', 'text'], 'properties': {'text': {'type': 'string'}, 'language': {'type': ['string', 'null']}, 'source_alias': {'type': ['string', 'null']}, 'source_name_arabic': {'type': ['string', 'null']}, 'source_name_english': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'description': 'Distinct translation matches merged under the canonical Quran ayah.'}}, 'description': 'A normalized Quran, hadith, sirah, or history record.', 'additionalProperties': False}, 'minItems': 1}, 'canonical_url': {'type': 'string'}, 'response_profile': {'enum': ['compact', 'default', 'full'], 'type': 'string'}, 'requested_reference': {'type': 'string'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['surah', 'ayah'], 'properties': {'ayah': {'type': 'integer', 'minimum': 0, 'description': 'Ayah number. Ayah 0 is valid only for Surah 1.'}, 'surah': {'type': 'integer', 'maximum': 114, 'minimum': 1, 'description': 'Surah number, 1 through 114.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'oneOf': [{'required': ['ayah']}, {'required': ['error']}], 'properties': {'ayah': {'type': 'object', 'required': ['id', 'reference', 'url', 'book', 'number', 'chapter_number', 'headings', 'english', 'arabic', 'bilingual', 'text', 'text_arabic', 'text_english', 'truncated'], 'properties': {'id': {'type': ['integer', 'string', 'null']}, 'url': {'type': ['string', 'null'], 'description': 'Canonical public URL for the record.'}, 'book': {'type': 'object', 'required': ['alias', 'name_english', 'name_arabic', 'short_name_english', 'short_name_arabic'], 'properties': {'alias': {'type': ['string', 'null']}, 'name_arabic': {'type': ['string', 'null']}, 'name_english': {'type': ['string', 'null']}, 'short_name_arabic': {'type': ['string', 'null']}, 'short_name_english': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'text': {'type': ['string', 'null'], 'description': 'Combined English and Arabic text when either is present.'}, 'grade': {'type': 'object', 'required': ['english', 'arabic', 'grader_english', 'grader_arabic'], 'properties': {'arabic': {'type': ['string', 'null']}, 'english': {'type': ['string', 'null']}, 'grader_arabic': {'type': ['string', 'null']}, 'grader_english': {'type': ['string', 'null']}}, 'description': 'Hadith grading and attribution. Absent for Quran records.', 'additionalProperties': False}, 'arabic': {'type': 'object', 'required': ['title', 'chain', 'body', 'footnote'], 'properties': {'body': {'type': ['string', 'null']}, 'chain': {'type': ['string', 'null']}, 'title': {'type': ['string', 'null']}, 'footnote': {'type': ['string', 'null']}}, 'description': 'The separately addressable fields for one language.', 'additionalProperties': False}, 'number': {'type': ['integer', 'number', 'string', 'null']}, 'english': {'type': 'object', 'required': ['title', 'chain', 'body', 'footnote'], 'properties': {'body': {'type': ['string', 'null']}, 'chain': {'type': ['string', 'null']}, 'title': {'type': ['string', 'null']}, 'footnote': {'type': ['string', 'null']}}, 'description': 'The separately addressable fields for one language.', 'additionalProperties': False}, 'headings': {'type': 'array', 'items': {'type': 'object', 'required': ['number', 'english', 'arabic'], 'properties': {'arabic': {'type': ['string', 'null']}, 'number': {'type': ['integer', 'number', 'string', 'null']}, 'english': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'metadata': {'type': 'object', 'description': 'Source metadata, narrators, references, and normalized sharh when available.', 'additionalProperties': True}, 'bilingual': {'type': 'boolean', 'description': 'Whether both Arabic and English text are present.'}, 'reference': {'type': ['string', 'null'], 'description': 'Canonical HadithDB reference.'}, 'truncated': {'type': 'boolean', 'description': 'Whether one or more text fields were shortened for the selected response profile.'}, 'text_arabic': {'type': ['string', 'null'], 'description': 'Full Arabic text.'}, 'text_english': {'type': ['string', 'null'], 'description': 'Full English text.'}, 'chapter_number': {'type': ['integer', 'number', 'string', 'null']}, 'research_inventory': {'type': 'object', 'required': ['commentary_status', 'commentary_entry_count', 'commentary_work_count', 'commentaries', 'related_reports', 'commentary_text_included', 'next_step'], 'properties': {'next_step': {'type': 'string'}, 'commentaries': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'source', 'hadith_reference'], 'properties': {'id': {'type': ['integer', 'null']}, 'source': {'type': 'object', 'required': ['id', 'alias', 'title_arabic', 'title_english', 'author_arabic', 'author_english'], 'properties': {'id': {'type': ['integer', 'null']}, 'alias': {'type': ['string', 'null']}, 'title_arabic': {'type': ['string', 'null']}, 'author_arabic': {'type': ['string', 'null']}, 'title_english': {'type': ['string', 'null']}, 'author_english': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'hadith_reference': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'related_reports': {'type': 'array', 'items': {'type': 'object', 'required': ['reference', 'relationship', 'label'], 'properties': {'label': {'type': ['string', 'null']}, 'reference': {'type': 'string'}, 'relationship': {'type': 'string'}}, 'additionalProperties': False}}, 'commentary_status': {'enum': ['found', 'searched_no_match', 'unavailable'], 'type': 'string'}, 'commentary_work_count': {'type': 'integer'}, 'commentary_entry_count': {'type': 'integer'}, 'commentary_text_included': {'type': 'boolean'}}, 'description': 'Available commentary entries and verified internal report links, including in compact responses. Missing attached commentary does not imply no scholarly discussion exists.', 'additionalProperties': False}, 'translation_matches': {'type': 'array', 'items': {'type': 'object', 'required': ['source_alias', 'source_name_english', 'source_name_arabic', 'language', 'text'], 'properties': {'text': {'type': 'string'}, 'language': {'type': ['string', 'null']}, 'source_alias': {'type': ['string', 'null']}, 'source_name_arabic': {'type': ['string', 'null']}, 'source_name_english': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'description': 'Distinct translation matches merged under the canonical Quran ayah.'}}, 'description': 'A normalized Quran, hadith, sirah, or history record.', 'additionalProperties': False}, 'error': {'type': 'string', 'description': 'Error message when the tool could not complete the request.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'oneOf': [{'not': {'anyOf': [{'required': ['surah']}, {'required': ['ayah']}]}, 'required': ['page']}, {'not': {'required': ['page']}, 'required': ['surah', 'ayah']}], 'properties': {'ayah': {'type': 'integer', 'maximum': 286, 'minimum': 1}, 'page': {'type': 'integer', 'maximum': 604, 'minimum': 1}, 'surah': {'type': 'integer', 'maximum': 114, 'minimum': 1}, 'response_profile': {'enum': ['compact', 'default', 'full'], 'type': 'string', 'default': 'default', 'description': 'Per-heading introduction limits: compact 1000 characters per language, default 6000, full all stored text. Titles and ranges are always preserved.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'oneOf': [{'required': ['page', 'url', 'mushaf', 'previous_page', 'next_page', 'ranges', 'ayahs', 'page_boundary_note', 'summary', 'headings']}, {'required': ['error']}], 'properties': {'url': {'type': 'string'}, 'page': {'type': 'integer'}, 'ayahs': {'type': 'array', 'items': {'type': 'object', 'required': ['reference', 'surah', 'ayah', 'first_word', 'last_word'], 'properties': {'ayah': {'type': 'integer'}, 'surah': {'type': 'integer'}, 'last_word': {'type': ['integer', 'null']}, 'reference': {'type': 'string'}, 'first_word': {'type': ['integer', 'null']}}, 'additionalProperties': False}}, 'error': {'type': 'string', 'description': 'Error message when the tool could not complete the request.'}, 'mushaf': {'type': 'object', 'required': ['name', 'total_pages', 'lines_per_page'], 'properties': {'name': {'type': ['string', 'null']}, 'total_pages': {'type': 'integer'}, 'lines_per_page': {'type': 'integer'}}, 'additionalProperties': False}, 'ranges': {'type': 'array', 'items': {'type': 'object', 'required': ['surah', 'ayah_from', 'ayah_to'], 'properties': {'surah': {'type': 'integer'}, 'ayah_to': {'type': 'integer'}, 'ayah_from': {'type': 'integer'}}, 'additionalProperties': False}}, 'summary': {'type': 'object', 'required': ['kind', 'text_english', 'text_arabic', 'note'], 'properties': {'kind': {'enum': ['stored_heading_outline'], 'type': 'string'}, 'note': {'type': 'string'}, 'text_arabic': {'type': ['string', 'null']}, 'text_english': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'headings': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'level', 'surah', 'section', 'subsection', 'title_arabic', 'title_english', 'introduction_arabic', 'introduction_english', 'introduction_scope', 'truncated', 'ayah_from', 'ayah_to', 'reference', 'url'], 'properties': {'key': {'type': 'string'}, 'url': {'type': 'string'}, 'level': {'enum': [2, 3], 'type': 'integer'}, 'surah': {'type': 'integer'}, 'ayah_to': {'type': 'integer'}, 'section': {'type': 'integer'}, 'ayah_from': {'type': 'integer'}, 'reference': {'type': 'string'}, 'truncated': {'type': 'boolean'}, 'subsection': {'type': ['integer', 'null']}, 'title_arabic': {'type': ['string', 'null']}, 'title_english': {'type': ['string', 'null']}, 'introduction_scope': {'type': 'string'}, 'introduction_arabic': {'type': ['string', 'null']}, 'introduction_english': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'next_page': {'type': ['integer', 'null']}, 'previous_page': {'type': ['integer', 'null']}, 'page_boundary_note': {'type': 'string'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'oneOf': [{'not': {'required': ['ayah']}, 'required': ['section']}, {'not': {'anyOf': [{'required': ['section']}, {'required': ['subsection']}]}, 'required': ['ayah']}], 'required': ['surah'], 'properties': {'ayah': {'type': 'integer', 'maximum': 286, 'minimum': 0, 'description': 'Ayah 0 is valid only in surah 1.'}, 'surah': {'type': 'integer', 'maximum': 114, 'minimum': 1}, 'section': {'type': 'integer', 'maximum': 1000, 'minimum': 1}, 'subsection': {'type': 'integer', 'maximum': 1000, 'minimum': 1}, 'response_profile': {'enum': ['compact', 'default', 'full'], 'type': 'string', 'default': 'default', 'description': 'Per-heading introduction limits: compact 1000 characters per language, default 6000, full all stored text. Titles and ranges are always preserved.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'oneOf': [{'required': ['passage', 'parent', 'subsections', 'first_page', 'last_page', 'mushaf_url']}, {'required': ['error']}], 'properties': {'error': {'type': 'string', 'description': 'Error message when the tool could not complete the request.'}, 'parent': {'anyOf': [{'type': 'object', 'required': ['key', 'level', 'surah', 'section', 'subsection', 'title_arabic', 'title_english', 'introduction_arabic', 'introduction_english', 'introduction_scope', 'truncated', 'ayah_from', 'ayah_to', 'reference', 'url'], 'properties': {'key': {'type': 'string'}, 'url': {'type': 'string'}, 'level': {'enum': [2, 3], 'type': 'integer'}, 'surah': {'type': 'integer'}, 'ayah_to': {'type': 'integer'}, 'section': {'type': 'integer'}, 'ayah_from': {'type': 'integer'}, 'reference': {'type': 'string'}, 'truncated': {'type': 'boolean'}, 'subsection': {'type': ['integer', 'null']}, 'title_arabic': {'type': ['string', 'null']}, 'title_english': {'type': ['string', 'null']}, 'introduction_scope': {'type': 'string'}, 'introduction_arabic': {'type': ['string', 'null']}, 'introduction_english': {'type': ['string', 'null']}}, 'additionalProperties': False}, {'type': 'null'}]}, 'passage': {'type': 'object', 'required': ['key', 'level', 'surah', 'section', 'subsection', 'title_arabic', 'title_english', 'introduction_arabic', 'introduction_english', 'introduction_scope', 'truncated', 'ayah_from', 'ayah_to', 'reference', 'url'], 'properties': {'key': {'type': 'string'}, 'url': {'type': 'string'}, 'level': {'enum': [2, 3], 'type': 'integer'}, 'surah': {'type': 'integer'}, 'ayah_to': {'type': 'integer'}, 'section': {'type': 'integer'}, 'ayah_from': {'type': 'integer'}, 'reference': {'type': 'string'}, 'truncated': {'type': 'boolean'}, 'subsection': {'type': ['integer', 'null']}, 'title_arabic': {'type': ['string', 'null']}, 'title_english': {'type': ['string', 'null']}, 'introduction_scope': {'type': 'string'}, 'introduction_arabic': {'type': ['string', 'null']}, 'introduction_english': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'last_page': {'type': ['integer', 'null']}, 'first_page': {'type': ['integer', 'null']}, 'mushaf_url': {'type': ['string', 'null']}, 'subsections': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'level', 'surah', 'section', 'subsection', 'title_arabic', 'title_english', 'introduction_arabic', 'introduction_english', 'introduction_scope', 'truncated', 'ayah_from', 'ayah_to', 'reference', 'url'], 'properties': {'key': {'type': 'string'}, 'url': {'type': 'string'}, 'level': {'enum': [2, 3], 'type': 'integer'}, 'surah': {'type': 'integer'}, 'ayah_to': {'type': 'integer'}, 'section': {'type': 'integer'}, 'ayah_from': {'type': 'integer'}, 'reference': {'type': 'string'}, 'truncated': {'type': 'boolean'}, 'subsection': {'type': ['integer', 'null']}, 'title_arabic': {'type': ['string', 'null']}, 'title_english': {'type': ['string', 'null']}, 'introduction_scope': {'type': 'string'}, 'introduction_arabic': {'type': ['string', 'null']}, 'introduction_english': {'type': ['string', 'null']}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['tafsir', 'surah', 'ayah'], 'properties': {'ayah': {'type': 'integer', 'minimum': 0}, 'surah': {'type': 'integer', 'maximum': 114, 'minimum': 1}, 'tafsir': {'type': 'string', 'minLength': 1, 'description': 'Alias, author, short name, or title, such as ibn-kathir.'}, 'language': {'enum': ['ar', 'en'], 'type': 'string', 'description': 'Preferred output language when available.'}, 'max_chars': {'type': 'integer', 'maximum': 100000, 'minimum': 1, 'description': 'Optional explicit character cap per language, overriding the selected response profile.'}, 'response_profile': {'enum': ['compact', 'default', 'full'], 'type': 'string', 'default': 'default', 'description': 'Controls response size. Compact shortens long commentary, default balances context and size, and full returns all stored text.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'oneOf': [{'required': ['source', 'reference', 'url', 'response_profile', 'availability', 'commentary']}, {'required': ['error']}], 'properties': {'url': {'type': 'string'}, 'error': {'type': 'string', 'description': 'Error message when the tool could not complete the request.'}, 'source': {'type': 'object', 'required': ['alias', 'name_english', 'name_arabic', 'short_name_english', 'short_name_arabic', 'author_english', 'author_arabic', 'available', 'languages'], 'properties': {'alias': {'type': 'string'}, 'available': {'type': 'boolean'}, 'languages': {'type': 'array', 'items': {'type': 'string'}}, 'name_arabic': {'type': ['string', 'null']}, 'name_english': {'type': ['string', 'null']}, 'author_arabic': {'type': ['string', 'null']}, 'author_english': {'type': ['string', 'null']}, 'short_name_arabic': {'type': ['string', 'null']}, 'short_name_english': {'type': ['string', 'null']}}, 'description': 'A normalized local tafsir source.', 'additionalProperties': False}, 'reference': {'type': 'string'}, 'commentary': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'ayah_from', 'ayah_to', 'language', 'bilingual', 'text', 'text_arabic', 'text_english', 'truncated'], 'properties': {'id': {'type': ['integer', 'string', 'null']}, 'text': {'type': ['string', 'null'], 'description': 'Combined English and Arabic text when either is present.'}, 'ayah_to': {'type': ['integer', 'number', 'string']}, 'language': {'type': ['string', 'null']}, 'ayah_from': {'type': ['integer', 'number', 'string']}, 'bilingual': {'type': 'boolean', 'description': 'Whether both Arabic and English text are present.'}, 'truncated': {'type': 'boolean', 'description': 'Whether one or more text fields were shortened for the selected response profile.'}, 'text_arabic': {'type': ['string', 'null'], 'description': 'Full Arabic text.'}, 'text_english': {'type': ['string', 'null'], 'description': 'Full English text.'}}, 'additionalProperties': False}}, 'availability': {'type': 'object', 'required': ['requested_language', 'resolved_language', 'fallback_used', 'available_languages', 'has_arabic', 'has_english'], 'properties': {'has_arabic': {'type': 'boolean'}, 'has_english': {'type': 'boolean'}, 'fallback_used': {'type': 'boolean'}, 'resolved_language': {'type': ['string', 'null']}, 'requested_language': {'type': ['string', 'null']}, 'available_languages': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'response_profile': {'enum': ['compact', 'default', 'full'], 'type': 'string'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['question', 'queries'], 'properties': {'depth': {'enum': ['brief', 'standard', 'deep'], 'type': 'string', 'default': 'standard', 'description': 'Research breadth, independent of the final answer length. All depths have time and source limits.'}, 'queries': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 4, 'minItems': 1, 'description': 'Short concept search phrases, preferably including Arabic equivalents. Do not pass the entire natural-language question as a search phrase.'}, 'question': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'hadith_references': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100, 'minLength': 3}, 'maxItems': 4, 'description': 'Known exact principal report references to prioritize and verify, e.g. bukhari:1166. Do not invent references or translate source numbers across collections.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'oneOf': [{'required': ['question', 'depth', 'scope', 'queries', 'evidence', 'coverage', 'next_steps', 'interpretation_note']}, {'required': ['error']}], 'properties': {'depth': {'type': 'string'}, 'error': {'type': 'string', 'description': 'Error message when the tool could not complete the request.'}, 'scope': {'type': 'string'}, 'queries': {'type': 'array', 'items': {'type': 'string'}}, 'coverage': {'type': 'object', 'required': ['exhaustive', 'calls_made', 'call_limit', 'time_limit_ms', 'deadline_reached', 'hadith_commentary', 'concept_research', 'omitted_candidates'], 'properties': {'call_limit': {'type': 'integer'}, 'calls_made': {'type': 'integer'}, 'exhaustive': {'type': 'boolean'}, 'time_limit_ms': {'type': 'integer'}, 'concept_research': {'enum': ['found', 'searched_no_match', 'not_searched', 'unavailable'], 'type': 'string'}, 'deadline_reached': {'type': 'boolean'}, 'hadith_commentary': {'enum': ['found', 'searched_no_match', 'not_searched', 'unavailable'], 'type': 'string'}, 'omitted_candidates': {'type': 'integer'}}, 'additionalProperties': False}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['tool', 'arguments', 'relationship', 'status', 'data', 'error'], 'properties': {'data': {'type': ['object', 'null'], 'description': 'Selected source fields and bounded excerpts from the named tool. Truncated text is flagged; exact tools provide complete records. Search hits are discovery candidates, not verified conceptual relationships.', 'additionalProperties': True}, 'tool': {'type': 'string'}, 'error': {'type': ['string', 'null']}, 'status': {'enum': ['found', 'searched_no_match', 'not_searched', 'unavailable'], 'type': 'string'}, 'arguments': {'type': 'object', 'additionalProperties': True}, 'relationship': {'type': 'string'}}, 'additionalProperties': False}}, 'question': {'type': 'string'}, 'next_steps': {'type': 'array', 'items': {'type': 'string'}}, 'interpretation_note': {'type': 'string'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['surah', 'ayah'], 'properties': {'ayah': {'type': 'integer', 'maximum': 286, 'minimum': 0}, 'depth': {'enum': ['brief', 'standard', 'deep'], 'type': 'string', 'default': 'standard', 'description': 'Research breadth, independent of the final answer length. All depths have time and source limits.'}, 'surah': {'type': 'integer', 'maximum': 114, 'minimum': 1}, 'tafsirs': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'maxItems': 6, 'minItems': 1, 'description': 'Optional requested source names/aliases; overrides the default source selection.'}, 'concepts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 4, 'minItems': 1, 'description': 'Short concept search phrases, preferably including Arabic equivalents. Do not pass the entire natural-language question as a search phrase.'}, 'hadith_references': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100, 'minLength': 3}, 'maxItems': 4, 'description': 'Known exact principal report references to prioritize and verify, e.g. bukhari:1166. Do not invent references or translate source numbers across collections.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'oneOf': [{'required': ['question', 'depth', 'scope', 'queries', 'evidence', 'coverage', 'next_steps', 'interpretation_note']}, {'required': ['error']}], 'properties': {'depth': {'type': 'string'}, 'error': {'type': 'string', 'description': 'Error message when the tool could not complete the request.'}, 'scope': {'type': 'string'}, 'queries': {'type': 'array', 'items': {'type': 'string'}}, 'coverage': {'type': 'object', 'required': ['exhaustive', 'calls_made', 'call_limit', 'time_limit_ms', 'deadline_reached', 'hadith_commentary', 'concept_research', 'omitted_candidates'], 'properties': {'call_limit': {'type': 'integer'}, 'calls_made': {'type': 'integer'}, 'exhaustive': {'type': 'boolean'}, 'time_limit_ms': {'type': 'integer'}, 'concept_research': {'enum': ['found', 'searched_no_match', 'not_searched', 'unavailable'], 'type': 'string'}, 'deadline_reached': {'type': 'boolean'}, 'hadith_commentary': {'enum': ['found', 'searched_no_match', 'not_searched', 'unavailable'], 'type': 'string'}, 'omitted_candidates': {'type': 'integer'}}, 'additionalProperties': False}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['tool', 'arguments', 'relationship', 'status', 'data', 'error'], 'properties': {'data': {'type': ['object', 'null'], 'description': 'Selected source fields and bounded excerpts from the named tool. Truncated text is flagged; exact tools provide complete records. Search hits are discovery candidates, not verified conceptual relationships.', 'additionalProperties': True}, 'tool': {'type': 'string'}, 'error': {'type': ['string', 'null']}, 'status': {'enum': ['found', 'searched_no_match', 'not_searched', 'unavailable'], 'type': 'string'}, 'arguments': {'type': 'object', 'additionalProperties': True}, 'relationship': {'type': 'string'}}, 'additionalProperties': False}}, 'question': {'type': 'string'}, 'next_steps': {'type': 'array', 'items': {'type': 'string'}}, 'interpretation_note': {'type': 'string'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'books': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 20, 'description': 'Optional HadithDB book aliases or groups such as sahihayn, sixbooks, ninebooks, sirah, or history. Either sirah or history searches all books of both historical types.'}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 1}, 'query': {'type': 'string', 'minLength': 1, 'description': 'Words or phrase to search for.'}, 'cursor': {'type': 'string', 'minLength': 1, 'description': 'Opaque cursor returned by the previous page. Do not modify it.'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': 'Deprecated numeric pagination offset. Prefer cursor.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'oneOf': [{'required': ['query', 'offset', 'pagination', 'books', 'results']}, {'required': ['error']}], 'properties': {'books': {'type': 'array', 'items': {'type': 'string'}}, 'error': {'type': 'string', 'description': 'Error message when the tool could not complete the request.'}, 'query': {'type': 'string'}, 'offset': {'type': 'integer', 'minimum': 0}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'reference', 'url', 'book', 'number', 'chapter_number', 'headings', 'english', 'arabic', 'bilingual', 'text', 'text_arabic', 'text_english', 'truncated'], 'properties': {'id': {'type': ['integer', 'string', 'null']}, 'url': {'type': ['string', 'null'], 'description': 'Canonical public URL for the record.'}, 'book': {'type': 'object', 'required': ['alias', 'name_english', 'name_arabic', 'short_name_english', 'short_name_arabic'], 'properties': {'alias': {'type': ['string', 'null']}, 'name_arabic': {'type': ['string', 'null']}, 'name_english': {'type': ['string', 'null']}, 'short_name_arabic': {'type': ['string', 'null']}, 'short_name_english': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'text': {'type': ['string', 'null'], 'description': 'Combined English and Arabic text when either is present.'}, 'grade': {'type': 'object', 'required': ['english', 'arabic', 'grader_english', 'grader_arabic'], 'properties': {'arabic': {'type': ['string', 'null']}, 'english': {'type': ['string', 'null']}, 'grader_arabic': {'type': ['string', 'null']}, 'grader_english': {'type': ['string', 'null']}}, 'description': 'Hadith grading and attribution. Absent for Quran records.', 'additionalProperties': False}, 'arabic': {'type': 'object', 'required': ['title', 'chain', 'body', 'footnote'], 'properties': {'body': {'type': ['string', 'null']}, 'chain': {'type': ['string', 'null']}, 'title': {'type': ['string', 'null']}, 'footnote': {'type': ['string', 'null']}}, 'description': 'The separately addressable fields for one language.', 'additionalProperties': False}, 'number': {'type': ['integer', 'number', 'string', 'null']}, 'english': {'type': 'object', 'required': ['title', 'chain', 'body', 'footnote'], 'properties': {'body': {'type': ['string', 'null']}, 'chain': {'type': ['string', 'null']}, 'title': {'type': ['string', 'null']}, 'footnote': {'type': ['string', 'null']}}, 'description': 'The separately addressable fields for one language.', 'additionalProperties': False}, 'headings': {'type': 'array', 'items': {'type': 'object', 'required': ['number', 'english', 'arabic'], 'properties': {'arabic': {'type': ['string', 'null']}, 'number': {'type': ['integer', 'number', 'string', 'null']}, 'english': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'metadata': {'type': 'object', 'description': 'Source metadata, narrators, references, and normalized sharh when available.', 'additionalProperties': True}, 'bilingual': {'type': 'boolean', 'description': 'Whether both Arabic and English text are present.'}, 'reference': {'type': ['string', 'null'], 'description': 'Canonical HadithDB reference.'}, 'truncated': {'type': 'boolean', 'description': 'Whether one or more text fields were shortened for the selected response profile.'}, 'text_arabic': {'type': ['string', 'null'], 'description': 'Full Arabic text.'}, 'text_english': {'type': ['string', 'null'], 'description': 'Full English text.'}, 'chapter_number': {'type': ['integer', 'number', 'string', 'null']}, 'research_inventory': {'type': 'object', 'required': ['commentary_status', 'commentary_entry_count', 'commentary_work_count', 'commentaries', 'related_reports', 'commentary_text_included', 'next_step'], 'properties': {'next_step': {'type': 'string'}, 'commentaries': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'source', 'hadith_reference'], 'properties': {'id': {'type': ['integer', 'null']}, 'source': {'type': 'object', 'required': ['id', 'alias', 'title_arabic', 'title_english', 'author_arabic', 'author_english'], 'properties': {'id': {'type': ['integer', 'null']}, 'alias': {'type': ['string', 'null']}, 'title_arabic': {'type': ['string', 'null']}, 'author_arabic': {'type': ['string', 'null']}, 'title_english': {'type': ['string', 'null']}, 'author_english': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'hadith_reference': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'related_reports': {'type': 'array', 'items': {'type': 'object', 'required': ['reference', 'relationship', 'label'], 'properties': {'label': {'type': ['string', 'null']}, 'reference': {'type': 'string'}, 'relationship': {'type': 'string'}}, 'additionalProperties': False}}, 'commentary_status': {'enum': ['found', 'searched_no_match', 'unavailable'], 'type': 'string'}, 'commentary_work_count': {'type': 'integer'}, 'commentary_entry_count': {'type': 'integer'}, 'commentary_text_included': {'type': 'boolean'}}, 'description': 'Available commentary entries and verified internal report links, including in compact responses. Missing attached commentary does not imply no scholarly discussion exists.', 'additionalProperties': False}, 'translation_matches': {'type': 'array', 'items': {'type': 'object', 'required': ['source_alias', 'source_name_english', 'source_name_arabic', 'language', 'text'], 'properties': {'text': {'type': 'string'}, 'language': {'type': ['string', 'null']}, 'source_alias': {'type': ['string', 'null']}, 'source_name_arabic': {'type': ['string', 'null']}, 'source_name_english': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'description': 'Distinct translation matches merged under the canonical Quran ayah.'}}, 'description': 'A normalized Quran, hadith, sirah, or history record.', 'additionalProperties': False}}, 'pagination': {'type': 'object', 'required': ['limit', 'returned', 'offset', 'total_available', 'total_is_exact', 'has_more', 'next_cursor'], 'properties': {'limit': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'offset': {'type': 'integer', 'minimum': 0}, 'has_more': {'type': 'boolean'}, 'returned': {'type': 'integer', 'minimum': 0}, 'next_cursor': {'type': ['string', 'null']}, 'total_is_exact': {'type': 'boolean'}, 'total_available': {'type': ['integer', 'null'], 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'cursor': {'type': 'string', 'minLength': 1}, 'source': {'type': 'string', 'minLength': 1, 'description': 'Optional exact commentary alias from list_hadith_commentaries.'}, 'reference': {'type': 'string', 'minLength': 3, 'description': 'Optional exact associated hadith reference.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'oneOf': [{'required': ['query', 'results', 'pagination']}, {'required': ['error']}], 'properties': {'error': {'type': 'string', 'description': 'Error message when the tool could not complete the request.'}, 'query': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'source', 'hadith_reference', 'hadith_collection', 'url', 'text_arabic', 'text_english', 'truncated'], 'properties': {'id': {'type': 'integer'}, 'url': {'type': 'string'}, 'source': {'type': 'object', 'required': ['id', 'alias', 'title_arabic', 'title_english', 'author_arabic', 'author_english'], 'properties': {'id': {'type': ['integer', 'null']}, 'alias': {'type': ['string', 'null']}, 'title_arabic': {'type': ['string', 'null']}, 'author_arabic': {'type': ['string', 'null']}, 'title_english': {'type': ['string', 'null']}, 'author_english': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'truncated': {'type': 'boolean'}, 'text_arabic': {'type': ['string', 'null']}, 'text_english': {'type': ['string', 'null']}, 'hadith_reference': {'type': 'string'}, 'hadith_collection': {'type': 'string'}}, 'additionalProperties': False}}, 'pagination': {'type': 'object', 'required': ['limit', 'returned', 'offset', 'total_available', 'total_is_exact', 'has_more', 'next_cursor'], 'properties': {'limit': {'type': 'integer'}, 'offset': {'type': 'integer'}, 'has_more': {'type': 'boolean'}, 'returned': {'type': 'integer'}, 'next_cursor': {'type': ['string', 'null']}, 'total_is_exact': {'type': 'boolean'}, 'total_available': {'type': ['integer', 'null']}}, 'additionalProperties': False}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'sort': {'enum': ['relevance', 'canonical'], 'type': 'string', 'default': 'relevance'}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 1}, 'query': {'type': 'string', 'minLength': 1, 'description': 'Words or phrase to search for.'}, 'cursor': {'type': 'string', 'minLength': 1, 'description': 'Opaque cursor returned by the previous page. Do not modify it.'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': 'Deprecated numeric pagination offset. Prefer cursor.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'oneOf': [{'required': ['query', 'offset', 'pagination', 'results']}, {'required': ['error']}], 'properties': {'error': {'type': 'string', 'description': 'Error message when the tool could not complete the request.'}, 'query': {'type': 'string'}, 'offset': {'type': 'integer', 'minimum': 0}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'reference', 'url', 'book', 'number', 'chapter_number', 'headings', 'english', 'arabic', 'bilingual', 'text', 'text_arabic', 'text_english', 'truncated'], 'properties': {'id': {'type': ['integer', 'string', 'null']}, 'url': {'type': ['string', 'null'], 'description': 'Canonical public URL for the record.'}, 'book': {'type': 'object', 'required': ['alias', 'name_english', 'name_arabic', 'short_name_english', 'short_name_arabic'], 'properties': {'alias': {'type': ['string', 'null']}, 'name_arabic': {'type': ['string', 'null']}, 'name_english': {'type': ['string', 'null']}, 'short_name_arabic': {'type': ['string', 'null']}, 'short_name_english': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'text': {'type': ['string', 'null'], 'description': 'Combined English and Arabic text when either is present.'}, 'grade': {'type': 'object', 'required': ['english', 'arabic', 'grader_english', 'grader_arabic'], 'properties': {'arabic': {'type': ['string', 'null']}, 'english': {'type': ['string', 'null']}, 'grader_arabic': {'type': ['string', 'null']}, 'grader_english': {'type': ['string', 'null']}}, 'description': 'Hadith grading and attribution. Absent for Quran records.', 'additionalProperties': False}, 'arabic': {'type': 'object', 'required': ['title', 'chain', 'body', 'footnote'], 'properties': {'body': {'type': ['string', 'null']}, 'chain': {'type': ['string', 'null']}, 'title': {'type': ['string', 'null']}, 'footnote': {'type': ['string', 'null']}}, 'description': 'The separately addressable fields for one language.', 'additionalProperties': False}, 'number': {'type': ['integer', 'number', 'string', 'null']}, 'english': {'type': 'object', 'required': ['title', 'chain', 'body', 'footnote'], 'properties': {'body': {'type': ['string', 'null']}, 'chain': {'type': ['string', 'null']}, 'title': {'type': ['string', 'null']}, 'footnote': {'type': ['string', 'null']}}, 'description': 'The separately addressable fields for one language.', 'additionalProperties': False}, 'headings': {'type': 'array', 'items': {'type': 'object', 'required': ['number', 'english', 'arabic'], 'properties': {'arabic': {'type': ['string', 'null']}, 'number': {'type': ['integer', 'number', 'string', 'null']}, 'english': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'metadata': {'type': 'object', 'description': 'Source metadata, narrators, references, and normalized sharh when available.', 'additionalProperties': True}, 'bilingual': {'type': 'boolean', 'description': 'Whether both Arabic and English text are present.'}, 'reference': {'type': ['string', 'null'], 'description': 'Canonical HadithDB reference.'}, 'truncated': {'type': 'boolean', 'description': 'Whether one or more text fields were shortened for the selected response profile.'}, 'text_arabic': {'type': ['string', 'null'], 'description': 'Full Arabic text.'}, 'text_english': {'type': ['string', 'null'], 'description': 'Full English text.'}, 'chapter_number': {'type': ['integer', 'number', 'string', 'null']}, 'research_inventory': {'type': 'object', 'required': ['commentary_status', 'commentary_entry_count', 'commentary_work_count', 'commentaries', 'related_reports', 'commentary_text_included', 'next_step'], 'properties': {'next_step': {'type': 'string'}, 'commentaries': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'source', 'hadith_reference'], 'properties': {'id': {'type': ['integer', 'null']}, 'source': {'type': 'object', 'required': ['id', 'alias', 'title_arabic', 'title_english', 'author_arabic', 'author_english'], 'properties': {'id': {'type': ['integer', 'null']}, 'alias': {'type': ['string', 'null']}, 'title_arabic': {'type': ['string', 'null']}, 'author_arabic': {'type': ['string', 'null']}, 'title_english': {'type': ['string', 'null']}, 'author_english': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'hadith_reference': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'related_reports': {'type': 'array', 'items': {'type': 'object', 'required': ['reference', 'relationship', 'label'], 'properties': {'label': {'type': ['string', 'null']}, 'reference': {'type': 'string'}, 'relationship': {'type': 'string'}}, 'additionalProperties': False}}, 'commentary_status': {'enum': ['found', 'searched_no_match', 'unavailable'], 'type': 'string'}, 'commentary_work_count': {'type': 'integer'}, 'commentary_entry_count': {'type': 'integer'}, 'commentary_text_included': {'type': 'boolean'}}, 'description': 'Available commentary entries and verified internal report links, including in compact responses. Missing attached commentary does not imply no scholarly discussion exists.', 'additionalProperties': False}, 'translation_matches': {'type': 'array', 'items': {'type': 'object', 'required': ['source_alias', 'source_name_english', 'source_name_arabic', 'language', 'text'], 'properties': {'text': {'type': 'string'}, 'language': {'type': ['string', 'null']}, 'source_alias': {'type': ['string', 'null']}, 'source_name_arabic': {'type': ['string', 'null']}, 'source_name_english': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'description': 'Distinct translation matches merged under the canonical Quran ayah.'}}, 'description': 'A normalized Quran, hadith, sirah, or history record.', 'additionalProperties': False}}, 'pagination': {'type': 'object', 'required': ['limit', 'returned', 'offset', 'total_available', 'total_is_exact', 'has_more', 'next_cursor'], 'properties': {'limit': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'offset': {'type': 'integer', 'minimum': 0}, 'has_more': {'type': 'boolean'}, 'returned': {'type': 'integer', 'minimum': 0}, 'next_cursor': {'type': ['string', 'null']}, 'total_is_exact': {'type': 'boolean'}, 'total_available': {'type': ['integer', 'null'], 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'sort': {'enum': ['relevance', 'canonical'], 'type': 'string', 'default': 'relevance'}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 1}, 'query': {'type': 'string', 'minLength': 1, 'description': 'Words or phrase to search for.'}, 'cursor': {'type': 'string', 'minLength': 1, 'description': 'Opaque cursor returned by the previous page. Do not modify it.'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': 'Deprecated numeric pagination offset. Prefer cursor.'}, 'tafsir': {'type': 'string', 'minLength': 1, 'description': 'Optional tafsir alias, author, short name, or title.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'oneOf': [{'required': ['query', 'offset', 'pagination', 'source', 'results']}, {'required': ['error']}], 'properties': {'error': {'type': 'string', 'description': 'Error message when the tool could not complete the request.'}, 'query': {'type': 'string'}, 'offset': {'type': 'integer', 'minimum': 0}, 'source': {'anyOf': [{'type': 'object', 'required': ['alias', 'name_english', 'name_arabic', 'short_name_english', 'short_name_arabic', 'author_english', 'author_arabic', 'available', 'languages'], 'properties': {'alias': {'type': 'string'}, 'available': {'type': 'boolean'}, 'languages': {'type': 'array', 'items': {'type': 'string'}}, 'name_arabic': {'type': ['string', 'null']}, 'name_english': {'type': ['string', 'null']}, 'author_arabic': {'type': ['string', 'null']}, 'author_english': {'type': ['string', 'null']}, 'short_name_arabic': {'type': ['string', 'null']}, 'short_name_english': {'type': ['string', 'null']}}, 'description': 'A normalized local tafsir source.', 'additionalProperties': False}, {'type': 'null'}]}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'source', 'reference', 'surah', 'ayah_from', 'ayah_to', 'bilingual', 'text', 'text_arabic', 'text_english', 'truncated', 'url'], 'properties': {'id': {'type': ['integer', 'string', 'null']}, 'url': {'type': 'string'}, 'text': {'type': ['string', 'null'], 'description': 'Combined English and Arabic text when either is present.'}, 'surah': {'type': ['integer', 'number', 'string', 'null']}, 'source': {'type': 'object', 'required': ['alias', 'name_english', 'name_arabic', 'author_english', 'author_arabic', 'languages'], 'properties': {'alias': {'type': ['string', 'null']}, 'languages': {'type': 'array', 'items': {'type': 'string'}}, 'name_arabic': {'type': ['string', 'null']}, 'name_english': {'type': ['string', 'null']}, 'author_arabic': {'type': ['string', 'null']}, 'author_english': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'ayah_to': {'type': ['integer', 'number', 'string', 'null']}, 'ayah_from': {'type': ['integer', 'number', 'string', 'null']}, 'bilingual': {'type': 'boolean', 'description': 'Whether both Arabic and English text are present.'}, 'reference': {'type': 'string'}, 'truncated': {'type': 'boolean', 'description': 'Whether one or more text fields were shortened for the selected response profile.'}, 'text_arabic': {'type': ['string', 'null'], 'description': 'Full Arabic text.'}, 'text_english': {'type': ['string', 'null'], 'description': 'Full English text.'}}, 'additionalProperties': False}}, 'pagination': {'type': 'object', 'required': ['limit', 'returned', 'offset', 'total_available', 'total_is_exact', 'has_more', 'next_cursor'], 'properties': {'limit': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'offset': {'type': 'integer', 'minimum': 0}, 'has_more': {'type': 'boolean'}, 'returned': {'type': 'integer', 'minimum': 0}, 'next_cursor': {'type': ['string', 'null']}, 'total_is_exact': {'type': 'boolean'}, 'total_available': {'type': ['integer', 'null'], 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}
Recent tool changes
Similar MCP servers
concordance
Provides deterministic claim verification and audit receipts, along with Bible references, commentary, geography, indexed knowled…
The Ainglish Project
Maintains a measured, auditable register of language constructs, proposals, evidence, adoption, contributors, protocols, and rati…
Torah Library
Provides searchable Jewish texts, commentaries, source sheets, dictionaries, manuscripts, calendars, learning schedules, parasha …
Books
Provides Open Library book, edition, work, and author lookups, including publication details, subjects, descriptions, and biograp…
Scholar Feed
Searches and analyzes a large CS, AI, and ML paper corpus, including citation graphs, author networks, full text, collections, pe…
orthotomeo
Supports scripture study across Greek New Testament, Hebrew Old Testament, and Septuagint corpora with verse retrieval, concordan…
Sefaria Library
Provides searchable access to Jewish texts, commentaries, metadata, links, versions, topics, and daily learning schedules from th…
Sambodh IAS
Supports UPSC exam preparation with cited study search, current-affairs materials, previous-year questions, and interactive quizz…