Prototype · Preview: every server in the official registry, synced every 30 minutes. Sign in with Google to write reviews.Prototype · updated every 30 min
PopNx MCPMCP servers for people who use AI · explained in plain words

Alfanous - Quranic Search Engine

by Alfanous-teamversion 1.9.4i★ 286iRuns on your computer
Registry nameio.github.Alfanous-team/alfanous

How to install

What it does

Search and explore the Holy Qur'an with Arabic text, transliteration, and advanced search support.

  • Connects Runs on your computer
  • Account or key No key needed
  • Category Search & AI memory

Install

Pick the AI app you use, then copy the settings.

Passed 3/3 checks · Runs on your computer · ✓ Commands checked Nov 13, 2026

First: which AI do you use?

Pick your app and the steps appear below.

Works with Claude, with some setup first

Install Python (uv) on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone

  1. Install Python (uv)

    One time only; it works for every server that needs Python (uv)

    Open the Python (uv) download page ↗

  2. Open the Claude desktop app’s settings file

    SettingsDeveloperEdit Config

  3. Paste these settings and save the file

    {
      "mcpServers": {
        "alfanous": {
          "command": "uvx",
          "args": [
            "alfanous3-mcp"
          ]
        }
      }
    }
  4. Quit Claude and open it again

  5. Try it

    Use Alfanous - Quranic Search Engine and tell me what you can do for me, then show me one thing

    ✓ If Claude says it is using Alfanous - Quranic Search Engine or shows a Alfanous - Quranic Search Engine tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

ChatGPT cannot connect Alfanous - Quranic Search Engine yet

Alfanous - Quranic Search Engine runs on your computer, but ChatGPT can only connect servers that run on the web

What you can do instead

A · Use an app that can connect Alfanous - Quranic Search Engine

  • Install Python (uv) on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
  • Install Python (uv) on your computer first (one time)
  • Install Python (uv) on your computer first (one time)
  • Install Python (uv) on your computer first (one time)

B · Others in Search & AI memory that work with ChatGPT

Picked from the most used in the same category, only ones that connect by address with no key

Works with Claude Code, with some setup first

Install Python (uv) on your computer first (one time)

  1. Install Python (uv)

    One time only; it works for every server that needs Python (uv)

    Open the Python (uv) download page ↗

  2. Open Terminal

    Mac: press Command+Space and type Terminal · Windows: open PowerShell

  3. Paste this command and press Enter

    claude mcp add --scope user alfanous -- uvx alfanous3-mcp
  4. Type /mcp in Claude Code

    You should see Alfanous - Quranic Search Engine listed as connected

  5. Try it

    Use Alfanous - Quranic Search Engine and tell me what you can do for me, then show me one thing

    ✓ If Claude Code says it is using Alfanous - Quranic Search Engine or shows a Alfanous - Quranic Search Engine tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with Cursor, with some setup first

Install Python (uv) on your computer first (one time)

  1. Install Python (uv)

    One time only; it works for every server that needs Python (uv)

    Open the Python (uv) download page ↗

  2. Click this button to open Cursor

    Open in Cursor

    Cursor asks you to confirm; click Install

  3. Open the AI chat in Cursor in Agent mode

  4. Try it

    Use Alfanous - Quranic Search Engine and tell me what you can do for me, then show me one thing

    ✓ If Cursor says it is using Alfanous - Quranic Search Engine or shows a Alfanous - Quranic Search Engine tool in the answer, you are connected

Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with VS Code, with some setup first

Install Python (uv) on your computer first (one time)

  1. Install Python (uv)

    One time only; it works for every server that needs Python (uv)

    Open the Python (uv) download page ↗

  2. Click this button to open VS Code

    Open in VS Code

    VS Code asks you to confirm; click Install

  3. Open the AI chat in VS Code in Agent mode

  4. Try it

    Use Alfanous - Quranic Search Engine and tell me what you can do for me, then show me one thing

    ✓ If VS Code says it is using Alfanous - Quranic Search Engine or shows a Alfanous - Quranic Search Engine tool in the answer, you are connected

Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.

See every app that uses MCP →

JSON settings are under “For developers” below

Stuck? Ask people who use Alfanous - Quranic Search Engine💬 Discussion →
For developers: Terminal commands and JSON settings

Installed on your computer

Claude Code

