MCP 서버

Listen to Sadhu

app.listentosadhu/corpus

이 MCP로 할 수 있는 일

Provides semantic and lexical search across Vedic scriptures, commentaries, lectures, transcripts, and related audio and video content.

author_list
List all authors.
읽기 전용 파괴적 작업 외부 접근 가능
입력 스키마
{'type': 'object', 'required': [], 'properties': {'lang': {'type': 'string', 'description': 'Slim name to this locale.'}, 'limit': {'type': 'number', 'description': 'Max items (default 100, max 500).'}, 'cursor': {'type': 'string', 'description': 'Pagination cursor (last id).'}}}
출력 스키마
{'type': 'object', 'required': ['ok', 'kind'], 'properties': {'ok': {'type': 'boolean'}, 'kind': {'type': 'string'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {'type': 'object'}, 'message': {'type': 'string'}}, 'additionalProperties': True}, 'result': {'type': 'object', 'required': ['items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': True}}, 'next_cursor': {'type': ['string', 'null']}}, 'additionalProperties': True}}, 'additionalProperties': False}
author_resolve
Find a author by name (fuzzy).
읽기 전용 파괴적 작업 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['query'], 'properties': {'lang': {'type': 'string', 'description': 'Result language.'}, 'limit': {'type': 'number', 'description': 'Max matches (default 5, max 20).'}, 'query': {'type': 'string', 'description': 'Name fragment.'}}}
출력 스키마
{'type': 'object', 'required': ['ok', 'kind'], 'properties': {'ok': {'type': 'boolean'}, 'kind': {'type': 'string'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {'type': 'object'}, 'message': {'type': 'string'}}, 'additionalProperties': True}, 'result': {'type': 'object', 'required': ['matches'], 'properties': {'matches': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'score': {'type': 'number'}}, 'additionalProperties': True}}}, 'additionalProperties': True}}, 'additionalProperties': False}
document_get
Get a document (commentary/prose_chapter/letter) by id.
읽기 전용 파괴적 작업 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'doc_id.'}, 'lang': {'type': 'string', 'description': 'Slim bodies to this locale.'}}}
출력 스키마
{'type': 'object', 'required': ['ok', 'kind'], 'properties': {'ok': {'type': 'boolean'}, 'kind': {'type': 'string'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {'type': 'object'}, 'message': {'type': 'string'}}, 'additionalProperties': True}, 'result': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'ref': {'type': 'string'}, 'kind': {'type': 'string'}, 'author': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': True}, 'source': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'code': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': True}, 'tokens': {'type': 'string'}}, 'additionalProperties': True}}, 'additionalProperties': False}
document_list
List documents at a reference / in a book. A verse's purport = document_list(source, tokens, kind:"commentary").
읽기 전용 파괴적 작업 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['source'], 'properties': {'kind': {'type': 'string', 'description': 'commentary|prose_chapter|letter.'}, 'lang': {'type': 'string', 'description': 'Slim bodies to this locale.'}, 'limit': {'type': 'number', 'description': 'Max items (default 100, max 500).'}, 'cursor': {'type': 'string', 'description': 'Pagination cursor (last doc id).'}, 'source': {'type': 'string', 'description': 'Book code / source_id.'}, 'tokens': {'type': 'string', 'description': 'A specific reference; omit for the whole book.'}, 'author_id': {'type': 'string', 'description': 'Commentator.'}}}
출력 스키마
{'type': 'object', 'required': ['ok', 'kind'], 'properties': {'ok': {'type': 'boolean'}, 'kind': {'type': 'string'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {'type': 'object'}, 'message': {'type': 'string'}}, 'additionalProperties': True}, 'result': {'type': 'object', 'required': ['items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'ref': {'type': 'string'}, 'kind': {'type': 'string'}, 'author': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': True}, 'source': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'code': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': True}, 'tokens': {'type': 'string'}}, 'additionalProperties': True}}, 'next_cursor': {'type': ['string', 'null']}}, 'additionalProperties': True}}, 'additionalProperties': False}
excerpt_prepare
Generate (or fetch, if cached) the audio clip for a lecture passage and return its playable URL. This is the excerpt player's Play action — it is called for you by the player UI on demand. Agents should use excerpt_render to show the player, not call this directly. Idempotent: same track+window returns the same cached clip.
파괴적 작업 외부 접근 가능 멱등성
입력 스키마
{'type': 'object', 'required': ['track_id', 'start_ms', 'end_ms'], 'properties': {'end_ms': {'type': 'number', 'description': 'Passage end (ms), > start_ms; span <= 600000.'}, 'start_ms': {'type': 'number', 'description': 'Passage start (ms).'}, 'track_id': {'type': 'string', 'description': 'track_id.'}}}
출력 스키마
{'type': 'object', 'required': ['url', 'excerpt_id'], 'properties': {'url': {'type': 'string'}, 'ready': {'type': 'boolean'}, 'excerpt_id': {'type': 'string'}}, 'additionalProperties': True}
excerpt_render
Let the user HEAR a lecture passage inline. Call this when the user wants to LISTEN to a specific moment in a track — e.g. from a search(types:["track"]) hit, pass its track_id plus start_ms/end_ms. Renders an inline audio player that generates the clip on demand (public share-audio, max 10 minutes).
파괴적 작업 외부 접근 가능 멱등성
입력 스키마
{'type': 'object', 'required': ['track_id', 'start_ms', 'end_ms'], 'properties': {'lang': {'type': 'string', 'description': 'Transcript language (ISO-639-1).'}, 'end_ms': {'type': 'number', 'description': 'Passage end (ms), > start_ms; span <= 600000 (10 min).'}, 'start_ms': {'type': 'number', 'description': 'Passage start (ms).'}, 'track_id': {'type': 'string', 'description': 'track_id (from a search track hit or track_list).'}}}
출력 스키마
{'type': 'object', 'required': ['track_id', 'excerpt_id'], 'properties': {'date': {'type': 'string'}, 'lang': {'type': 'string'}, 'title': {'type': 'string'}, 'author': {'type': 'string'}, 'end_ms': {'type': 'integer'}, 'start_ms': {'type': 'integer'}, 'track_id': {'type': 'string'}, 'excerpt_id': {'type': 'string'}, 'transcript': {'type': 'array', 'items': {'type': 'object', 'properties': {'text': {'type': 'string'}, 'end_ms': {'type': 'integer'}, 'start_ms': {'type': 'integer'}}, 'additionalProperties': True}}}, 'additionalProperties': True}
location_list
List all locations.
읽기 전용 파괴적 작업 외부 접근 가능
입력 스키마
{'type': 'object', 'required': [], 'properties': {'lang': {'type': 'string', 'description': 'Slim name to this locale.'}, 'limit': {'type': 'number', 'description': 'Max items (default 100, max 500).'}, 'cursor': {'type': 'string', 'description': 'Pagination cursor (last id).'}}}
출력 스키마
{'type': 'object', 'required': ['ok', 'kind'], 'properties': {'ok': {'type': 'boolean'}, 'kind': {'type': 'string'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {'type': 'object'}, 'message': {'type': 'string'}}, 'additionalProperties': True}, 'result': {'type': 'object', 'required': ['items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': True}}, 'next_cursor': {'type': ['string', 'null']}}, 'additionalProperties': True}}, 'additionalProperties': False}
location_resolve
Find a location by name (fuzzy).
읽기 전용 파괴적 작업 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['query'], 'properties': {'lang': {'type': 'string', 'description': 'Result language.'}, 'limit': {'type': 'number', 'description': 'Max matches (default 5, max 20).'}, 'query': {'type': 'string', 'description': 'Name fragment.'}}}
출력 스키마
{'type': 'object', 'required': ['ok', 'kind'], 'properties': {'ok': {'type': 'boolean'}, 'kind': {'type': 'string'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {'type': 'object'}, 'message': {'type': 'string'}}, 'additionalProperties': True}, 'result': {'type': 'object', 'required': ['matches'], 'properties': {'matches': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'score': {'type': 'number'}}, 'additionalProperties': True}}}, 'additionalProperties': True}}, 'additionalProperties': False}
media_render
Show/play an existing corpus VIDEO clip inline. Call this when the user wants to WATCH a clip found via search(types:["media"]) — pass the hit's media_id. Renders an inline video player.
읽기 전용 파괴적 작업 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "Media clip item_id (from a search media hit's media_id)."}, 'lang': {'type': 'string', 'description': 'Transcript language (ISO-639-1).'}}}
출력 스키마
{'type': 'object', 'required': ['id', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}, 'poster': {'type': 'string'}}, 'additionalProperties': True}
search
Semantic + lexical search over the corpus. Returns verses, documents, track passages and titles matching a natural-language query, each with the id needed to fetch the full record (verse_id→verse_get, document_id→document_get, track_id+start_ms/end_ms→transcript_window; media_id→media_render to play the clip). Every filter is optional. Use min_score to drop weak matches.
읽기 전용 파괴적 작업 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['query'], 'properties': {'kind': {'type': 'string', 'description': 'Document (commentary|prose_chapter|letter) or track (lecture|conversation) subtype.'}, 'lang': {'type': 'string', 'description': 'Result language (ISO-639-1).'}, 'limit': {'type': 'number', 'description': 'Max results (default 10, max 50).'}, 'query': {'type': 'string', 'description': 'Natural-language query.'}, 'types': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Subset of verse|document|track|title|media (default all). A `media` hit is a short video clip playable via media_render.'}, 'source': {'type': 'string', 'description': 'Restrict to a book ("BG" / source_id).'}, 'tokens': {'type': 'string', 'description': 'With source, restrict to a reference. A bare chapter number covers the WHOLE chapter ("7" = all of BG ch 7; "5.5" = SB canto 5 ch 5); add the verse for one verse ("7.1"). For tracks it means tracks citing that chapter/verse.'}, 'date_to': {'type': 'string', 'description': 'Track date upper bound YYYY-MM-DD.'}, 'author_id': {'type': 'string', 'description': 'Commentator (document) / speaker (track).'}, 'date_from': {'type': 'string', 'description': 'Track date lower bound YYYY-MM-DD.'}, 'min_score': {'type': 'number', 'description': 'Drop hits scoring below this cosine floor (0..1, default 0 = no floor).'}, 'location_id': {'type': 'string', 'description': 'Track location.'}}}
출력 스키마
{'type': 'object', 'required': ['ok', 'kind'], 'properties': {'ok': {'type': 'boolean'}, 'kind': {'type': 'string'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {'type': 'object'}, 'message': {'type': 'string'}}, 'additionalProperties': True}, 'result': {'type': 'object', 'required': ['count', 'hits'], 'properties': {'hits': {'type': 'array', 'items': {'type': 'object', 'required': ['type'], 'properties': {'ref': {'type': 'string'}, 'url': {'type': 'string'}, 'kind': {'type': 'string'}, 'lang': {'type': 'string'}, 'type': {'type': 'string'}, 'score': {'type': 'number'}, 'track': {'type': 'object', 'properties': {}, 'additionalProperties': True}, 'author': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': True}, 'end_ms': {'type': 'integer'}, 'source': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'code': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': True}, 'tokens': {'type': 'string'}, 'snippet': {'type': 'string'}, 'media_id': {'type': 'string'}, 'start_ms': {'type': 'integer'}, 'track_id': {'type': 'string'}, 'verse_id': {'type': 'string'}, 'document_id': {'type': 'string'}}, 'additionalProperties': True}}, 'count': {'type': 'integer'}}, 'additionalProperties': True}}, 'additionalProperties': False}
source_get
Get one book by id or code ("source_…" or "BG"/"БГ").
읽기 전용 파괴적 작업 외부 접근 가능
입력 스키마
{'type': 'object', 'required': [], 'properties': {'id': {'type': 'string', 'description': 'source_id.'}, 'code': {'type': 'string', 'description': 'Book code, e.g. "BG" / "БГ".'}, 'lang': {'type': 'string', 'description': 'Slim code/name to this locale.'}}}
출력 스키마
{'type': 'object', 'required': ['ok', 'kind'], 'properties': {'ok': {'type': 'boolean'}, 'kind': {'type': 'string'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {'type': 'object'}, 'message': {'type': 'string'}}, 'additionalProperties': True}, 'result': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'code': {'type': 'string'}, 'name': {'type': 'string'}, 'verse_count': {'type': 'integer'}, 'token_scheme': {'type': 'string'}, 'has_commentary': {'type': 'boolean'}}, 'additionalProperties': True}}, 'additionalProperties': False}
source_list
List all books (Caitanya-caritāmṛta is three sources).
읽기 전용 파괴적 작업 외부 접근 가능
입력 스키마
{'type': 'object', 'required': [], 'properties': {'lang': {'type': 'string', 'description': 'Slim code/name to this locale.'}, 'limit': {'type': 'number', 'description': 'Max items (default 100, max 500).'}, 'cursor': {'type': 'string', 'description': 'Pagination cursor (last source id).'}}}
출력 스키마
{'type': 'object', 'required': ['ok', 'kind'], 'properties': {'ok': {'type': 'boolean'}, 'kind': {'type': 'string'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {'type': 'object'}, 'message': {'type': 'string'}}, 'additionalProperties': True}, 'result': {'type': 'object', 'required': ['items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'code': {'type': 'string'}, 'name': {'type': 'string'}, 'verse_count': {'type': 'integer'}, 'token_scheme': {'type': 'string'}, 'has_commentary': {'type': 'boolean'}}, 'additionalProperties': True}}, 'next_cursor': {'type': ['string', 'null']}}, 'additionalProperties': True}}, 'additionalProperties': False}
source_resolve
Find a book by name (fuzzy): "gita", "бхагаватам", "CC Madhya".
읽기 전용 파괴적 작업 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['query'], 'properties': {'lang': {'type': 'string', 'description': 'Result language.'}, 'limit': {'type': 'number', 'description': 'Max matches (default 5, max 20).'}, 'query': {'type': 'string', 'description': 'Book name or code fragment.'}}}
출력 스키마
{'type': 'object', 'required': ['ok', 'kind'], 'properties': {'ok': {'type': 'boolean'}, 'kind': {'type': 'string'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {'type': 'object'}, 'message': {'type': 'string'}}, 'additionalProperties': True}, 'result': {'type': 'object', 'required': ['matches'], 'properties': {'matches': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'code': {'type': 'string'}, 'name': {'type': 'string'}, 'score': {'type': 'number'}}, 'additionalProperties': True}}}, 'additionalProperties': True}}, 'additionalProperties': False}
track_get
Get a track (lecture/conversation): metadata, cited references, transcript/pdf availability.
읽기 전용 파괴적 작업 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['track_id'], 'properties': {'lang': {'type': 'string', 'description': 'Metadata language.'}, 'track_id': {'type': 'string', 'description': 'track_id.'}}}
출력 스키마
{'type': 'object', 'required': ['ok', 'kind'], 'properties': {'ok': {'type': 'boolean'}, 'kind': {'type': 'string'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {'type': 'object'}, 'message': {'type': 'string'}}, 'additionalProperties': True}, 'result': {'type': 'object', 'properties': {'has_pdf': {'type': 'boolean'}, 'track_id': {'type': 'string'}, 'references': {'type': 'array', 'items': {'type': 'object', 'properties': {}, 'additionalProperties': True}}, 'has_transcript': {'type': 'boolean'}}, 'additionalProperties': True}}, 'additionalProperties': False}
track_list
List tracks, filterable by reference (source[+tokens] = tracks citing it), author/location/kind/date/lang. No filter ⇒ recent tracks (date desc).
읽기 전용 파괴적 작업 외부 접근 가능
입력 스키마
{'type': 'object', 'required': [], 'properties': {'kind': {'type': 'string', 'description': 'lecture|conversation.'}, 'lang': {'type': 'string', 'description': 'Has a transcript in this language.'}, 'limit': {'type': 'number', 'description': 'Max items (default 50, max 200).'}, 'cursor': {'type': 'string', 'description': 'Pagination cursor.'}, 'source': {'type': 'string', 'description': 'Book code / source_id — tracks citing this book.'}, 'tokens': {'type': 'string', 'description': 'With source, filter to tracks citing this reference. A bare chapter number covers the WHOLE chapter ("7" = any BG 7.x lecture); add the verse for one verse ("7.1").'}, 'date_to': {'type': 'string', 'description': 'YYYY-MM-DD.'}, 'author_id': {'type': 'string', 'description': 'Speaker.'}, 'date_from': {'type': 'string', 'description': 'YYYY-MM-DD.'}, 'location_id': {'type': 'string', 'description': 'Location.'}}}
출력 스키마
{'type': 'object', 'required': ['ok', 'kind'], 'properties': {'ok': {'type': 'boolean'}, 'kind': {'type': 'string'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {'type': 'object'}, 'message': {'type': 'string'}}, 'additionalProperties': True}, 'result': {'type': 'object', 'required': ['items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'has_pdf': {'type': 'boolean'}, 'track_id': {'type': 'string'}, 'references': {'type': 'array', 'items': {'type': 'object', 'properties': {}, 'additionalProperties': True}}, 'has_transcript': {'type': 'boolean'}}, 'additionalProperties': True}}, 'next_cursor': {'type': ['string', 'null']}}, 'additionalProperties': True}}, 'additionalProperties': False}
transcript_window
Read a track's transcript around a time window (from a search track hit or track_list). Widen with pad_ms.
읽기 전용 파괴적 작업 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['track_id', 'start_ms', 'end_ms'], 'properties': {'lang': {'type': 'string', 'description': 'Transcript language.'}, 'limit': {'type': 'number', 'description': 'Max chunks (default 10, max 50).'}, 'end_ms': {'type': 'number', 'description': 'Window end (ms), >= start_ms.'}, 'pad_ms': {'type': 'number', 'description': 'Extra ms each side (default 0).'}, 'start_ms': {'type': 'number', 'description': 'Window start (ms).'}, 'track_id': {'type': 'string', 'description': 'track_id.'}}}
출력 스키마
{'type': 'object', 'required': ['ok', 'kind'], 'properties': {'ok': {'type': 'boolean'}, 'kind': {'type': 'string'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {'type': 'object'}, 'message': {'type': 'string'}}, 'additionalProperties': True}, 'result': {'type': 'object', 'required': ['count', 'chunks'], 'properties': {'count': {'type': 'integer'}, 'chunks': {'type': 'array', 'items': {'type': 'object', 'required': ['text'], 'properties': {'lang': {'type': 'string'}, 'text': {'type': 'string'}, 'end_ms': {'type': 'integer'}, 'start_ms': {'type': 'integer'}}, 'additionalProperties': True}}}, 'additionalProperties': True}}, 'additionalProperties': False}
verse_get
Fetch a verse's raw fields for your own reasoning (NOT for display — to show a verse to the user, use verse_render). Returns original script + transliteration as line arrays; with lang, also the canonical translation inline plus an `alternatives` manifest of other translation kinds in that language (fetch their text with verse_translation, word-by-word with verse_synonyms). Address by ref ("BG 2.13"), source+tokens, or verse id.
읽기 전용 파괴적 작업 외부 접근 가능
입력 스키마
{'type': 'object', 'required': [], 'properties': {'id': {'type': 'string', 'description': 'verse_id.'}, 'ref': {'type': 'string', 'description': 'Reference string, e.g. "BG 2.13".'}, 'lang': {'type': 'string', 'description': 'Answer language. Set it to get the canonical translation + alternatives manifest.'}, 'source': {'type': 'string', 'description': 'Book code / source_id (with tokens).'}, 'tokens': {'type': 'string', 'description': 'Position within the book (with source).'}}}
출력 스키마
{'type': 'object', 'required': ['ok', 'kind'], 'properties': {'ok': {'type': 'boolean'}, 'kind': {'type': 'string'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {'type': 'object'}, 'message': {'type': 'string'}}, 'additionalProperties': True}, 'result': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'ref': {'type': 'string'}, 'kind': {'type': 'string'}, 'author': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': True}, 'covers': {'type': 'string'}, 'source': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'code': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': True}, 'tokens': {'type': 'string'}, 'original': {'type': 'array', 'items': {'type': 'string'}}, 'translation': {'type': 'string'}, 'alternatives': {'type': 'array', 'items': {'type': 'object', 'required': ['kind'], 'properties': {'kind': {'type': 'string'}, 'note': {'type': 'string'}, 'author': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': True}}, 'additionalProperties': True}}, 'transliteration': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': True}}, 'additionalProperties': False}
verse_list
List the verses of a book / chapter. Skips .0 chapter summaries; collapses merged verses into one item with a covers span.
읽기 전용 파괴적 작업 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['source'], 'properties': {'lang': {'type': 'string', 'description': 'Preview language.'}, 'limit': {'type': 'number', 'description': 'Max items (default 100, max 500).'}, 'cursor': {'type': 'string', 'description': 'Pagination cursor (last tokens).'}, 'source': {'type': 'string', 'description': 'Book code / source_id.'}, 'tokens': {'type': 'string', 'description': 'Chapter/canto prefix, e.g. "2" or "5.5".'}}}
출력 스키마
{'type': 'object', 'required': ['ok', 'kind'], 'properties': {'ok': {'type': 'boolean'}, 'kind': {'type': 'string'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {'type': 'object'}, 'message': {'type': 'string'}}, 'additionalProperties': True}, 'result': {'type': 'object', 'required': ['items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'ref': {'type': 'string'}, 'covers': {'type': 'string'}, 'source': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'code': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': True}, 'tokens': {'type': 'string'}, 'translation_preview': {'type': 'string'}}, 'additionalProperties': True}}, 'next_cursor': {'type': ['string', 'null']}}, 'additionalProperties': True}}, 'additionalProperties': False}
verse_render
Show a verse to the user. THE DEFAULT way to display/read a scripture verse: renders an inline card with the original script (centered), transliteration in the requested language, the word-by-word, and the translation — all at once. Use this whenever the user asks to see, read, open, or quote a specific verse ("покажи БГ 2.13", "read Bhagavad-gita 2.13"). The other verse_* tools are for fetching raw data; for DISPLAY prefer this one. Address by ref ("BG 2.13"), source+tokens, or id; lang sets the script + translation language.
읽기 전용 파괴적 작업 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['lang'], 'properties': {'id': {'type': 'string', 'description': 'verse_id.'}, 'ref': {'type': 'string', 'description': 'Reference string, e.g. "BG 2.13".'}, 'kind': {'type': 'string', 'description': 'Translation kind; default "canonical".'}, 'lang': {'type': 'string', 'description': 'Display language, e.g. "en", "ru".'}, 'source': {'type': 'string', 'description': 'Book code / source_id (with tokens).'}, 'tokens': {'type': 'string', 'description': 'Position within the book (with source).'}}}
출력 스키마
{'type': 'object', 'properties': {'id': {'type': 'string'}, 'ref': {'type': 'string'}, 'kind': {'type': 'string'}, 'lang': {'type': 'string'}, 'source': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'code': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': True}, 'tokens': {'type': 'string'}, 'original': {'type': 'array', 'items': {'type': 'string'}}, 'synonyms': {'type': 'array', 'items': {'type': 'object', 'required': ['word', 'meaning'], 'properties': {'word': {'type': 'string'}, 'meaning': {'type': 'string'}}, 'additionalProperties': True}}, 'translation': {'type': 'string'}, 'transliteration': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': True}
verse_synonyms
Fetch the word-by-word ("Synonyms") as a raw {word, meaning} array for one verse translation (data — verse_render already shows the word-by-word inside the card). Defaults to the canonical rendering; pass `kind` for an alternative.
읽기 전용 파괴적 작업 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['lang'], 'properties': {'id': {'type': 'string', 'description': 'verse_id.'}, 'ref': {'type': 'string', 'description': 'Reference string, e.g. "BG 2.13".'}, 'kind': {'type': 'string', 'description': 'Translation kind; default "canonical".'}, 'lang': {'type': 'string', 'description': 'Language of the glosses, e.g. "en", "ru".'}, 'source': {'type': 'string', 'description': 'Book code / source_id (with tokens).'}, 'tokens': {'type': 'string', 'description': 'Position within the book (with source).'}}}
출력 스키마
{'type': 'object', 'required': ['ok', 'kind'], 'properties': {'ok': {'type': 'boolean'}, 'kind': {'type': 'string'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {'type': 'object'}, 'message': {'type': 'string'}}, 'additionalProperties': True}, 'result': {'type': 'object', 'required': ['synonyms'], 'properties': {'id': {'type': 'string'}, 'ref': {'type': 'string'}, 'kind': {'type': 'string'}, 'lang': {'type': 'string'}, 'synonyms': {'type': 'array', 'items': {'type': 'object', 'required': ['word', 'meaning'], 'properties': {'word': {'type': 'string'}, 'meaning': {'type': 'string'}}, 'additionalProperties': True}}}, 'additionalProperties': True}}, 'additionalProperties': False}
verse_translation
Fetch the text of ONE translation of a verse (data, not a card — to display a verse use verse_render). Defaults to the canonical (kind=canonical); pass a `kind` from verse_get's `alternatives` manifest to fetch a specific rendering.
읽기 전용 파괴적 작업 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['lang'], 'properties': {'id': {'type': 'string', 'description': 'verse_id.'}, 'ref': {'type': 'string', 'description': 'Reference string, e.g. "BG 2.13".'}, 'kind': {'type': 'string', 'description': 'Translation kind; default "canonical".'}, 'lang': {'type': 'string', 'description': 'Translation language, e.g. "en", "ru".'}, 'source': {'type': 'string', 'description': 'Book code / source_id (with tokens).'}, 'tokens': {'type': 'string', 'description': 'Position within the book (with source).'}}}
출력 스키마
{'type': 'object', 'required': ['ok', 'kind'], 'properties': {'ok': {'type': 'boolean'}, 'kind': {'type': 'string'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {'type': 'object'}, 'message': {'type': 'string'}}, 'additionalProperties': True}, 'result': {'type': 'object', 'required': ['translation'], 'properties': {'id': {'type': 'string'}, 'ref': {'type': 'string'}, 'kind': {'type': 'string'}, 'lang': {'type': 'string'}, 'note': {'type': 'string'}, 'author': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': True}, 'translation': {'type': 'string'}}, 'additionalProperties': True}}, 'additionalProperties': False}
추가됨
verse_translation
2026년 9월 17일 7:57 AM
추가됨
verse_synonyms
2026년 9월 17일 7:57 AM
추가됨
verse_render
2026년 9월 17일 7:57 AM
추가됨
verse_list
2026년 9월 17일 7:57 AM
추가됨
verse_get
2026년 9월 17일 7:57 AM
추가됨
transcript_window
2026년 9월 17일 7:57 AM
추가됨
track_list
2026년 9월 17일 7:57 AM
추가됨
track_get
2026년 9월 17일 7:57 AM
추가됨
source_resolve
2026년 9월 17일 7:57 AM
추가됨
source_list
2026년 9월 17일 7:57 AM
추가됨
source_get
2026년 9월 17일 7:57 AM
추가됨
search
2026년 9월 17일 7:57 AM
추가됨
media_render
2026년 9월 17일 7:57 AM
추가됨
location_resolve
2026년 9월 17일 7:57 AM
추가됨
location_list
2026년 9월 17일 7:57 AM
추가됨
excerpt_render
2026년 9월 17일 7:57 AM
추가됨
excerpt_prepare
2026년 9월 17일 7:57 AM
추가됨
document_list
2026년 9월 17일 7:57 AM
추가됨
document_get
2026년 9월 17일 7:57 AM
추가됨
author_resolve
2026년 9월 17일 7:57 AM
추가됨
author_list
2026년 9월 17일 7:57 AM