Quran.com API
About
Provides access to Quranic scripture, translations, commentaries, and audio recitations through the Quran.com API for seamless Islamic text reference and study.
Details
- Author
- djalal
- Repository
- djalal/quran-mcp-server
- GitHub stars
- 21
- Downloads
- 258
- License
- MIT License
- Categories
- Database, API, Other, Developer Tools, Design, AI, Media, Search, Infrastructure, Frontend
Jump to
- Interact with Quran.com API via MCP tools
- Retrieve chapters, verses by various criteria
- Search the entire Quran corpus
- Access translations, tafsirs, and audio recitations
- Deploy via Docker or Node.js
- Verbose logging for debugging
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Quran.com APICommand (node, npx, python, etc.)nodeArguments-
Argument 1
/path/to/quran-mcp-server/dist/src/server.js
Environment-
API_KEY
your_api_key_if_needed -
VERBOSE_MODE
true
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
API_KEY: API key for authentication
PORT: Server port (default: 8000 or 3000 depending on language)
VERBOSE_MODE: Set to 'true' to enable verbose logging of API requests and responses (default: false)
Get Chapters
Retrieve a list of chapters from the Quran.
Get Chapter
Retrieve details of a specific chapter by its ID.
Get Chapter Info
Get information about a specific chapter using its chapter ID.
Get Verses by Chapter
Retrieve verses from a specific chapter using its chapter number.
Get Verses by Page
Retrieve all verses from a specific Madani Mushaf page using the page number.
Get Verses by Juz
Retrieve verses corresponding to a specific Juz number.
Get Verses by Hizb
Retrieve verses based on a specific Hizb number.
Get Verses by Rub
Retrieve verses based on a specific Rub el Hizb number.
Get Verse by Key
Retrieve a specific verse using its unique key.
Get Random Verse
Retrieve a random verse from the Quran.
Get Juzs
Retrieve a list of all Juzs in the Quran.
Search Quran
Search the Quran for specific terms.
Get Translations
Retrieve a list of available translations of the Quran.
Get Translation Info
Get information about a specific translation using its translation ID.
Get Tafsirs
Retrieve a list of available tafsirs for the Quran.
Get Tafsir Info
Get information about a specific tafsir using its tafsir ID.
Get Single Tafsir
Retrieve a single tafsir using its tafsir ID.
Get Chapter Reciters
Retrieve a list of reciters for different chapters.
Get Recitation Styles
Retrieve a list of available recitation styles.
Get Languages
Retrieve a list of all languages available for translations.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"quran.com api": {
"env": {
"API_KEY": "your_api_key_if_needed",
"VERBOSE_MODE": "true"
},
"args": [
"/path/to/quran-mcp-server/dist/src/server.js"
],
"command": "node"
}
}
}
Linux
{
"env": {
"API_KEY": "your_api_key_if_needed",
"VERBOSE_MODE": "true"
},
"args": [
"/path/to/quran-mcp-server/dist/src/server.js"
],
"command": "node"
}
Macos
{
"env": {
"API_KEY": "your_api_key_if_needed",
"VERBOSE_MODE": "true"
},
"args": [
"/path/to/quran-mcp-server/dist/src/server.js"
],
"command": "node"
}
Windows
{
"env": {
"API_KEY": "your_api_key_if_needed",
"VERBOSE_MODE": "true"
},
"args": [
"/c",
"node",
"/path/to/quran-mcp-server/dist/src/server.js"
],
"command": "cmd"
}
MCP Server for Quran.com API
MCP server to interact with Quran.com corpus via the official REST API v4.
Overview
This is a Model Context Protocol (MCP) server generated from the OpenAPI specification.
Endpoints
The following endpoints from the API have been made available as tools, that LLMs can use via compatible clients.
Chapters
GET /chapters - List Chapters GET /chapters/{id} - Get Chapter GET /chapters/{chapter_id}/info - Get Chapter InfoVerses
GET /verses/by_chapter/{chapter_number} - Get verses by Chapter / Surah number GET /verses/by_page/{page_number} - Get all verses of a specific Madani Mushaf page GET /verses/by_juz/{juz_number} - Get verses by Juz number GET /verses/by_hizb/{hizb_number} - Get verses by Hizb number GET /verses/by_rub/{rub_el_hizb_number} - Get verses by Rub el Hizb number GET /verses/by_key/{verse_key} - Get verse by key GET /verses/random - Get a random verseJuzs
GET /juzs - Get list of all juzsSearch
GET /search - Search the Quran for specific termsTranslations
GET /resources/translations - Get list of available translations GET /resources/translations/{translation_id}/info - Get information of a specific translationTafsirs
GET /resources/tafsirs - Get list of available tafsirs GET /resources/tafsirs/{tafsir_id}/info - Get the information of a specific tafsir GET /quran/tafsirs/{tafsir_id} - Get a single tafsirAudio
GET /resources/chapter_reciters - List of Chapter Reciters GET /resources/recitation_styles - Get the available recitation stylesLanguages
GET /resources/languages - Get all languagesSetup
Requirements
Node.js 22+
Docker
Building the Docker Image
Before using the Docker-based production mode, you need to build the Docker image:
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





