ZBS Index What actually exists in applied AI, with the source next to it

mcp server

masnavi

Rumi's complete Masnavi (25,635 beyts) — search, quote, verify and explain. Free, no auth.

Description as published by the maintainer. Source

  • version 1.0.0
  • active
  • retrieval

active — Most recent push to the repository was 2026-06-12. Dashed tags are derived by ZBS Index from the published description, not stated by the maintainer.

What this server can do

13 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.

explain(citation)
Get commentary (Persian + English) for a specific beyt of the Masnavi, attributed to a primary source (e.g. Abdolkarim Soroush's lectures). Returns the beyt text along with structured commentary entries. Each entry has source, author, language, body markdown, and confidence ('ai-draft' / 'reviewed' / 'verbatim'). Use this when a user asks 'what does this beyt mean' or 'what does <scholar> say about M1:1'. Required: citation.
find_sections(limit, query, daftar)
Find sections (stories) by TITLE. Exact words first (phrase, then AND-of-tokens); when NO title contains the words, falls back to MEANING matches in any language (hits carry match='meaning' + a cosine score — verify with get_section before relying on one). Each match includes `first_citation` and `last_citation` — ready-to-use canonical citations (e.g. 'M2:2608'). To read a whole multi-section story, call get_range with the FIRST match's `first_citation` as start and the LAST match's `last_citation` as end. Do NOT construct a citation from `first_beyt_global` — that is a GLOBAL index (1..25635), not a daftar-local beyt number. Example: find_sections('ابلیس معاویه', daftar=2). Required: query.
get_ghazal(number, citation)
Fetch ONE complete ghazal of the Divan-e Shams by its canonical number (1..3230) or citation ('G1393' / 'G1393:2'). Returns every beyt plus prev/next ghazal numbers. Famous example: get_ghazal(1393) = «مرده بدم زنده شدم…».
get_range(end, start, end_global, start_global)
Fetch ALL beyts between two endpoints, inclusive, grouped by section. Use this — NOT many calls to get_section or lookup — when a user asks for a full story, a long passage, or a sequence of beyts spanning multiple sections. Endpoints are canonical citations like 'M2:2608' and 'M2:2775', or global indices via start_global / end_global. Max range: 500 beyts.
get_section(slug, section_id)
Retrieve a full section (story / بخش) with all its beyts.
lookup(after, before, daftar, citation, beyt_global, beyt_in_daftar)
Fetch a specific beyt by its citation (e.g. 'M3:1278'), by daftar+beyt number, or by global beyt index. Optionally include surrounding beyts for context.
random_beyt(daftar)
Return a randomly-selected beyt, optionally restricted to a daftar.
search(limit, query, daftar, offset)
Full-text search across the Masnavi. Returns beyts that contain the query terms, ranked by relevance. Useful for finding where a theme, word, or phrase appears. Required: query.
search_divan(limit, query, offset)
Full-text search across the 34,603 beyts of the ghazals of the Divan-e Shams (Divan-e Kabir) — Rumi's lyric work, distinct from the Masnavi. Returns beyts with divan citations (G{ghazal}:{beyt}, e.g. G1393:1). Use when you know the exact Persian words; use search_divan_meaning for a theme in any language. Required: query.
search_divan_meaning(limit, query)
Semantic search over the Divan-e Shams ghazals: given a theme, feeling, or idea in ANY language, returns the GHAZALS closest in meaning — each with its best-matching couplet as a preview and a cosine score. Both couplet-level and whole-ghazal vectors are searched, so a ghazal whose overall theme matches is found even when no single couplet does. Fetch a full ghazal with get_ghazal. status='unavailable' means the index is not built — fall back to search_divan. Required: query.
search_meaning(limit, query, daftar)
Semantic search: find the beyts closest in MEANING to the query, in ANY language — English, Persian, Spanish, Turkish, Arabic, … . Use this when you have a theme, feeling, or idea rather than exact Persian words (e.g. 'feeling separated from your origin' → M1:1). Each hit carries a cosine-similarity score. status='unavailable' means the vector index is not built yet — fall back to `search`. Required: query.
table_of_contents(daftar)
Browse the Masnavi's section list. Returns titled sections per daftar with beyt counts and ranges.
verify(text, fuzzy_threshold)
Given a candidate quote attributed to Rumi's Masnavi, check whether it actually appears. Returns status='exact' (with citation), 'fuzzy' (with similar candidates), or 'not_found'. USE THIS BEFORE QUOTING RUMI to avoid hallucination. Required: text.

Last successful function declaration observed on . Source: https://masnavi.ai/mcp. We list what the server declared; we do not call any of these functions.

Endpoint status observed on . Source: https://masnavi.ai/mcp.

Signals

These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.

Signal Value What it measures Window Observed Source
GitHub stars 0 Number of GitHub accounts that bookmarked this repository since it was created. It is a bookmark count, not installs, not active users and not quality. cumulative, all time GitHub
Last commit 2026-06-12 Date of the most recent push to any branch. This is the strongest cheap indicator of whether the project is still maintained. point in time GitHub
Open issues 0 Open issues plus open pull requests, as GitHub counts them together. A high number can mean an active project or an abandoned one. as of fetch GitHub
Latest published version 1.0.0 Latest version string the maintainer published to the registry. as of fetch Model Context Protocol
Registry record last updated 2026-06-12 When the registry record was last updated by its maintainer. point in time Model Context Protocol
First listed in the MCP Registry 2026-06-12 Date this server was first published to the official MCP Registry. Not a usage or quality measure. point in time Model Context Protocol
repository status active The repository exists on GitHub and is not archived. This says nothing about how recently it was worked on. as of fetch GitHub
mcp tools declared 13 tools Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. as of probe masnavi.ai
mcp endpoint status ok The server listed 13 functions when asked. as of probe masnavi.ai

Where to get it

This record as data

Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.

GET /api/v1/entries/mcp_server.json

Sources

  1. shahhoseini/masnavi-mcp on GitHub — GitHub, observed , trust tier 3.
  2. Tools declared by the MCP server at https://masnavi.ai/mcp — masnavi.ai, observed , trust tier 1.
  3. Official MCP Registry — Model Context Protocol, observed , trust tier 1.