claude mcp add --scope user alfanous -- uvx alfanous3-mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "alfanous": {
      "command": "uvx",
      "args": [
        "alfanous3-mcp"
      ]
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "alfanous": {
      "command": "uvx",
      "args": [
        "alfanous3-mcp"
      ]
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "alfanous": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "alfanous3-mcp"
      ]
    }
  }
}

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

At a glance

Downloads per weeki
75/wk
Licencei
LGPL-3.0
Connection
Runs on your computer
Latest versioni
1.9.4
Published to registryi
Jun 14, 2026
Code last changedi
Jun 14, 2026
Maker
Alfanous-team
Packages
pypi: alfanous3-mcp
Registry status
Active

Which apps can use it

Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.

Run on your computer in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

All apps, with pros and cons →

Related guides

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 14, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account Alfanous-team, which owns the repo

  • ✓ Pass

    Still maintained

    Code last changed 5 months ago

  • ✓ Pass

    Has a licence

    Uses LGPL-3.0

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Discussion

Ask, share a tip or report that it does not work. Sorted by what people marked helpful.

No posts yet. Be the first to ask or share.

Posts here are written by users, not the PopNx team.

Sign in with Google to post

User reviews

No reviews yet

Sign in with Google to write a review

Compared with others in Search & AI memoryi

  • More stars than 98% of the other 6077 servers in this category
  • Published to the registry more recently than 16% of the other 6077 servers in this category
  • Basic checks equal to or better than 100% of the other 6077 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Alfanous - Quranic Search Engine safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed 5 months ago, and the latest version (1.9.4) reached the registry 5 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.

What can I use instead?

In the same category: Context7, Codebase Memory, OpenSEO

Others in the same category

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Context7

Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.

by upstashWidely used↓ 1.2M/wk★ 64.8KUpdated 2 days ago

Computer or cloud

Codebase Memory

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

by DeusDataWidely used↓ 16.8K/wk★ 48.6KUpdated 28 days ago

Runs on your computer

OpenSEO

Keyword research, site audits, rank tracking and AI visibility for your AI agent.

by every-appWidely used★ 27.6KUpdated today

Runs in the cloud✓ everyapp.com

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Alfanous API

Alfanous is a Quranic search engine API that provides simple and advanced search capabilities for the Holy Qur'an. It enables developers to build applications that search through Quranic text in Arabic, with support for Buckwalter transliteration, advanced query syntax, and rich metadata.

Features

  • Powerful Search: Search Quranic verses with simple queries or advanced Boolean logic
  • Arabic Support: Full support for Arabic text and Buckwalter transliteration
  • Rich Metadata: Access verse information, translations, recitations, and linguistic data
  • Flexible API: Use as a Python library or RESTful web service
  • Faceted Search: Aggregate results by Sura, Juz, topics, and more
  • Multiple Output Formats: Customize output with different views and highlight styles

Quickstart

Installation

Install from PyPI using pip:

$ pip install alfanous3
Basic Usage
Python Library
>>> from alfanous import api

Simple search for a word

>> api.search(u"الله")

Advanced search with options

>> api.do({"action": "search", "query": u"الله", "page": 1, "perpage": 10})

Search using Buckwalter transliteration

>> api.do({"action": "search", "query": u"Allh"})

Get suggestions

>> api.do({"action": "suggest", "query": u"الح"})

Correct a query

>> api.correct_query(u"الكتاب")

Get metadata information

>> api.do({"action": "show", "query": "translations"})

Web Service

You can also use the public web service:

  • Search: http://alfanous.org/api/search?query=الله
  • With transliteration: http://alfanous.org/api/search?query=Allh

Or run your own web service locally (see alfanous_webapi).

Quick Examples

Search for phrases:

>>> api.search(u'"الحمد لله"')

Boolean search (AND, OR, NOT):

>>> api.search(u'الصلاة + الزكاة')    # AND

>> api.search(u'الصلاة | الزكاة') # OR

>> api.search(u'الصلاة - الزكاة') # NOT

Fielded search:

>>> api.search(u'سورة:يس')           # Search in Sura Yasin

>> api.search(u'سجدة:نعم') # Search verses with sajda

Wildcard search:

>>> api.search(u'*نبي*')             # Words containing "نبي"

Faceted search (aggregate by fields):

