Skip to main content
Glama

islamqa-org-mcp

Дайте Claude, Codex и любому другому MCP-клиенту доступ к ~98 000 фетв с указанием источников.

MCP-сервер для IslamQA.org, который агрегирует ответы 47 независимых дар-уль-ифта из четырёх суннитских мазхабов.

CI Python 3.11+ License: MIT MCP

Веб-сайт · Установка · ChatGPT · Инструменты · Как это работает · Этикет


Зачем

Задайте языковой модели вопрос по фикху — и она ответит из размытой массы обучающих данных, без источника, без мазхаба и без возможности проверить ответ. Это неправильная форма для такого рода вопросов.

Этот сервер меняет настройку по умолчанию. Ваш ассистент ищет в настоящем архиве учёных ответов и цитирует один из них с указанием муфтия, мазхаба, учреждения и URL, который вы можете открыть. Когда школы расходятся во мнениях, вы видите, что они расходятся, вместо того чтобы получить одну позицию, поданную как единственное исламское решение.

You:  Can I wipe over ordinary cotton socks in wudu?

Claude: [searches IslamQA.org]

        The Hanafi position (Askimam.org, Mufti Ebrahim Desai) is that masah
        is only valid on socks with the characteristics of leather khuffayn —
        thick enough that water does not seep through, able to stand upright
        unaided, and durable over three to four miles of walking. Ordinary
        cotton socks do not qualify.
        https://islamqa.org/hanafi/askimam/127638/...

        Bin Bayyah (Maliki) notes the Hanbali school permits wiping over cloth
        socks, while the Maliki position restricts it to leather.
        https://islamqa.org/maliki/binbayyah/29891/...

Related MCP server: NexusNote MCP Server

Установка

Никакого клонирования, никакой ручной настройки. Выбирайте тот раннер, который у вас уже есть.

С помощью uv (рекомендуется — именно он фактически запускает сервер):

uvx --from git+https://github.com/RealYusufIsmail/islamqa-org-mcp islamqa-mcp

С помощью npx, если вам удобнее Node:

npx -y islamqa-mcp

Пакет npm — это тонкая обёртка: он передаёт управление uv, который загружает и запускает Python-сервер в изолированном кэшированном окружении. Вам всё равно понадобится установленный uv; обёртка подскажет, как его установить, если он отсутствует.

curl -LsSf https://astral.sh/uv/install.sh | sh    # macOS / Linux
brew install uv                                    # Homebrew
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"   # Windows

Claude Code

claude mcp add islamqa -- uvx --from git+https://github.com/RealYusufIsmail/islamqa-org-mcp islamqa-mcp

Claude Desktop

Добавьте в claude_desktop_config.json — на macOS это ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "islamqa": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/RealYusufIsmail/islamqa-org-mcp",
        "islamqa-mcp"
      ]
    }
  }
}

Codex

Добавьте в ~/.codex/config.toml:

[mcp_servers.islamqa]
command = "uvx"
args = ["--from", "git+https://github.com/RealYusufIsmail/islamqa-org-mcp", "islamqa-mcp"]

Перезапустите клиент. Первый поиск строит локальный индекс (около минуты, ~22 запроса); всё, что после, — мгновенно.

git clone https://github.com/RealYusufIsmail/islamqa-org-mcp.git
cd islamqa-org-mcp && uv sync

Затем укажите клиенту на него с помощью uv --directory /absolute/path/to/islamqa-org-mcp run islamqa-mcp.

ChatGPT

ChatGPT отличается от клиентов выше: он не может запускать локальный процесс, поэтому ему нужен сервер, размещённый по публичному HTTPS-URL. Отсюда два следствия.

1. Запустите его по HTTP вместо stdio.

islamqa-mcp --transport streamable-http --host 0.0.0.0 --port 8000

Тогда конечная точка, которую ожидает ChatGPT, — https://your-host/mcp.

2. В этом режиме он предоставляет search и fetch. ChatGPT отклоняет любой коннектор, у которого нет инструментов именно с такими именами, если вы не включили Developer Mode, а Deep Research вызывает только эти два. Поэтому при работе по HTTP сервер добавляет их как адаптеры поверх search_fatwas / get_fatwa в требуемой OpenAI формеsearch возвращает {id, title, url} для каждого результата, fetch возвращает {id, title, text, url, metadata}. Каждый результат несёт реальный URL islamqa.org, так что ChatGPT формирует корректные цитаты.

Они не регистрируются для stdio — намеренно: Claude и Codex получают более богатый search_fatwas, а добавление более слабого алиаса лишь побудило бы их использовать худший вариант.

Попробовать без развёртывания

Запустите его локально и направьте на него туннель — именно для этого предназначен переключатель Tunnel в диалоге коннектора ChatGPT:

islamqa-mcp --transport streamable-http --port 8000
cloudflared tunnel --url http://localhost:8000     # or: ngrok http 8000

Затем в ChatGPT: Settings → Apps → Advanced → Developer mode, добавьте коннектор, указывающий на https://<your-tunnel>/mcp, аутентификация None.

Правильное размещение

Включён Dockerfile, который работает на Render, Railway, Fly.io или Cloud Run:

