Quran MCP Server
A Model Context Protocol (MCP) server that provides access to the Holy Quran through the AlQuran.cloud API. This server allows AI assistants to retrieve Quranic verses, search the text, and access various translations and recitations.
Features
- Random Ayah: Get random verses from the Quran
- Specific Ayah: Retrieve specific verses by reference (e.g., “2:255” for Ayat Al-Kursi)
- Complete Surahs: Get entire chapters with all verses
- Multiple Editions: Access Arabic text, translations, and audio recitations
- Search Functionality: Search for keywords across the Quran
- Juz Access: Retrieve specific sections (Juz) of the Quran
- Sajda Verses: Get all verses requiring prostration
- Multi-language Support: Available in multiple languages and translations
Deployment on Smithery.ai
This MCP server is optimized for deployment on Smithery.ai, a platform for hosting MCP servers.
Quick Deploy
- Upload this repository to Smithery.ai
- The server will automatically use the
smithery.yamlconfiguration - Configure your preferred edition and language in the deployment settings
Configuration Options
edition: Default Quran edition (default: “quran-uthmani”)language: Default language for translations (default: “en”)
Local Installation
- Install the required dependencies:
pip install -r requirements.txt
- Run the server:
python server.py
Available Tools
1. get_random_quran_ayah
Get a random Ayah from the Quran.
- Parameters:
edition(optional, default: “quran-uthmani”) - Example: Get random verse in English translation
2. get_quran_ayah
Get a specific Ayah by reference.
- Parameters:
reference(required),edition(optional) - Example:
reference="2:255"for Ayat Al-Kursi
3. get_quran_surah
Get a complete Surah.
- Parameters:
surah_number(1-114),edition(optional) - Example:
surah_number=1for Al-Fatiha
4. list_quran_editions
List available translations and recitations.
- Parameters:
format_type,language,edition_type(all optional) - Example: Filter by language=“en” for English editions
5. list_quran_surahs
Get list of all 114 Surahs.
- Parameters: None
- Returns: Complete list with names and metadata
6. search_quran_text
Search for keywords in the Quran.
- Parameters:
keyword(required),surah(optional),edition(optional) - Example: Search for “mercy” across all Surahs
7. get_quran_juz
Get a specific Juz (section).
- Parameters:
juz_number(1-30),edition(optional) - Example: Get the 30th Juz
8. get_sajda_verses
Get all verses requiring prostration.
- Parameters:
edition(optional) - Returns: All 15 Sajda verses
9. get_ayah_multiple_editions
Get an Ayah in multiple translations.
- Parameters:
reference,editions(comma-separated) - Example: Compare translations side by side
Popular Editions
Arabic Text
quran-uthmani: Standard Arabic textquran-simple: Simplified Arabic text
English Translations
en.asad: Muhammad Asad translationen.pickthall: Marmaduke Pickthall translationen.sahih: Sahih International translationen.yusufali: Abdullah Yusuf Ali translation
Audio Recitations
ar.alafasy: Mishary Alafasy recitationar.husary: Mahmoud Khalil Al-Husary recitation
API Reference
This server uses the AlQuran.cloud API (https://alquran.cloud/api) which provides:
- 114 Surahs (chapters)
- 6,236 Ayahs (verses)
- 30 Juz (sections)
- Multiple languages and translations
- Audio recitations
Usage Examples
Get Ayat Al-Kursi in multiple translations:
get_ayah_multiple_editions(reference="2:255", editions="quran-uthmani,en.asad,en.pickthall")Search for “Abraham” in English:
search_quran_text(keyword="Abraham", edition="en")Get the opening chapter (Al-Fatiha):
get_quran_surah(surah_number=1, edition="en.asad")
License
This project uses the AlQuran.cloud API which is provided by Islamic Network.
Project Structure
- app.py: Core API functions for interacting with AlQuran.cloud API
- server.py: MCP server implementation with tool definitions
- smithery.yaml: Smithery.ai deployment configuration
- requirements.txt: Python dependencies
- README.md: This documentation file
Server Information
When running locally, the MCP server operates using stdio transport (standard input/output) and does not use HTTP ports. It communicates through JSON-RPC messages over stdin/stdout.
For Smithery.ai deployment, the platform handles all networking and communication automatically.
Contributing
Feel free to submit issues and enhancement requests!
Quran MCP Server
Project Details
- HarunGuclu/MCP_Quran
- Last Updated: 6/11/2025
Recomended MCP Servers
MCP Server implementation for the Model Context Protocol (MCP) enabling AI tool usage - Realtime Flight Search
Model Context Protocol (MCP) Server for Apify's Actors
Vue3+Vite+Ts+Pinia+....一个快速开发vue3的模板框架,快速搭建前台应用
An MCP server that provides secure terminal access for Claude and other LLMs
an MCP server for the services I like to use with AI agents, which you should probably fork...
Apache IoTDB
A FastMCP v2 server that proxies the Poe.com API, supporting both STDIO and SSE transports





