Skip to main content

An MCP (Model Context Protocol) server that exposes the Alfanous Quranic search engine as tools and resources for AI assistants.

Project description

Alfanous MCP Server

An MCP (Model Context Protocol) server that exposes the Alfanous Quranic search engine as a set of tools and resources for AI assistants, enabling them to search, explore, and retrieve information from the Holy Qur'an.

Features

  • Search Quranic verses with full support for Arabic text, Buckwalter transliteration, boolean operators, phrase search, wildcards, fuzzy matching, field filters, and facets.
  • Retrieve metadata – chapter names, available translations, recitations, search field descriptions, and API defaults.
  • Query auto-completion – get suggestions while typing a search query.
  • AI query-translation guide as an MCP resource (quran://ai-rules) that helps AI assistants convert natural-language questions into Alfanous query syntax.

Installation

Prerequisites

  1. Install the Alfanous core library and build the indexes:

    pip install alfanous3
    # or from source:
    pip install pyparsing whoosh
    cd /path/to/alfanous && make build
    
  2. Install the MCP Python SDK:

    pip install mcp
    

Running the Server

stdio transport (default – works with Claude Desktop and most MCP clients)

python -m alfanous_mcp.mcp_server

Streamable-HTTP transport (for testing/development)

python -m alfanous_mcp.mcp_server --transport streamable-http

Configuring Claude Desktop

Add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "alfanous": {
      "command": "python",
      "args": ["-m", "alfanous_mcp.mcp_server"]
    }
  }
}

Tools

search_quran

Search for verses in the Holy Qur'an.

Parameter Type Default Description
query string (required) Arabic text or Buckwalter transliteration
unit string "aya" "aya", "word", or "translation"
page int 1 Page number
perpage int 10 Results per page (1–100)
sortedby string "relevance" "relevance", "score", "mushaf", "tanzil", "ayalength"
fuzzy bool false Enable approximate matching
view string "normal" "minimal", "normal", "full", "statistic", "linguistic"
highlight string "bold" "bold", "css", "html", "bbcode"
translation string null Translation identifier
facets string null Comma-separated facet fields
filter string null Field filter expression

get_quran_info

Retrieve Qur'an metadata.

category value Description
"chapters" / "surates" Chapter names and numbers
"translations" Available translation identifiers
"recitations" Available recitation identifiers
"defaults" Default search parameter values
"domains" Valid values for each parameter
"fields" Available search fields
"flags" All supported API flags
"help_messages" Human-readable help for parameters
"hints" Search tips and examples
"ai_query_translation_rules" Full query-syntax guide for AI
"all" Everything at once

suggest_query

Get auto-completion suggestions for a partial query.

Parameter Type Default Description
query string (required) Partial search string
unit string "aya" "aya", "word", or "translation"

Resources

quran://ai-rules

A plain-text guide that teaches AI assistants how to translate natural-language questions about the Qur'an into Alfanous query syntax. Covers all operators, field names, Arabic-specific features (synonyms, antonyms, root derivations), and over 100 practical examples.

Query Syntax Quick Reference

Pattern Example Meaning
Arabic word الله Verses containing "الله"
Buckwalter Allh Same, using transliteration
AND الله رحمة Both words present
OR الله OR رحمن Either word
NOT الله NOT عذاب First without second
Phrase "بسم الله" Exact phrase
Wildcard رحم* Words starting with رحم
Field filter sura_number:2 Surah 2 only
Fuzzy الله~ Approximate match

License

LGPL v3 or later – see the root LICENSE file.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alfanous3_mcp-1.5.11.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

alfanous3_mcp-1.5.11-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file alfanous3_mcp-1.5.11.tar.gz.

File metadata

  • Download URL: alfanous3_mcp-1.5.11.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for alfanous3_mcp-1.5.11.tar.gz
Algorithm Hash digest
SHA256 53c1c151dfd245715a21fcfa5348d52e3b5fb4a226bd64f253951320a92454b2
MD5 372f85f5aeb24329463c43b8ef09e309
BLAKE2b-256 68ea51a0f2388fce1c544a9060dd4942fc6e51f7d49e27800056bf4da3c421a3

See more details on using hashes here.

File details

Details for the file alfanous3_mcp-1.5.11-py3-none-any.whl.

File metadata

  • Download URL: alfanous3_mcp-1.5.11-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for alfanous3_mcp-1.5.11-py3-none-any.whl
Algorithm Hash digest
SHA256 36189c2d7ac203f50918b9b7ce902af8488f5d5d4c13e5f766ae09af2ecf528d
MD5 99f713f83024ddd2d56e54d3f986b51c
BLAKE2b-256 b814ee70705df8dbf2130551f95263bd6f5a0797f2b4a99624e7578d24ebfd29

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page