search_islamic_sources
Search Quran, Hadith, Tafsir, and dua sources. Returns source text and citation fields.
limitquery必填indexeshadith_grade
com.madeenan由 madeenan.com 发布v0.1.0更新于 Nov 14, 2026
Read-only search and lookups for Quran, Hadith, Tafsir, and dua sources, with citation fields.
只读 MCP 服务器,让助手检索古兰经、圣训、经注和祈祷词来源,并返回引用字段。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
参照 仓库 中的启动说明。
Read-only MCP server for the Madeenan Quran and Hadith API. It gives Claude Desktop, Cursor, and other MCP hosts tools to search Quran, Hadith, Tafsir, and dua sources, read exact references, and collect evidence with citations. Docs: madeenan.com/docs/mcp.
The server retrieves source records and prepares evidence bundles. It does not issue religious rulings or verify the meaning of a claim.
The server needs Python 3.11 or later. With uv, run the published package without a separate install step:
Or install it into a virtual environment:
The official packages are madeenan-mcp and madeenan-sdk. Their PyPI
project links point to madeenan.com.
To work on the server, install both local packages from the repository:
Keep the virtual environment active when you run madeenan-mcp from a
terminal.
Run the local check before you add the server to a host:
This command checks the API URL, timeout, HTTP bind port, and transport host and origin lists. It prints safe JSON and exits. It does not start the MCP server or contact the Madeenan API. The output reports whether an API key is set. It never prints the key. An invalid setting returns an error object and exit code 2.
For a client that uses the Claude Desktop or Cursor mcpServers JSON format,
print a ready-to-copy stdio entry:
With uvx, the stdio entry is:
For an installed package, --print-config uses the absolute path of the
installed madeenan-mcp command. Neither form contains environment values or
secrets. Add its mcpServers.madeenan
entry to the host's existing config. Keep any other server entries in that
file. This output is not a universal host format. For example, VS Code uses
servers and sets type to stdio; Claude Code uses its claude mcp add
command. See the MCP Python SDK host guide
for current examples for each client.
The generated entry does not set MADEENAN_API_KEY. The server reads the key
from its process environment. A shell variable reaches a host only when that
host inherits the shell environment. A desktop app started from the Dock or
Start menu may not inherit it. Set the key in the host's server environment
settings or secret store. Some hosts save env values as plain text in a
local config file. Protect that file and do not commit it. Never pass the key
as an MCP tool argument.
The server reads these environment variables:
The FASTMCP_TRANSPORT_SECURITY__ALLOWED_HOSTS and
FASTMCP_TRANSPORT_SECURITY__ALLOWED_ORIGINS variables also set the host and
origin lists. Each list must be JSON. For example:
The Madeenan API key is optional for source lookups and search. The server does not expose the SDK's chat operation. The service can still limit public requests.
For a local host, select stdio:
The command waits for the MCP host. It can remain silent while it waits. MCP
messages use stdout, so do not add print calls to server startup code. Use
stderr for logs.
For a local HTTP process, use Streamable HTTP:
The default MCP endpoint is /mcp. GET /health returns liveness and safe
configuration status. An ASGI server can use madeenan_mcp.server:app:
The server has no built-in client authentication for HTTP. DNS rebinding host and origin allowlists do not authenticate users. Do not expose the endpoint to a public network by itself. Put it behind a gateway that enforces client authentication and TLS, or keep it on a trusted local network.
For a container, build from the repository root:
The container listens on 0.0.0.0:8000. Protect the endpoint with an
authenticated gateway before you expose it outside a trusted network. Pass
secrets through your deployment's secret settings. Do not add them to the
image or commit them.
search_islamic_sources: search source records.lookup_quran_reference: read a verse, chapter, or bounded passage.lookup_hadith_reference: read a Hadith and its grade metadata.lookup_dua: read a dua or adhkar item.find_quote_source: find wording matches. A match does not prove authorship.create_evidence_bundle: collect search results and requested source lookups.review_evidence_claim: prepare an evidence checklist. It does not verify a
claim or its meaning.The server also provides config://status and source_review_prompt.
--check-config returns ok: false, fix the setting named in its
message, then run the check again.--print-config.MIT.
来源:apps/mcp/README.md,提交 04cf7ae
Search Quran, Hadith, Tafsir, and dua sources. Returns source text and citation fields.
limitquery必填indexeshadith_gradeRead one Quran verse, chapter, or bounded passage by reference. Use ``2:255`` for one verse, ``2`` for a chapter, or ``2`` with start and end ayah values for a passage. The returned text is a source lookup only.
end_ayahreference必填start_ayahRead one Hadith by collection slug and number, including grade metadata.
hadith_number必填collection_slug必填Read one dua or adhkar item by collection slug and item ID.
item_id必填collection_slug必填Find wording matches for a quote. A match does not prove authorship or meaning.
quote必填indexesCreate a compact bundle of search results and requested source lookups. This is an evidence collection helper. It does not decide a religious ruling.
limitquery必填indexesreferencesReview whether supplied evidence is relevant to a claim without verifying truth. This tool performs a basic evidence checklist. It does not certify a claim, issue a fatwa, or verify religious meaning. Include source references in the evidence list and ask a qualified scholar for interpretation.
claim必填evidence必填已满足适用检查项的 90%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
uvx madeenan-mcp --check-configpython3 -m venv .venv. .venv/bin/activatepython -m pip install madeenan-mcpcd /path/to/madeenan/apps/mcppython3 -m venv .venv. .venv/bin/activatepython -m pip install -e ../../packages/pythonpython -m pip install -e '.[dev]'madeenan-mcp --check-configmadeenan-mcp --print-config{ "mcpServers": { "madeenan": { "command": "uvx", "args": ["madeenan-mcp", "--transport", "stdio"] } }}export FASTMCP_TRANSPORT_SECURITY__ALLOWED_HOSTS='["mcp.example.com:*"]'export FASTMCP_TRANSPORT_SECURITY__ALLOWED_ORIGINS='["https://mcp.example.com"]'madeenan-mcp --transport stdiomadeenan-mcp --transport streamable-httpuvicorn madeenan_mcp.server:app --host 127.0.0.1 --port 8000docker build -f apps/mcp/Dockerfile -t madeenan-mcp .docker run --rm -p 8000:8000 madeenan-mcp