使用说明

项目简介

Quran.com API MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,它将 Quran.com 官方 REST API v4 的多个接口封装成一系列工具,以便大型语言模型(LLM)客户端(如 Claude)能够以标准化的方式访问和利用古兰经数据。

主要功能点

  • 章节查询
    • 获取章节列表(支持按语言筛选)。
    • 获取指定章节的详细信息(支持按语言)。
    • 获取章节信息,如启示地点、次序等(支持按语言)。
  • 经文查询
    • 根据章节号、页码、Juz、Hizb 或 Rub el Hizb 号码获取经文列表。
    • 根据经文 Key 精确查询经文。
    • 获取随机经文。
  • Juz 查询
    • 获取所有 Juz 的列表。
  • 搜索功能
    • 在古兰经中搜索特定关键词(支持指定语言)。
  • 翻译资源
    • 获取可用翻译列表(支持按语言筛选)。
    • 获取特定翻译的详细信息。
  • Tafsir 注释资源
    • 获取可用 Tafsir 注释列表(支持按语言筛选)。
    • 获取特定 Tafsir 注释的详细信息。
    • 获取指定 Tafsir 注释的内容。
  • 音频资源
    • 获取章节朗诵者列表。
    • 获取可用的朗诵风格列表。
  • 语言资源
    • 获取所有支持的语言列表。

所有工具返回的数据均为 JSON 格式的文本内容,方便 LLM 理解和使用。

安装步骤

  1. 环境准备
    • 确保已安装 Node.js 22+ 和 Docker(如果使用 Docker 部署)。
    • 克隆 GitHub 仓库 'https://github.com/djalal/quran-mcp-server' 到本地。
    git clone https://github.com/djalal/quran-mcp-server
    cd quran-mcp-server
  2. 安装依赖
    • 在项目根目录下运行 'npm install' 安装项目依赖。
    npm install
  3. 构建项目
    • 运行 'npm run build' 构建项目。
    npm run build
  4. Docker 镜像构建(可选)
    • 如果选择 Docker 部署,在项目根目录下运行 'docker build -t quran-mcp-server .' 构建 Docker 镜像。
    docker build -t quran-mcp-server .

服务器配置

要将此 MCP 服务器与 MCP 客户端(例如 Claude Desktop)集成,您需要配置客户端的 MCP 服务器设置。以下是针对不同部署模式的配置示例,您需要将以下 JSON 配置添加到 Claude Desktop 的 'claude_desktop_config.json' 文件中(通常位于 '~/Library/Application Support/Claude/claude_desktop_config.json' (macOS) 或 '%APPDATA%\Claude\claude_desktop_config.json' (Windows))。

注意: 以下配置均为 JSON 格式,您只需复制粘贴到 'claude_desktop_config.json' 文件的 'mcpServers' 字段中即可。请根据您的实际部署方式选择相应的配置,并替换占位符路径。

1. Docker 生产模式配置

{
  "mcpServers": {
    "quran-api": {  // 服务器名称,可以自定义
      "command": "docker", // 启动命令为 docker
      "args": ["run", "-i", "--rm", "--init", "-e", "API_KEY=your_api_key_if_needed", "-e", "VERBOSE_MODE=true", "quran-mcp-server"], // Docker 运行参数
      "disabled": false, // 禁用状态,false 为启用
      "autoApprove": [] // 自动批准的工具列表,默认为空
    }
  }
}

参数说明:

  • '"command": "docker"':指定使用 Docker 命令运行服务器。
  • '"args": ["run", "-i", "--rm", "--init", "-e", "API_KEY=your_api_key_if_needed", "-e", "VERBOSE_MODE=true", "quran-mcp-server"]':Docker 运行参数,包括:
    • 'run':运行容器。
    • '-i':保持标准输入打开。
    • '--rm':容器退出后自动删除。
    • '--init':在容器内运行初始化进程。
    • '-e "API_KEY=your_api_key_if_needed"':设置 API_KEY 环境变量(如果 Quran.com API 需要 API 密钥,请替换 'your_api_key_if_needed' 为您的实际 API 密钥,如果不需要则保持默认)。
    • '-e "VERBOSE_MODE=true"':启用详细日志模式。
    • '"quran-mcp-server"':Docker 镜像名称。

2. Node.js 生产模式配置