docker build -t islamqa-mcp .
docker run -p 8000:8000 islamqa-mcp

Он строит индекс URL на этапе сборки образа, и это важно: индекс стоит ~22 запросов к islamqa.org, и встраивание его в образ означает, что это происходит один раз за релиз, а не при каждом холодном старте каждой реплики. Без этого автоскейлящийся бесплатный тариф пересканировал бы карту сайта весь день. Это также делает первый пользовательский поиск мгновенным.

Прежде чем открывать публичный доступ: коннектор без аутентификации открыт для любого, кто найдёт URL, и каждый их запрос — это запрос к islamqa.org от имени вашего сервера. Поместите его за OAuth или прокси с аутентификацией, если он не только для вас, и сохраните ограничение частоты запросов как есть.

Навык (skill)

MCP-сервер даёт модели инструменты. Но он не говорит ей, как использовать их хорошо — а для фикха как важнее, чем что.

skills/islamqa-fatwa — это навык Claude, который поставляется вместе с сервером. Он заставляет ассистента:

  • Спрашивать, какого мазхаба вы придерживаетесь, прежде чем отвечать — или представлять все четыре позиции рядом, если вы не следуете ни одному

  • Никогда не выносить решение, которое он не получил из архива. Ни выдуманных хадисов, ни полузабытых «по ханафитскому мнению…», ни сфабрикованных арабских цитат. Если в архиве ничего нет, он так и говорит, вместо того чтобы заполнять пробел

  • Использовать реальные категории традиции, а не сводить всё к халяль/харам — включая ханафитскую семичастную схему, чтобы макрух тахрими не был тихо понижен до «нежелательно» или повышен до «харам»

  • Сообщать, когда охват скуден. Архив в основном ханафитский; если нет маликитского ответа, он сообщает об этом, а не выводит его умозрительно

  • Перенаправлять дальше по вопросам развода, наследования, опеки и другим делам, где нужен человек, а не поисковый индекс

Установите его глобально:

git clone https://github.com/RealYusufIsmail/islamqa-org-mcp.git /tmp/islamqa-mcp
cp -r /tmp/islamqa-mcp/skills/islamqa-fatwa ~/.claude/skills/

Он активируется сам, когда вопрос оказывается вопросом о религиозном решении.

Инструменты

Инструмент

Что делает

search_fatwas

Полнотекстовый поиск по архиву. Фильтрация по madhhab или source.

get_fatwa

Один ответ полностью: вопрос, ответ, арабские цитаты, выдавшее учреждение.

list_sources

Все 47 сайтов дар-уль-ифта с количеством ответов по каждому.

browse_fatwas

Последние ответы, опционально с фильтром.

index_status

Размер индекса, размер кэша, время последней пересборки.

rebuild_index

Обновить индекс из карты сайта. Требуется редко.

По HTTP добавляются search и fetch для совместимости с ChatGPT — см. ChatGPT.

Каждый ответ возвращается с указанием авторства и примечанием, напоминающим модели цитировать URL и рассматривать решение как позицию одного муфтия, а не универсальную.

Командная строка

Те же операции без MCP-клиента:

uv run islamqa search "wiping over socks" --madhhab hanafi
uv run islamqa get https://islamqa.org/hanafi/askimam/127638/can-i-wipe-make-masah-over-the-new-socks/
uv run islamqa sources
uv run islamqa status

Как это работает

IslamQA.org работает на WordPress с отключённым REST API, поэтому JSON-эндпоинта для вызова нет. Зато он публикует полную карту сайта и серверно отрисованные страницы — те же публичные страницы, которые видит любой читатель или краулер поисковой системы.

Сервер работает в два слоя:

Индекс. Один проход по карте сайта (~22 запроса) фиксирует URL каждого ответа вместе с его ID, мазхабом, источником и заголовком, полученным из слага. Это ~98 000 ответов на несколько мегабайт и около минуты, и это означает, что поиск с этого момента локальный и мгновенный.

Кэш. Чтение ответа загружает и разбирает эту одну страницу, затем сохраняет её. Поиск выполняется по индексу SQLite FTS5 по обоим слоям, так что ответ можно найти по заголовку сразу, а по полному тексту — после того как кто-то его прочитал: архив становится тем более доступным для поиска, чем больше вы им пользуетесь.

sitemap ──► index (~98k URLs + titles) ──┐
                                         ├──► FTS5 (BM25) ──► search_fatwas
answer page ──► parse ──► cache (full) ──┘                    get_fatwa

Поскольку ответы были импортированы с 47 разных сайтов в течение многих лет, страницы бывают трёх шаблонных форм, и все три обрабатываются: современные обёртки .ai-question / .ai-answer-content; голые абзацы с явными метками Question: / Answer:; и голые абзацы без меток вовсе. Лишние префиксы Q: и хвостовой текст «Original Source Link» удаляются, а арабские сноски с цитатами из классических текстов выделяются в отдельное поле citations, так что ответ читается чисто, не теряя стоящих за ним доказательств.

Есть ли у islamqa.org API?

Нет публичного JSON API. Сайт работает на WordPress, но REST API отключён на всём сайте. Проверено в августе 2026:

