Skip to main content
Glama

islamqa-org-mcp

让 Claude、Codex 以及任何其他 MCP 客户端访问约 98,000 条有出处的教法判例(fatwa)。

一个面向 IslamQA.orgMCP 服务器, 该网站聚合了逊尼派四大教法学派(madhahib)中 47 家独立教法机构(darul ifta)的解答。

CI Python 3.11+ License: MIT MCP

网站 · 安装 · ChatGPT · 工具 · 工作原理 · 礼仪


为什么

向语言模型提问一个教法学(fiqh)问题,它会从混杂的训练数据中作答,没有出处、没有教法学派归属,也无法核实。对于这类问题,这种形式是错误的。

这个服务器改变了默认行为。你的助手会搜索一个真实的学者解答档案库,并引用其中一条,附上穆夫提(mufti)、教法学派、机构名称以及一个你可以打开的 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,由 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. 在此模式下它暴露 searchfetch 除非你开启了开发者模式(Developer Mode),否则 ChatGPT 会拒绝任何工具名称不完全是这两个的连接器,而 Deep Research 只会调用这两个。因此,在通过 HTTP 运行时,服务器会将它们作为 search_fatwas / get_fatwa 之上的适配器添加,采用 OpenAI 要求的格式——search 每条结果返回 {id, title, url}fetch 返回 {id, title, text, url, metadata}。每条结果都带有真实的 islamqa.org URL,因此 ChatGPT 能呈现正确的引用。

它们故意不在 stdio 模式下注册:Claude 和 Codex 获得更丰富的 search_fatwas,而添加一个较弱的别名只会诱导它们使用较差的那个。

不部署就试用

在本地运行它,并将隧道指向它——这正是 ChatGPT 连接器对话框中Tunnel 开关的用途:

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 技能, 随服务器一同提供。它使助手能够:

  • 在回答前询问你遵循哪个教法学派——如果你不遵循任何学派,则并排呈现全部四个学派的立场

  • 绝不发布未经检索的裁决。 不编造圣训(hadith),不凭半吊子记忆说"哈乃斐学派的观点是……",不伪造阿拉伯语引文。如果档案库中没有相关内容,它会如实说明,而不是填补空白

  • 使用传统中实际的分类,而不是将所有事情扁平化为合法/非法(halal/haram)——包括哈乃斐学派的七级分类体系,因此 makrūh taḥrīmī 不会被悄悄降级为"不喜欢"或升级为"haram"

  • 在覆盖不足时说明。 该档案库以哈乃斐学派为主;如果没有马立基学派的解答,它会报告这一点,而不是自行推断

  • 转介处理离婚、继承、监护权以及其他需要真人而非搜索索引的事项

全局安装它:

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

跨档案库全文搜索。可按 madhhabsource 过滤。

get_fatwa

完整获取一条解答:问题、回答、阿拉伯语引文、发布机构。

list_sources

全部 47 个 darul ifta 网站及各站解答数量。

browse_fatwas

最新解答,可选过滤。

index_status

索引大小、缓存大小、上次重建时间。

rebuild_index

从站点地图刷新索引。很少需要。

在 HTTP 模式下,会添加 searchfetch 以兼容 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、教法学派、发布来源以及从 slug 推导出的标题。约 98,000 条解答只需几 MB 和大约一分钟,此后搜索就是本地且即时的。

缓存。 读取一条解答会获取并解析该页面,然后存储它。搜索在覆盖两层的 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 年 8 月探测:

端点

结果

/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 schema 携带发布/修改日期

/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

标识此工具

随每个请求发送

礼仪(adab)

这是一个靠捐赠运营的免费服务,因此它被设计成一个好访客:

  • 每秒一个请求,全局串行化——并发的工具调用 不会爆发成突发流量。

  • 积极缓存。 法特瓦一经发布实际上就是不可变的,因此 每个页面只抓取一次,并在 90 天内重复使用。

  • 只抓取被要求的内容。 批量处理只读取站点地图,而不是 10 万个回答页面。这里没有爬虫。

  • 表明身份,使用指向本仓库的真实 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