quran-mcp-server

MIT License
  • Apple

Quran.com API 用 MCP サーバー

公式REST API v4を介して Quran.com コーパスと対話するための MCP サーバー。

概要

これは、OpenAPI 仕様から生成されたモデル コンテキスト プロトコル (MCP) サーバーです。

エンドポイント

API の次のエンドポイントは、LLM が互換性のあるクライアント経由で使用できるツールとして利用可能になりました。

  • GET /chapters - 章の一覧
  • GET /chapters/{id} - 章を取得
  • GET /chapters/{chapter_id}/info - 章情報を取得する

  • GET /verses/by_chapter/{chapter_number} - 章/スーラ番号で詩節を取得します
  • GET /verses/by_page/{page_number} - 特定のマダニ・ムシャフページのすべての詩を取得します
  • 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 - ランダムな詩を取得する

ジュズ

  • GET /juzs - すべてのjuzsのリストを取得します

検索

  • GET /search - 特定の用語でコーランを検索

翻訳

  • GET /resources/translations - 利用可能な翻訳のリストを取得する
  • GET /resources/translations/{translation_id}/info - 特定の翻訳の情報を取得します

タフシール

  • GET /resources/tafsirs - 利用可能なタフシールのリストを取得します
  • GET /resources/tafsirs/{tafsir_id}/info - 特定のタフシールの情報を取得します
  • GET /quran/tafsirs/{tafsir_id} - 単一のタフシルを取得します

オーディオ

  • GET /resources/chapter_reciters - 章朗読者リスト
  • GET /resources/recitation_styles - 利用可能な朗読スタイルを取得します

言語

  • GET /resources/languages - すべての言語を取得する

設定

要件

  • Node.js 22以上
  • ドッカー

Dockerイメージの構築

Docker ベースの本番環境モードを使用する前に、Docker イメージをビルドする必要があります。

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

クロードデスクトップ統合

この 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 で必要な場合は、 your_api_key_if_needed実際の API キーに置き換えます。
  • すでに他のMCPサーバーが設定されている場合は、この設定を既存のmcpServersオブジェクトに追加します。
  • 設定を更新した後、変更を有効にするためにClaude Desktopを再起動してください。

環境変数

  • API_KEY : 認証用のAPIキー
  • PORT : サーバーポート (デフォルト: 言語に応じて 8000 または 3000)
  • VERBOSE_MODE : APIリクエストとレスポンスの詳細なログ記録を有効にするには「true」に設定します(デフォルト: false)

詳細モード

VERBOSE_MODE 「true」に設定すると、サーバーはAPIリクエストとレスポンスに関する詳細情報をコンソールに記録します。これは、APIインタラクションのデバッグと監視に役立ちます。

詳細ログには次の内容が含まれます。

  • リクエスト: 受信したリクエストごとにツール名と引数を記録します。
  • 応答: 各応答のツール名と結果データを記録します。
  • エラー: エラー名、メッセージ、スタック トレースなどの詳細なエラー情報を記録します (利用可能な場合)

各ログ エントリにはタイムスタンプが付けられ、ログ タイプ (REQUEST、RESPONSE、または ERROR) がプレフィックスとして付加されるため、簡単に識別できます。

テスト

# Run tests npm test

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています。

-
security - not tested
A
license - permissive license
-
quality - not tested

公式 REST API v4 を介して Quran.com コーパスと対話するための MCP サーバー。

  1. Overview
    1. Endpoints
      1. Chapters
      2. Verses
      3. Juzs
      4. Search
      5. Translations
      6. Tafsirs
      7. Audio
      8. Languages
    2. Setup
      1. Requirements
      2. Building the Docker Image
    3. Claude Desktop Integration
      1. Docker-based Production Mode
      2. Production Mode (Node.js)
      3. Development Mode
    4. Environment Variables
      1. Verbose Mode
        1. Testing
          1. License
            ID: t5qmblzgzp