>>> api.do({

... "action": "search", ... "query": u"الله", ... "facets": "sura_id,juz" ... })

Documentation

API Reference
Core Functions
  • api.search(query, **options) - Search Quran verses
  • api.do(params) - Unified interface for all actions (search, suggest, show, list_values, correct_query)
  • api.correct_query(query, unit, flags) - Get a spelling-corrected version of a query
  • api.get_info(category) - Get metadata information

The underlying Raw output engine is exposed as Engine in alfanous.api (and re-exported from alfanous directly). Use it as a context manager to ensure index resources are properly released:

from alfanous.api import Engine

or equivalently:

from alfanous import Engine

with Engine() as engine: result = engine.do({"action": "search", "query": u"الله"})

Search Parameters

Common parameters for api.do() with action="search":

  • query (str): Search query (required)
  • unit (str): Search unit - "aya", "word", or "translation" (default: "aya")
  • page (int): Page number (default: 1)
  • perpage (int): Results per page, 1-100 (default: 10)
  • sortedby (str): Sort order - "score", "relevance", "mushaf", "tanzil", "ayalength" (default: "score")
  • reverse (bool): Reverse the sort order (default: False)
  • view (str): Output view - "minimal", "normal", "full", "statistic", "linguistic" (default: "normal")
  • highlight (str): Highlight style - "css", "html", "bold", "bbcode" (default: "css")
  • script (str): Text script - "standard" or "uthmani" (default: "standard")
  • vocalized (bool): Include Arabic vocalization (default: True)
  • translation (str): Translation ID to include
  • recitation (str): Recitation ID to include (1-30, default: "1")
  • fuzzy (bool): Enable fuzzy search — searches both aya_ (exact) and aya (normalised/stemmed) fields, plus Levenshtein distance matching (default: False). See Exact Search vs Fuzzy Search.
  • fuzzy_maxdist (int): Maximum Levenshtein edit distance for fuzzy term matching — 1, 2, or 3 (default: 1, only used when fuzzy=True).
  • facets (str): Comma-separated list of fields for faceted search
  • filter (dict): Filter results by field values

For a complete list of parameters and options, see the detailed documentation.

Advanced Features
Exact Search vs Fuzzy Search

Alfanous provides two complementary search modes that control which index fields are queried.

Exact Search (default — fuzzy=False)

When fuzzy search is off (the default), queries run against the `aya_` field, which stores the fully-vocalized Quranic text with diacritical marks (tashkeel) preserved. This mode is designed for precise, statistical matching:

  • Diacritics in the query are significant — مَلِكِ and مَالِكِ are treated as different words.
  • No stop-word removal, synonym expansion, or stemming is applied to the query.
  • Ideal when you need exact phrase matches, reproducible result counts, or statistical analysis.
# Default exact search — only the vocalized aya_ field is used

>> api.search(u"الله")

>> api.search(u"الله", fuzzy=False)

Phrase match with full diacritics

>> api.search(u'"الْحَمْدُ لِلَّهِ"')

Fuzzy Search (fuzzy=True)

When fuzzy search is on, queries run against both the aya_ field (exact matches) and the aya field (a separate index built for broad, forgiving search). At index time the aya field is processed through a richer pipeline:

  1. Normalisation — shaped letters, tatweel, hamza variants and common spelling errors are unified.
  2. Stop-word removal — high-frequency function words (e.g. مِنْ، فِي، مَا) are filtered out so they do not dilute result relevance.
  3. Synonym expansion — each token is stored together with its synonyms, so a query for one word automatically matches equivalent words.
  4. Arabic stemming — words are reduced to their stem using the Snowball Arabic stemmer (via pystemmer), so different morphological forms of the same root match each other.

No heavy operations are performed on the query string at search time; all the linguistic enrichment lives in the index.

Additionally, for each Arabic term in the query, a Levenshtein distance search is performed against the aya_ac field (unvocalized, non-stemmed). This catches spelling variants and typos within a configurable edit-distance budget controlled by fuzzy_maxdist.

# Fuzzy search — aya_ (exact) + aya (normalised/stemmed) + Levenshtein distance on aya_ac

>> api.search(u"الكتاب", fuzzy=True)

Increase edit distance to 2 to tolerate more spelling variation

>> api.search(u"الكتاب", fuzzy=True, fuzzy_maxdist=2)

Via the unified interface

