mcpbeat

Masnavi MCP Server

ai.masnavi/masnavi
answering

Masnavi is answering right now. Last checked 13 min ago. It exposes 13 tools. Last commit 12 Jun 2026.

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

Uptime history 41 hours of history
41 hours agonow
100.0%
Uptime 24h
91 of 91 checks
13
Tools
read from the server
208 ms
Response time
average over 24h
0
Stars
last commit 12 Jun 2026

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 13 min ago.

run in your terminal
claude mcp add masnavi --transport http https://masnavi.ai/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "masnavi": {
      "url": "https://masnavi.ai/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.masnavi]
url = "https://masnavi.ai/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "masnavi": {
      "url": "https://masnavi.ai/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "masnavi": {
      "url": "https://masnavi.ai/mcp"
    }
  }
}

Available tools 13

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

divan
search_divan
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.
search_divan_meaning
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.
explain
explain
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'.
ghazal
get_ghazal
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) = «مرده بدم زنده شدم…».
lookup
lookup
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.
meaning
search_meaning
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`.
random
random_beyt
Return a randomly-selected beyt, optionally restricted to a daftar.
range
get_range
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.
search
search
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.
section
get_section
Retrieve a full section (story / بخش) with all its beyts.
sections
find_sections
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).
table
table_of_contents
Browse the Masnavi's section list. Returns titled sections per daftar with beyt counts and ranges.
verify
verify
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.

Endpoints

URLTransportStateLatencyChecked
https://masnavi.ai/mcp streamable-http answering 233 ms 13 min ago

Masnavi — questions

Answers built from our own checks of this server.

What can Masnavi do?
It exposes 13 tools, read directly from the server on our last check. Among them: explain, find_sections, get_ghazal, get_range, get_section, lookup and 7 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Masnavi working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 208 ms. The bar chart above shows every period we have measured.
How do I connect Masnavi?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Masnavi need an API key?
No. Masnavi completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 13 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Masnavi?
It answers our handshake in 208 ms on average, which is faster than 61% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Masnavi open source?
Yes — 0 stars on GitHub. The source link is on this page, so you can read exactly what it does with your data before you connect it.