mcpField
M
MCP Server for Quran.com API

MCP Server for Quran.com API

本地服务
github.com/djalal开发工具7382 周前更新

关于 MCP Server for Quran.com API

Quran.com API MCP 服务基于官方 REST API v4 生成,让 LLM 通过 MCP 客户端查询古兰经的章节、节文、译文和tafsir(经注)等资源。该服务由 OpenAPI 规范生成,适合需要访问 Quran.com 语料的开发者。

主要功能

  1. 01按章节、Juz、Hizb 等查询经文
  2. 02搜索古兰经中的词语
  3. 03获取译文与 tafsir 信息
  4. 04查询诵读者与诵读风格
  5. 05提供 Docker 与 Node.js 两种运行方式

适用场景

  1. 01在 LLM 应用中检索特定经文及其译文
  2. 02查阅指定经文的 tafsir 注释
  3. 03为开发者提供 Quran.com 数据的访问接口

MCP 相关

该项目是一个 MCP 服务,将 Quran.com REST API v4 的各个端点封装为工具,供兼容的 MCP 客户端调用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"quran": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
启动命令docker run -i --rm build

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocibuild

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Quran.com API 的 MCP 服务

通过官方 REST API v4 与 Quran.com 语料库交互的 MCP 服务。

概览

这是一个根据 OpenAPI 规范生成的 Model Context Protocol(MCP)服务。

端点

以下 API 端点已作为工具提供,LLM 可通过兼容的客户端使用这些工具。

章节
  • GET /chapters - 列出章节
  • GET /chapters/{id} - 获取章节
  • GET /chapters/{chapter_id}/info - 获取章节信息
经文
  • GET /verses/by_chapter/{chapter_number} - 按章节/Surah 编号获取经文
  • GET /verses/by_page/{page_number} - 获取特定 Madani Mushaf 页面上的所有经文
  • GET /verses/by_juz/{juz_number} - 按 Juz 编号获取经文
  • GET /verses/by_hizb/{hizb_number} - 按 Hizb 编号获取经文
  • GET /verses/by_rub/{rub_el_hizb_number} - 按 Rub el Hizb 编号获取经文
  • GET /verses/by_key/{verse_key} - 按键获取经文
  • GET /verses/random - 获取随机经文
Juz
  • GET /juzs - 获取所有 Juz 的列表
搜索
  • GET /search - 搜索 Quran 中的指定词语
译文
  • GET /resources/translations - 获取可用译文列表
  • GET /resources/translations/{translation_id}/info - 获取特定译文的信息
Tafsir
  • GET /resources/tafsirs - 获取可用 Tafsir 列表
  • GET /resources/tafsirs/{tafsir_id}/info - 获取特定 Tafsir 的信息
  • GET /quran/tafsirs/{tafsir_id} - 获取单篇 Tafsir
音频
  • GET /resources/chapter_reciters - 列出章节朗诵者
  • GET /resources/recitation_styles - 获取可用的诵读风格
语言
  • GET /resources/languages - 获取所有语言

设置

要求
  • Node.js 22+
  • Docker
构建 Docker 镜像

使用基于 Docker 的生产模式前,需要构建 Docker 镜像:

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

Claude Desktop 集成

要将此 MCP 服务与 Claude Desktop 配合使用,请将以下配置添加到 claude_desktop_config.json 文件中(在 macOS 上通常位于 ~/Library/Application Support/Claude/claude_desktop_config.json,在 Windows 上通常位于 %APPDATA%\Claude\claude_desktop_config.json):

基于 Docker 的生产模式
{
  "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)
{
  "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" // Set to "true" to enable verbose logging
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
开发模式
{
  "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" // Set to "true" to enable verbose logging
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

重要说明:

  • 将 /path/to/quran-mcp-server 替换为此代码库在你系统上的实际路径
  • 如果使用生产模式配置,需要先通过 npm run build 或 docker build -t quran-mcp-server . 构建项目
  • 如果 Quran.com API 要求提供 API 密钥,请将 your_api_key_if_needed 替换为实际的 API 密钥
  • 如果已配置其他 MCP 服务,请将此配置添加到现有的 mcpServers 对象中
  • 更新配置后,重启 Claude Desktop 以使更改生效

环境变量

  • API_KEY:用于身份验证的 API 密钥
  • PORT:服务端口(默认值:8000 或 3000,具体取决于语言)
  • VERBOSE_MODE:设置为 'true' 可启用 API 请求和响应的详细日志记录(默认值:false)

详细日志模式

将 VERBOSE_MODE 设置为 'true' 时,服务会在控制台记录 API 请求和响应的详细信息。这有助于调试和监控 API 交互。

详细日志包括:

  • 请求:记录每个传入请求的工具名称和参数
  • 响应:记录每个响应的工具名称和结果数据
  • 错误:记录详细的错误信息,包括错误名称、消息,以及可用时的堆栈跟踪

每条日志都带有时间戳,并以日志类型(REQUEST、RESPONSE 或 ERROR)作为前缀,便于识别。

测试

# Run tests
npm test

许可证

此项目采用 MIT License 许可。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。