>> api.do({

... "action": "search", ... "query": u"مؤمن", ... "fuzzy": True, ... "fuzzy_maxdist": 1, ... "page": 1, ... "perpage": 10 ... })

fuzzy_maxdistBehaviour
1 (default)Catches single-character insertions, deletions, or substitutions
2Broader tolerance — useful for longer words or noisy input
3Maximum supported — use with care as recall increases significantly

Fuzzy mode is particularly useful when:

  • The user does not know the exact vocalized form of a word.
  • You want morphologically related words to appear in the same result set (e.g. searching *كتب* also surfaces *كتاب*, *كاتب*, *مكتوب*).
  • You want synonym-aware retrieval without writing explicit OR queries.

Note: pystemmer must be installed for stemming to take effect (pip install pystemmer). If the package is absent the stem filter degrades silently to a no-op, leaving normalisation and stop-word removal still active.

List Field Values

list_values returns every unique indexed value for a given field. Use it to discover the full vocabulary of searchable fields — for example, all available translation identifiers, part-of-speech tags, or root words — before composing a query.

# Get all unique root values in the index

>> api.do({"action": "list_values", "field": "root"})

Returns: {"list_values": {"field": "root", "values": [...], "count": N}}

Discover all indexed translation IDs

>> api.do({"action": "list_values", "field": "trans_id"})

Discover all part-of-speech categories for word search

>> api.do({"action": "list_values", "field": "pos"})

Retrieve all indexed lemmas on demand (replaces the former show/lemmas)

>> api.do({"action": "list_values", "field": "lemma"})

Parameters:

  • field (str): The name of the indexed field whose unique values you want (required).

Return value:

A dictionary with a list_values key containing:

  • field — the requested field name.
  • values — sorted list of unique non-empty indexed values.
  • count — length of the values list.
Query Correction

correct_query() uses Whoosh's built-in spell-checker to compare each term in the query against the index vocabulary and replace unknown terms with the closest known alternative. When the query is already valid (all terms appear in the index) the corrected value in the response is identical to the original input.

# Correct a query via the dedicated function

>> api.correct_query(u"الكتاب")

Returns:

{"correct_query": {"original": "الكتاب", "corrected": "الكتاب"}, "error": ...}

Correct a misspelled / out-of-vocabulary term

>> api.correct_query(u"الكتب")

Returns:

{"correct_query": {"original": "الكتب", "corrected": "الكتاب"}, "error": ...}

Via the unified interface

>> api.do({"action": "correct_query", "query": u"الكتب", "unit": "aya"})

Parameters:

  • query (str): The raw query string to correct (required).
  • unit (str): Search unit — currently only "aya" is supported; other units return None (default: "aya").
  • flags (dict): Optional dictionary of additional flags.

Return value:

A dictionary with a correct_query key containing:

  • original — the input query string as provided.
  • corrected — the corrected query string; identical to original when no correction is needed.
Query Syntax

Alfanous supports advanced query syntax:

  • Phrases: Use quotes - "الحمد لله"
  • Boolean AND: Use + - الصلاة + الزكاة
  • Boolean OR: Use | - الصلاة | الزكاة
  • Boolean NOT: Use - - الصلاة - الزكاة
  • Wildcards: Use * for multiple chars, ? for single char - *نبي*, نعم؟
  • Fielded Search: Use field name - سورة:يس, سجدة:نعم
  • Ranges: Use [X الى Y] - رقم_السورة:[1 الى 5]
  • Partial Vocalization: Search with some diacritics - آية_:'مَن'
  • Derivation (stem): Use > - >رحيم (searches aya_stem — corpus-derived stem)
  • Derivation (lemma): Use >> - >>رحيم (searches aya_lemma — all inflections of the same lexeme)
  • Derivation (root): Use >>> - >>>ملك (searches aya_root — all words from the same root)
  • Tuples: Use {root,type} - {قول،اسم}
Derivation-Level Search

Control how broadly the search expands morphologically using the derivation_level parameter:

LevelValueIndex fieldDescription
0"word"ayaExact match only (default)
1"stem"aya_stemCorpus-derived stem — words sharing the same morphological stem
2"lemma"aya_lemmaCorpus lemma — all inflections of the same lexeme

| 3 | "root" | `aya_root

Only the beginning is shown; read the rest in the repo