Эндпоинт

Результат

/wp-json/

401{"code":"rest_disabled"}

/wp-json/wp/v2/posts

401rest_disabled

/wp-json/wp/v2/search

401rest_disabled

/wp-json/elasticpress/v1/search

401rest_disabled

/graphql, /api/

404

Поле поиска на сайте отрисовывается на стороне клиента через ElasticPress, поэтому его результаты тоже отсутствуют в HTML — именно поэтому этот сервер строит собственный индекс, а не проксирует поиск по сайту.

Что доступно машиночитаемо и открыто:

Эндпоинт

Формат

Примечания

/sitemap_index.xml

XML

22 дочерние карты сайта

/sitemap-posts.xml?page=N

XML

5 000 URL ответов на страницу, с lastmod

/feed/

RSS 2.0

Последние ответы по всему сайту

/category/{madhhab}/{source}/feed/

RSS 2.0

Последние ответы по каждому учреждению

Страницы ответов

HTML + JSON-LD

Схема NewsArticle несёт даты публикации/правки

/robots.txt

Возвращается пустым: ничего не запрещено

Этот сервер использует карту сайта и страницы ответов. RSS-ленты — лёгкий вариант, если вам нужны только новые ответы и не нужен поиск: им не нужны ни индекс, ни скрейпинг:

curl -s https://islamqa.org/hanafi/askimam/feed/

URL ответов структурированы, поэтому вы можете обратиться к любому ответу напрямую:

https://islamqa.org/{madhhab}/{source}/{post_id}/{slug}/
                     hanafi   askimam  127638   can-i-wipe-make-masah-over-the-new-socks

Если islamqa.org когда-нибудь включит свой REST API, этот сервер должен переключиться на него — откройте issue, если заметите, что он вернулся.

Конфигурация

Всё опционально, задаётся через переменные окружения:

Переменная

По умолчанию

Назначение

ISLAMQA_DATA_DIR

~/.cache/islamqa-mcp

Где живут индекс и кэш

ISLAMQA_REQUEST_DELAY

1.0

Секунды между запросами

ISLAMQA_CACHE_TTL_DAYS

90

Как долго кэшированный ответ свеж

ISLAMQA_INDEX_TTL_DAYS

30

Когда пересобирать индекс

ISLAMQA_USER_AGENT

идентифицирует этот инструмент

Отправляется с каждым запросом

Этикет (адаб)

Этот сервис читает бесплатный ресурс, который существует на пожертвования, поэтому он построен так, чтобы быть хорошим гостем:

  • Один запрос в секунду, глобально сериализованный — параллельные вызовы инструментов не могут превратиться в всплеск.

  • Агрессивное кэширование. Фетвы по сути неизменяемы после публикации, поэтому страница загружается один раз и переиспользуется в течение 90 дней.

  • Загружает только то, что запрошено. Массовый проход читает sitemap, а не 100 000 страниц с ответами. Здесь нет краулера.

  • Идентифицирует себя настоящим User-Agent, указывающим на этот репозиторий.

  • Привязан к одному хосту. Каждый URL проверяется по белому списку до открытия сокета, поэтому никакой аргумент от модели не может превратить это в открытый прокси.

  • Указывает источник всего. Выдавшее учреждение, муфтий, если он назван, и ссылка на собственную копию darul ifta сопровождают каждый ответ.

Если вы поддерживаете islamqa.org и хотите что-то изменить здесь — лимит запросов, User-Agent или само существование инструмента — пожалуйста, откройте issue, и это будет рассмотрено.

Об использовании. Это ответы квалифицированных муфтиев, но фетва даётся конкретному человеку в конкретном контексте. Результат поиска — не решение по вашей ситуации, а языковая модель, передающая его, — не учёный. По любым важным вопросам обращайтесь напрямую к квалифицированному специалисту.

Разработка

uv sync --extra dev
uv run pytest          # 81 tests, no network — runs against saved fixtures
uv run ruff check .
uv run mypy src/islamqa_mcp

Тесты парсера запускаются на урезанных копиях реальных страниц. Если islamqa.org изменит свой шаблон, они громко упадут, и это намеренно: тихая регрессия парсинга незаметно подавала бы модели пустые ответы.

Лицензия

MIT — см. LICENSE.

Лицензия распространяется только на это программное обеспечение. Фетвы принадлежат учёным и учреждениям, которые их издали. Этот инструмент читает публичные страницы и даёт ссылки; он не распространяет архив.

A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides AI assistants with comprehensive access to Islamic resources including Quran verses with translations, Tafsir commentary, Hadith collections, and audio recitations. Enables users to explore Islamic texts, get daily inspiration, and access scholarly interpretations through natural language queries.
    18
    31
    9
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables debate search and citation functionality through web search, Wikipedia, arXiv, and AWS documentation APIs. Designed to power debate features with comprehensive research and citation tools via MCP protocol.
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables fetching and searching canonical hadith texts (Arabic and English) with cross-references and citation-safe URLs for assistants, built on FastMCP.
    1
    GPL 3.0

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/RealYusufIsmail/islamqa-org-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server