{
  "mcpServers": {
    "quran-api": {  // 服务器名称,可以自定义
      "command": "node", // 启动命令为 node
      "args": ["/path/to/quran-mcp-server/dist/src/server.js"], // Node.js 启动参数,指向编译后的服务器 JavaScript 文件
      "env": {
        "API_KEY": "your_api_key_if_needed", // API 密钥环境变量(如果需要,请替换)
        "VERBOSE_MODE": "true" // 启用详细日志模式
      },
      "disabled": false, // 禁用状态,false 为启用
      "autoApprove": [] // 自动批准的工具列表,默认为空
    }
  }
}

参数说明:

  • '"command": "node"':指定使用 Node.js 命令运行服务器。
  • '"args": ["/path/to/quran-mcp-server/dist/src/server.js"]':Node.js 启动参数,请将 '/path/to/quran-mcp-server' 替换为实际的项目 'quran-mcp-server' 仓库在您系统中的路径。 例如:'["/Users/yourusername/Documents/quran-mcp-server/dist/src/server.js"]'。
  • '"env": { ... }':设置环境变量:
    • '"API_KEY": "your_api_key_if_needed"':设置 API_KEY 环境变量(如果 Quran.com API 需要 API 密钥,请替换 'your_api_key_if_needed' 为您的实际 API 密钥,如果不需要则保持默认)。
    • '"VERBOSE_MODE": "true"':启用详细日志模式。

3. 开发模式配置

{
  "mcpServers": {
    "quran-api": {  // 服务器名称,可以自定义
      "command": "npx", // 启动命令为 npx
      "args": ["ts-node", "/path/to/quran-mcp-server/src/server.ts"], // npx 启动参数,使用 ts-node 直接运行 TypeScript 服务器代码
      "env": {
        "API_KEY": "your_api_key_if_needed", // API 密钥环境变量(如果需要,请替换)
        "VERBOSE_MODE": "true" // 启用详细日志模式
      },
      "disabled": false, // 禁用状态,false 为启用
      "autoApprove": [] // 自动批准的工具列表,默认为空
    }
  }
}

参数说明:

  • '"command": "npx"':指定使用 'npx' 命令运行服务器。
  • '"args": ["ts-node", "/path/to/quran-mcp-server/src/server.ts"]':'npx' 启动参数,使用 'ts-node' 直接运行 TypeScript 服务器代码,请将 '/path/to/quran-mcp-server' 替换为实际的项目 'quran-mcp-server' 仓库在您系统中的路径。 例如:'["/Users/yourusername/Documents/quran-mcp-server/src/server.ts"]'。
  • '"env": { ... }':设置环境变量,与生产模式配置相同。

重要提示:

  • 路径替换: 请务必将配置中的 '/path/to/quran-mcp-server' 替换为您本地仓库的实际路径。
  • API 密钥: 如果 Quran.com API 需要 API 密钥,请替换 'your_api_key_if_needed' 为您的实际 API 密钥。您可以先尝试不配置 API 密钥运行,如果遇到权限问题再配置。
  • 重启 Claude Desktop: 修改 'claude_desktop_config.json' 文件后,需要重启 Claude Desktop 才能使配置生效。

基本使用方法

  1. 启动 MCP 服务器: 根据您选择的部署模式(Docker 或 Node.js),按照 README.md 文件中的 "Setup" 章节指引启动 MCP 服务器。

  2. 配置 Claude Desktop: 将上述相应的服务器配置 JSON 代码添加到 Claude Desktop 的 'claude_desktop_config.json' 文件中,并确保配置正确。

  3. 在 Claude 中使用: 在 Claude 中,您可以指示 Claude 使用 'quran-api' 服务器提供的工具来查询古兰经数据。例如,您可以这样提问:

    • "列出古兰经的所有章节 (使用 list-chapters 工具)"
    • "获取第一章 Al-Fatihah 的信息 (使用 GET-chapter 工具,章节 ID 为 1)"
    • "搜索关于 'mercy' 的经文 (使用 search 工具,关键词为 mercy)"

    Claude 将会调用 'quran-api' 服务器提供的工具,并将返回的结果用于生成回复。

详细日志 (Verbose Mode):

如果配置中设置了 'VERBOSE_MODE: "true"',服务器会将详细的 API 请求和响应日志输出到控制台,这有助于调试和监控服务器运行情况。

信息

分类

网页与API