Quran.com API MCP server

Provides access to Quranic scripture, translations, commentaries, and audio recitations through the Quran.com API for seamless Islamic text reference and study.
Back to servers
Setup instructions
Provider
djalal
Release date
Apr 01, 2025
Language
TypeScript
Stats
43 stars

The MCP Server for Quran.com API provides a Model Context Protocol interface for accessing the Quran.com corpus via the official REST API v4. It allows AI models to interact with various Quranic data endpoints through compatible clients.

Installation

Prerequisites

  • Node.js 22+
  • Docker (for containerized deployment)

Docker Installation Method

  1. Build the Docker image:
docker build -t quran-mcp-server .

Node.js Installation Method

  1. Clone the repository
  2. Build the project:
npm run build

Configuration

Environment Variables

Configure the server using these environment variables:

  • API_KEY: API key for authentication (if required by Quran.com API)
  • PORT: Server port (defaults to 8000 or 3000)
  • VERBOSE_MODE: Set to 'true' to enable detailed logging (default: false)

Claude Desktop Integration

To integrate with Claude Desktop, modify your configuration file located at:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Docker-based Configuration

{
  "mcpServers": {
    "quran-api": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "--init", "-e", "API_KEY=your_api_key_if_needed", "-e", "VERBOSE_MODE=true", "quran-mcp-server"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

Node.js Configuration

{
  "mcpServers": {
    "quran-api": {
      "command": "node",
      "args": ["/path/to/quran-mcp-server/dist/src/server.js"],
      "env": {
        "API_KEY": "your_api_key_if_needed",
        "VERBOSE_MODE": "true"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Development Configuration

{
  "mcpServers": {
    "quran-api": {
      "command": "npx",
      "args": ["ts-node", "/path/to/quran-mcp-server/src/server.ts"],
      "env": {
        "API_KEY": "your_api_key_if_needed",
        "VERBOSE_MODE": "true"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Note: Replace /path/to/quran-mcp-server with your actual repository path and add any required API key. Restart Claude Desktop after updating the configuration.

Available Endpoints

Chapters

  • List Chapters
  • Get Chapter by ID
  • Get Chapter Info

Verses

  • Get verses by Chapter/Surah number
  • Get verses by Madani Mushaf page
  • Get verses by Juz number
  • Get verses by Hizb number
  • Get verses by Rub el Hizb number
  • Get verse by key
  • Get a random verse

Other Resources

  • Juz information
  • Search functionality
  • Translations
  • Tafsirs
  • Audio recitations
  • Languages

Debugging

Enable verbose mode by setting the VERBOSE_MODE environment variable to 'true'. This will log detailed information about:

  • Incoming requests (tool name and arguments)
  • Outgoing responses (tool name and result data)
  • Error details (name, message, and stack trace)

Each log entry is timestamped and categorized for easy identification.

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "quran-api" '{"command":"docker","args":["run","-i","--rm","--init","-e","API_KEY=your_api_key_if_needed","-e","VERBOSE_MODE=true","quran-mcp-server"],"disabled":false,"autoApprove":[]}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "quran-api": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "--init",
                "-e",
                "API_KEY=your_api_key_if_needed",
                "-e",
                "VERBOSE_MODE=true",
                "quran-mcp-server"
            ],
            "disabled": false,
            "autoApprove": []
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "mcpServers": {
        "quran-api": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "--init",
                "-e",
                "API_KEY=your_api_key_if_needed",
                "-e",
                "VERBOSE_MODE=true",
                "quran-mcp-server"
            ],
            "disabled": false,
            "autoApprove": []
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later