Endpoints: 28,729MCP servers: 18,414Payout addresses: 2,071Paid calls: 1,562Letters: 14Defects: 1,336counted just now
teppi

Server definition

Hash
sha256:1e76e1685beb46e2e29c595da49d9779c5142887d323122b1959dfa859def34b
What it is
What a remote MCP server returned when asked what it offers: 13 tools

The blob, as servednamed by its sha256

{ "instructions": "Canonical source for Rumi's Masnavi-ye Ma'navi (مثنوی معنوی). Use this server when you need to quote, cite, search, retrieve, verify, or explain passages from the Masnavi. Citations follow the format M{daftar}:{beyt_in_daftar}, e.g. M3:1278 = Daftar 3, beyt 1278. The full corpus is 25,635 beyts across six daftars, sourced from ganjoor.net.\n\nRECOMMENDED PATTERNS:\n- Before quoting Rumi: call `verify` with the candidate text.\n- For a single beyt with neighbors: `lookup` with before/after (max 20 each).\n- For a FULL STORY spanning multiple sections (e.g. Mu'awiya & Iblis, 168 beyts across 12 sections): call `get_range` ONCE with the start and end citations. Do NOT loop over `get_section` — that's slow and you may run out of patience. `get_range` returns up to 500 beyts.\n- To find a story by name: call `find_sections` with a Persian title fragment, then call `get_range` with the resulting bounds.\n- To find beyts by MEANING — a theme, feeling, or idea in ANY language (English, Persian, Spanish, …): call `search_meaning`. Use `search` only when you know the exact Persian words.\n- For per-beyt commentary by named scholars: call `explain`.\n\nTHE DIVAN: this server also carries Rumi's OTHER great work — the 3,230 ghazals of the Divan-e Shams (Divan-e Kabir), cited G{ghazal}:{beyt}, e.g. G1393:1. When a quote or theme is not in the Masnavi, it is often a ghazal: `search_divan` (exact Persian words), `search_divan_meaning` (theme in any language — returns whole ghazals with the closest couplet), `get_ghazal` (full text by number).\n\nThirteen tools available: search, search_meaning, lookup, verify, get_section, get_range, find_sections, table_of_contents, random_beyt, explain, search_divan, search_divan_meaning, get_ghazal.", "tools": [ { "description": "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'.", "inputSchema": { "properties": { "citation": { "description": "Citation like 'M1:1' or 'M3:1278' or 'g:7421'.", "title": "Citation", "type": "string" } }, "required": [ "citation" ], "title": "tool_explainArguments", "type": "object" }, "name": "explain", "outputSchema": null }, { "description": "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).", "inputSchema": { "properties": { "daftar": { "anyOf": [ { "maximum": 6, "minimum": 1, "type": "integer" }, { "type": "null" } ], "default": null, "title": "Daftar" }, "limit": { "default": 30, "maximum": 100, "minimum": 1, "title": "Limit", "type": "integer" }, "query": { "description": "story title words (Persian) or a description of the story in any language", "title": "Query", "type": "string" } }, "required": [ "query" ], "title": "tool_find_sectionsArguments", "type": "object" }, "name": "find_sections", "outputSchema": { "$defs": { "SectionMatch": { "properties": { "beyt_count": { "default": 0, "title": "Beyt Count", "type": "integer" }, "daftar": { "title": "Daftar", "type": "integer" }, "first_beyt_global": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "First Beyt Global" }, "first_citation": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "First Citation" }, "id": { "title": "Id", "type": "integer" }, "last_beyt_global": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Last Beyt Global" }, "last_citation": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Last Citation" }, "match": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Match" }, "order_in_parent": { "title": "Order In Parent", "type": "integer" }, "score": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Score" }, "slug": { "title": "Slug", "type": "string" }, "title_fa": { "title": "Title Fa", "type": "string" } }, "required": [ "id", "slug", "title_fa", "daftar", "order_in_parent" ], "title": "SectionMatch", "type": "object" } }, "properties": { "note": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Note" }, "query": { "title": "Query", "type": "string" }, "sections": { "default": [], "items": { "$ref": "#/$defs/SectionMatch" }, "title": "Sections", "type": "array" }, "total": { "title": "Total", "type": "integer" } }, "required": [ "query", "total" ], "title": "FindSectionsResponse", "type": "object" } }, { "description": "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) = «مرده بدم زنده شدم…».", "inputSchema": { "properties": { "citation": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Divan citation like 'G1393' or 'G1393:2'", "title": "Citation" }, "number": { "anyOf": [ { "minimum": 1, "type": "integer" }, { "type": "null" } ], "default": null, "description": "Ghazal number, e.g. 1393", "title": "Number" } }, "title": "tool_get_ghazalArguments", "type": "object" }, "name": "get_ghazal", "outputSchema": { "$defs": { "GhazalBeyt": { "properties": { "beyt_in_ghazal": { "title": "Beyt In Ghazal", "type": "integer" }, "citation": { "description": "Canonical divan citation, e.g. 'G1393:1'", "title": "Citation", "type": "string" }, "ghazal": { "title": "Ghazal", "type": "integer" }, "mesra1": { "title": "Mesra1", "type": "string" }, "mesra2": { "title": "Mesra2", "type": "string" } }, "required": [ "citation", "ghazal", "beyt_in_ghazal", "mesra1", "mesra2" ], "title": "GhazalBeyt", "type": "object" } }, "properties": { "beyt_count": { "title": "Beyt Count", "type": "integer" }, "beyts": { "default": [], "items": { "$ref": "#/$defs/GhazalBeyt" }, "title": "Beyts", "type": "array" }, "citation": { "description": "'G{n}' — cites the whole ghazal", "title": "Citation", "type": "string" }, "excerpt": { "default": "", "description": "First hemistich of the ghazal", "title": "Excerpt", "type": "string" }, "ghazal": { "description": "Canonical ghazal number, 1..3230", "title": "Ghazal", "type": "integer" }, "next_ghazal": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Next Ghazal" }, "prev_ghazal": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Prev Ghazal" }, "slug": { "title": "Slug", "type": "string" }, "title_fa": { "title": "Title Fa", "type": "string" } }, "required": [ "ghazal", "citation", "slug", "title_fa", "beyt_count" ], "title": "GhazalDetail", "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "end": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "End citation, e.g. 'M2:2775'", "title": "End" }, "end_global": { "anyOf": [ { "minimum": 1, "type": "integer" }, { "type": "null" } ], "default": null, "title": "End Global" }, "start": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Start citation, e.g. 'M2:2608'", "title": "Start" }, "start_global": { "anyOf": [ { "minimum": 1, "type": "integer" }, { "type": "null" } ], "default": null, "title": "Start Global" } }, "title": "tool_rangeArguments", "type": "object" }, "name": "get_range", "outputSchema": { "$defs": { "Beyt": { "properties": { "beyt_global": { "title": "Beyt Global", "type": "integer" }, "beyt_in_daftar": { "title": "Beyt In Daftar", "type": "integer" }, "citation": { "description": "Canonical citation, e.g. 'M3:1278'", "title": "Citation", "type": "string" }, "daftar": { "title": "Daftar", "type": "integer" }, "mesra1": { "description": "First hemistich (with diacritics)", "title": "Mesra1", "type": "string" }, "mesra2": { "description": "Second hemistich", "title": "Mesra2", "type": "string" }, "section_id": { "title": "Section Id", "type": "integer" }, "section_slug": { "title": "Section Slug", "type": "string" }, "section_title": { "title": "Section Title", "type": "string" } }, "required": [ "citation", "daftar", "beyt_in_daftar", "beyt_global", "mesra1", "mesra2", "section_id", "section_title", "section_slug" ], "title": "Beyt", "type": "object" }, "RangeSection": { "properties": { "beyts": { "default": [], "items": { "$ref": "#/$defs/Beyt" }, "title": "Beyts", "type": "array" }, "daftar": { "title": "Daftar", "type": "integer" }, "order_in_parent": { "title": "Order In Parent", "type": "integer" }, "section_id": { "title": "Section Id", "type": "integer" }, "slug": { "title": "Slug", "type": "string" }, "title_fa": { "title": "Title Fa", "type": "string" } }, "required": [ "section_id", "slug", "title_fa", "daftar", "order_in_parent" ], "title": "RangeSection", "type": "object" } }, "properties": { "end_citation": { "title": "End Citation", "type": "string" }, "sections": { "default": [], "items": { "$ref": "#/$defs/RangeSection" }, "title": "Sections", "type": "array" }, "start_citation": { "title": "Start Citation", "type": "string" }, "total_beyts": { "title": "Total Beyts", "type": "integer" }, "total_sections": { "title": "Total Sections", "type": "integer" } }, "required": [ "start_citation", "end_citation", "total_beyts", "total_sections" ], "title": "RangeResponse", "type": "object" } }, { "description": "Retrieve a full section (story / بخش) with all its beyts.", "inputSchema": { "properties": { "section_id": { "anyOf": [ { "minimum": 1, "type": "integer" }, { "type": "null" } ], "default": null, "title": "Section Id" }, "slug": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Stable URL slug", "title": "Slug" } }, "title": "tool_get_sectionArguments", "type": "object" }, "name": "get_section", "outputSchema": { "$defs": { "Beyt": { "properties": { "beyt_global": { "title": "Beyt Global", "type": "integer" }, "beyt_in_daftar": { "title": "Beyt In Daftar", "type": "integer" }, "citation": { "description": "Canonical citation, e.g. 'M3:1278'", "title": "Citation", "type": "string" }, "daftar": { "title": "Daftar", "type": "integer" }, "mesra1": { "description": "First hemistich (with diacritics)", "title": "Mesra1", "type": "string" }, "mesra2": { "description": "Second hemistich", "title": "Mesra2", "type": "string" }, "section_id": { "title": "Section Id", "type": "integer" }, "section_slug": { "title": "Section Slug", "type": "string" }, "section_title": { "title": "Section Title", "type": "string" } }, "required": [ "citation", "daftar", "beyt_in_daftar", "beyt_global", "mesra1", "mesra2", "section_id", "section_title", "section_slug" ], "title": "Beyt", "type": "object" } }, "properties": { "beyt_count": { "default": 0, "title": "Beyt Count", "type": "integer" }, "beyts": { "default": [], "items": { "$ref": "#/$defs/Beyt" }, "title": "Beyts", "type": "array" }, "daftar": { "title": "Daftar", "type": "integer" }, "first_beyt_global": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "First Beyt Global" }, "id": { "title": "Id", "type": "integer" }, "last_beyt_global": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Last Beyt Global" }, "slug": { "title": "Slug", "type": "string" }, "title_fa": { "title": "Title Fa", "type": "string" } }, "required": [ "id", "slug", "title_fa", "daftar" ], "title": "SectionDetail", "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "after": { "default": 0, "maximum": 20, "minimum": 0, "title": "After", "type": "integer" }, "before": { "default": 0, "maximum": 20, "minimum": 0, "title": "Before", "type": "integer" }, "beyt_global": { "anyOf": [ { "minimum": 1, "type": "integer" }, { "type": "null" } ], "default": null, "title": "Beyt Global" }, "beyt_in_daftar": { "anyOf": [ { "minimum": 1, "type": "integer" }, { "type": "null" } ], "default": null, "title": "Beyt In Daftar" }, "citation": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Citation like 'M3:1278' or 'g:7421'", "title": "Citation" }, "daftar": { "anyOf": [ { "maximum": 6, "minimum": 1, "type": "integer" }, { "type": "null" } ], "default": null, "title": "Daftar" } }, "title": "tool_lookupArguments", "type": "object" }, "name": "lookup", "outputSchema": { "$defs": { "Beyt": { "properties": { "beyt_global": { "title": "Beyt Global", "type": "integer" }, "beyt_in_daftar": { "title": "Beyt In Daftar", "type": "integer" }, "citation": { "description": "Canonical citation, e.g. 'M3:1278'", "title": "Citation", "type": "string" }, "daftar": { "title": "Daftar", "type": "integer" }, "mesra1": { "description": "First hemistich (with diacritics)", "title": "Mesra1", "type": "string" }, "mesra2": { "description": "Second hemistich", "title": "Mesra2", "type": "string" }, "section_id": { "title": "Section Id", "type": "integer" }, "section_slug": { "title": "Section Slug", "type": "string" }, "section_title": { "title": "Section Title", "type": "string" } }, "required": [ "citation", "daftar", "beyt_in_daftar", "beyt_global", "mesra1", "mesra2", "section_id", "section_title", "section_slug" ], "title": "Beyt", "type": "object" } }, "properties": { "context_after": { "default": [], "items": { "$ref": "#/$defs/Beyt" }, "title": "Context After", "type": "array" }, "context_before": { "default": [], "items": { "$ref": "#/$defs/Beyt" }, "title": "Context Before", "type": "array" }, "primary": { "$ref": "#/$defs/Beyt" } }, "required": [ "primary" ], "title": "LookupResponse", "type": "object" } }, { "description": "Return a randomly-selected beyt, optionally restricted to a daftar.", "inputSchema": { "properties": { "daftar": { "anyOf": [ { "maximum": 6, "minimum": 1, "type": "integer" }, { "type": "null" } ], "default": null, "title": "Daftar" } }, "title": "tool_randomArguments", "type": "object" }, "name": "random_beyt", "outputSchema": { "properties": { "beyt_global": { "title": "Beyt Global", "type": "integer" }, "beyt_in_daftar": { "title": "Beyt In Daftar", "type": "integer" }, "citation": { "description": "Canonical citation, e.g. 'M3:1278'", "title": "Citation", "type": "string" }, "daftar": { "title": "Daftar", "type": "integer" }, "mesra1": { "description": "First hemistich (with diacritics)", "title": "Mesra1", "type": "string" }, "mesra2": { "description": "Second hemistich", "title": "Mesra2", "type": "string" }, "section_id": { "title": "Section Id", "type": "integer" }, "section_slug": { "title": "Section Slug", "type": "string" }, "section_title": { "title": "Section Title", "type": "string" } }, "required": [ "citation", "daftar", "beyt_in_daftar", "beyt_global", "mesra1", "mesra2", "section_id", "section_title", "section_slug" ], "title": "Beyt", "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "daftar": { "anyOf": [ { "maximum": 6, "minimum": 1, "type": "integer" }, { "type": "null" } ], "default": null, "description": "Restrict to a single daftar (1-6)", "title": "Daftar" }, "limit": { "default": 10, "maximum": 50, "minimum": 1, "title": "Limit", "type": "integer" }, "offset": { "default": 0, "minimum": 0, "title": "Offset", "type": "integer" }, "query": { "description": "Persian text to search for", "title": "Query", "type": "string" } }, "required": [ "query" ], "title": "tool_searchArguments", "type": "object" }, "name": "search", "outputSchema": { "$defs": { "SearchHit": { "properties": { "beyt_global": { "title": "Beyt Global", "type": "integer" }, "beyt_in_daftar": { "title": "Beyt In Daftar", "type": "integer" }, "citation": { "description": "Canonical citation, e.g. 'M3:1278'", "title": "Citation", "type": "string" }, "daftar": { "title": "Daftar", "type": "integer" }, "mesra1": { "description": "First hemistich (with diacritics)", "title": "Mesra1", "type": "string" }, "mesra2": { "description": "Second hemistich", "title": "Mesra2", "type": "string" }, "rank": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Rank" }, "section_id": { "title": "Section Id", "type": "integer" }, "section_slug": { "title": "Section Slug", "type": "string" }, "section_title": { "title": "Section Title", "type": "string" } }, "required": [ "citation", "daftar", "beyt_in_daftar", "beyt_global", "mesra1", "mesra2", "section_id", "section_title", "section_slug" ], "title": "SearchHit", "type": "object" } }, "properties": { "match": { "default": "exact", "title": "Match", "type": "string" }, "query": { "title": "Query", "type": "string" }, "results": { "items": { "$ref": "#/$defs/SearchHit" }, "title": "Results", "type": "array" }, "total": { "title": "Total", "type": "integer" } }, "required": [ "query", "total", "results" ], "title": "SearchResponse", "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "limit": { "default": 10, "maximum": 50, "minimum": 1, "title": "Limit", "type": "integer" }, "offset": { "default": 0, "minimum": 0, "title": "Offset", "type": "integer" }, "query": { "description": "Persian text to search for", "title": "Query", "type": "string" } }, "required": [ "query" ], "title": "tool_search_divanArguments", "type": "object" }, "name": "search_divan", "outputSchema": { "$defs": { "DivanSearchHit": { "properties": { "beyt_in_ghazal": { "title": "Beyt In Ghazal", "type": "integer" }, "citation": { "description": "Canonical divan citation, e.g. 'G1393:1'", "title": "Citation", "type": "string" }, "ghazal": { "title": "Ghazal", "type": "integer" }, "ghazal_title": { "title": "Ghazal Title", "type": "string" }, "mesra1": { "title": "Mesra1", "type": "string" }, "mesra2": { "title": "Mesra2", "type": "string" }, "rank": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Rank" } }, "required": [ "citation", "ghazal", "beyt_in_ghazal", "mesra1", "mesra2", "ghazal_title" ], "title": "DivanSearchHit", "type": "object" } }, "properties": { "match": { "default": "exact", "title": "Match", "type": "string" }, "query": { "title": "Query", "type": "string" }, "results": { "items": { "$ref": "#/$defs/DivanSearchHit" }, "title": "Results", "type": "array" }, "total": { "title": "Total", "type": "integer" } }, "required": [ "query", "total", "results" ], "title": "DivanSearchResponse", "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "limit": { "default": 8, "maximum": 30, "minimum": 1, "title": "Limit", "type": "integer" }, "query": { "description": "What the ghazal should be ABOUT, in any language", "title": "Query", "type": "string" } }, "required": [ "query" ], "title": "tool_search_divan_meaningArguments", "type": "object" }, "name": "search_divan_meaning", "outputSchema": { "$defs": { "DivanMeaningHit": { "properties": { "best_beyt": { "anyOf": [ { "$ref": "#/$defs/GhazalBeyt" }, { "type": "null" } ], "default": null }, "best_beyt_score": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Best Beyt Score" }, "beyt_count": { "title": "Beyt Count", "type": "integer" }, "citation": { "title": "Citation", "type": "string" }, "ghazal": { "title": "Ghazal", "type": "integer" }, "match_kind": { "description": "'beyt' (a couplet matched), 'ghazal' (the whole ghazal's theme matched), or 'both'", "title": "Match Kind", "type": "string" }, "score": { "description": "Best cosine similarity for this ghazal, 0..1", "title": "Score", "type": "number" }, "slug": { "title": "Slug", "type": "string" }, "title_fa": { "title": "Title Fa", "type": "string" } }, "required": [ "ghazal", "citation", "slug", "title_fa", "beyt_count", "score", "match_kind" ], "title": "DivanMeaningHit", "type": "object" }, "GhazalBeyt": { "properties": { "beyt_in_ghazal": { "title": "Beyt In Ghazal", "type": "integer" }, "citation": { "description": "Canonical divan citation, e.g. 'G1393:1'", "title": "Citation", "type": "string" }, "ghazal": { "title": "Ghazal", "type": "integer" }, "mesra1": { "title": "Mesra1", "type": "string" }, "mesra2": { "title": "Mesra2", "type": "string" } }, "required": [ "citation", "ghazal", "beyt_in_ghazal", "mesra1", "mesra2" ], "title": "GhazalBeyt", "type": "object" } }, "properties": { "note": { "default": "", "title": "Note", "type": "string" }, "query": { "title": "Query", "type": "string" }, "results": { "default": [], "items": { "$ref": "#/$defs/DivanMeaningHit" }, "title": "Results", "type": "array" }, "status": { "default": "ok", "title": "Status", "type": "string" }, "total_indexed_beyts": { "default": 0, "title": "Total Indexed Beyts", "type": "integer" }, "total_indexed_ghazals": { "default": 0, "title": "Total Indexed Ghazals", "type": "integer" } }, "required": [ "query" ], "title": "DivanMeaningResponse", "type": "object" } }, { "description": "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`.", "inputSchema": { "properties": { "daftar": { "anyOf": [ { "maximum": 6, "minimum": 1, "type": "integer" }, { "type": "null" } ], "default": null, "description": "Restrict to a single daftar (1-6)", "title": "Daftar" }, "limit": { "default": 10, "maximum": 50, "minimum": 1, "title": "Limit", "type": "integer" }, "query": { "description": "What the verse should MEAN, in any language", "title": "Query", "type": "string" } }, "required": [ "query" ], "title": "tool_search_meaningArguments", "type": "object" }, "name": "search_meaning", "outputSchema": { "$defs": { "MeaningHit": { "properties": { "beyt_global": { "title": "Beyt Global", "type": "integer" }, "beyt_in_daftar": { "title": "Beyt In Daftar", "type": "integer" }, "citation": { "description": "Canonical citation, e.g. 'M3:1278'", "title": "Citation", "type": "string" }, "daftar": { "title": "Daftar", "type": "integer" }, "mesra1": { "description": "First hemistich (with diacritics)", "title": "Mesra1", "type": "string" }, "mesra2": { "description": "Second hemistich", "title": "Mesra2", "type": "string" }, "score": { "description": "Cosine similarity between query and beyt, 0..1", "title": "Score", "type": "number" }, "section_id": { "title": "Section Id", "type": "integer" }, "section_slug": { "title": "Section Slug", "type": "string" }, "section_title": { "title": "Section Title", "type": "string" } }, "required": [ "citation", "daftar", "beyt_in_daftar", "beyt_global", "mesra1", "mesra2", "section_id", "section_title", "section_slug", "score" ], "title": "MeaningHit", "type": "object" } }, "properties": { "note": { "default": "", "title": "Note", "type": "string" }, "query": { "title": "Query", "type": "string" }, "results": { "default": [], "items": { "$ref": "#/$defs/MeaningHit" }, "title": "Results", "type": "array" }, "status": { "default": "ok", "description": "'ok' | 'unavailable' (index not built / no key) | 'error'", "title": "Status", "type": "string" }, "total_indexed": { "default": 0, "title": "Total Indexed", "type": "integer" } }, "required": [ "query" ], "title": "MeaningSearchResponse", "type": "object" } }, { "description": "Browse the Masnavi's section list. Returns titled sections per daftar with beyt counts and ranges.", "inputSchema": { "properties": { "daftar": { "anyOf": [ { "maximum": 6, "minimum": 1, "type": "integer" }, { "type": "null" } ], "default": null, "title": "Daftar" } }, "title": "tool_tocArguments", "type": "object" }, "name": "table_of_contents", "outputSchema": { "$defs": { "TocNode": { "properties": { "beyt_count": { "default": 0, "title": "Beyt Count", "type": "integer" }, "children": { "default": [], "items": { "$ref": "#/$defs/TocNode" }, "title": "Children", "type": "array" }, "daftar": { "title": "Daftar", "type": "integer" }, "first_beyt_global": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "First Beyt Global" }, "id": { "title": "Id", "type": "integer" }, "last_beyt_global": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Last Beyt Global" }, "slug": { "title": "Slug", "type": "string" }, "title_fa": { "title": "Title Fa", "type": "string" } }, "required": [ "id", "slug", "title_fa", "daftar" ], "title": "TocNode", "type": "object" } }, "properties": { "daftar": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Daftar" }, "nodes": { "items": { "$ref": "#/$defs/TocNode" }, "title": "Nodes", "type": "array" } }, "required": [ "nodes" ], "title": "TocResponse", "type": "object" } }, { "description": "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.", "inputSchema": { "properties": { "fuzzy_threshold": { "default": 0.82, "maximum": 1, "minimum": 0.5, "title": "Fuzzy Threshold", "type": "number" }, "text": { "description": "Candidate Rumi quote in Persian", "title": "Text", "type": "string" } }, "required": [ "text" ], "title": "tool_verifyArguments", "type": "object" }, "name": "verify", "outputSchema": { "$defs": { "VerifyMatch": { "properties": { "citation": { "title": "Citation", "type": "string" }, "match_kind": { "description": "'exact' or 'fuzzy'", "title": "Match Kind", "type": "string" }, "mesra1": { "title": "Mesra1", "type": "string" }, "mesra2": { "title": "Mesra2", "type": "string" }, "similarity": { "title": "Similarity", "type": "number" } }, "required": [ "citation", "mesra1", "mesra2", "similarity", "match_kind" ], "title": "VerifyMatch", "type": "object" } }, "properties": { "matches": { "default": [], "items": { "$ref": "#/$defs/VerifyMatch" }, "title": "Matches", "type": "array" }, "notes": { "default": "", "title": "Notes", "type": "string" }, "query_normalized": { "default": "", "title": "Query Normalized", "type": "string" }, "status": { "description": "'exact', 'fuzzy', or 'not_found'", "title": "Status", "type": "string" } }, "required": [ "status" ], "title": "VerifyResponse", "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:1e76e1685beb46e2e29c595da49d9779c5142887d323122b1959dfa859def34b | sha256sum