{"server":{"name":"com.vedaword/library","icons":[{"src":"https://vedaword.com/icon.svg","sizes":["any"],"mimeType":"image/svg+xml"},{"src":"https://vedaword.com/icon.png","sizes":["512x512"],"mimeType":"image/png"}],"title":"Vedaword","$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","remotes":[{"url":"https://mcp.vedaword.com","type":"streamable-http"}],"version":"1.0.1","websiteUrl":"https://vedaword.com/en/mcp","description":"Sanskrit scripture search: Mahabharata, Upanishads, Gita; cited verses, honest no-answer."},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","isLatest":true,"updatedAt":"2026-10-14T18:00:08.970069Z","publishedAt":"2026-10-14T18:00:08.970069Z","statusChangedAt":"2026-10-14T18:00:08.970069Z"},"dev.protogrid/connectability":{"class":"R0","autonomous":true,"human_steps":[],"preferred":{"kind":"remote","idx":0},"remotes":[{"idx":0,"url":"https://mcp.vedaword.com","transport":"streamable-http","templated":false,"headers":[],"auth":{"type":"none","location":null,"secret_name":null,"oauth":null},"protocol":{"supported_versions":["2025-11-25"],"stateless":true},"health":{"reachable":true,"uptime_30d":0.94736844,"latency_ms_p50":485,"consecutive_failures":0,"last_probe_at":"2026-10-19T11:43:43.012Z","last_ok_at":"2026-10-19T11:43:43.012Z"}}],"packages":[]},"dev.protogrid/tools":[{"name":"browse_work","title":"Browse a work in order","description":"Walk a work's structure in order: a work gives its sections, a section its chapters, a chapter its verses (label and translation, in pages). Use it when the user wants to read a chapter or a book through, asks what comes after a verse, or what a book contains; search_texts cannot do that.\n\nThree steps, each named in the reply of the one before: `work` alone lists the sections; add `section` for its chapters; add `chapter` (the `index` from the listing) for its verses. Every reply carries `next`, the arguments of the call that continues. To quote a verse, call get_verse with its `unit_id`: it returns the citation and version hash.","annotations":{"readOnlyHint":true,"openWorldHint":false},"source":"probe","observed_at":"2026-10-19T11:43:43.012Z"},{"name":"find_similar_verses","title":"Find parallel passages","description":"Given a verse, find other passages in the library that say something close to it — by meaning, not by shared words. Start here when you already have a verse; when you only have words, a question or a term, use search_texts.\n\nUse it to check whether a teaching appears elsewhere before presenting it as the tradition's position, to gather parallel places, or to see how different works treat one subject. Set `exclude_same_work` when you want an independent witness: the next verse of the same chapter is nearly always similar and proves nothing.\n\nAn empty result is a real answer — it means the library says this in one place only.","annotations":{"readOnlyHint":true,"openWorldHint":false},"source":"probe","observed_at":"2026-10-19T11:43:43.012Z"},{"name":"get_vaishnava_calendar","title":"Vaishnava calendar at a place","description":"Ekadashi fasts, festivals and the appearance and disappearance days of the acharyas in the Gaudiya Vaishnava calendar, computed for one place. Call it for any question about when an Ekadashi or a festival falls, or when to break a fast.\n\nThe place is required and matters: the fast day is decided by the tithi at local sunrise, and the time to break the fast is minutes wide and different in every city. Ask the user where they are rather than guessing. Every observance links to a page with its story and the verses behind it.","annotations":{"readOnlyHint":true,"openWorldHint":false},"source":"probe","observed_at":"2026-10-19T11:43:43.012Z"},{"name":"get_verse","title":"Read one verse in full","description":"Fetch one verse whole: the Sanskrit in Devanāgarī and IAST, the word-by-word breakdown with the meaning each word carries in this passage, the literary translation, the commentary, and optionally the surrounding verses.\n\nCall it after search_texts when you are going to quote, and whenever the user names a verse. The word-by-word table is what lets you explain or re-translate a line honestly instead of trusting a finished translation.\n\nAccepts citations as people write them, not only internal ids.\n\nTo read a chapter or a whole book in order, use browse_work. To read on around one verse, call this again with `context` 5 and then with the `unit_id` of the last neighbour marked \"after\"; each reply carries the five verses on either side with their translations.","annotations":{"readOnlyHint":true,"openWorldHint":false},"source":"probe","observed_at":"2026-10-19T11:43:43.012Z"},{"name":"list_authors","title":"List the authors in the library","description":"List the authors the tradition names, grouped by period, each with a short note and the books credited to them. Call it when the user asks who wrote something, or wants the works of one acharya; pass the author's `id` to list_works to see the books. Filter by `era`: shruti, classical, caitanya, successors, modern.","annotations":{"readOnlyHint":true,"openWorldHint":false},"source":"probe","observed_at":"2026-10-19T11:43:43.012Z"},{"name":"list_works","title":"List the works in the library","description":"List the works with their sizes, shelf, author and available languages. Call it at the start of a conversation about scripture, or when you need work slugs for filtering. The list is short by default: no descriptions.\n\nNarrow it with `category` (a shelf: itihasa, purana, upanishad, vedanta, samhita, shastra, kavya, shruti, smriti; `shruti` is the upanishad shelf, `smriti` the itihasa and purana shelves) or with `author` (an id from list_authors). Set `include_descriptions` for a paragraph on each work.\n\nIt also tells you what is not translated: several works exist only in Russian. Check `languages` before promising the user an English text.","annotations":{"readOnlyHint":true,"openWorldHint":false},"source":"probe","observed_at":"2026-10-19T11:43:43.012Z"},{"name":"lookup_sanskrit_term","title":"Look up a Sanskrit word","description":"Look up a Sanskrit word: its spellings across scripts, the meanings it carries in this corpus, how many verses gloss it, and examples of where it occurs.\n\nBuilt from the word-by-word breakdowns of some 30 000 verses, so these are the meanings translators actually assigned to the word in these texts — not a lexicon's list of everything it could mean. Use it before translating a term yourself, and whenever the user asks what a word means.","annotations":{"readOnlyHint":true,"openWorldHint":false},"source":"probe","observed_at":"2026-10-19T11:43:43.012Z"},{"name":"search_texts","title":"Search the scriptures","description":"Search the Vedaword library of Sanskrit scripture by meaning as well as by wording, so a paraphrased question works and a Sanskrit term reaches passages written in another script. This is the first thing to call for any factual question about what the scriptures say.\n\nStart here when you have words: a question, a phrase, a term. When you already have a verse and want its parallels, use find_similar_verses instead; to read a known verse whole, use get_verse; to read a chapter or a book in order, use browse_work.\n\nReturns passages with an exact citation, a URL and the version hash of the text quoted.\n\nRead `confidence` before using the results. \"none\" means the library has no answer and the result list is empty — report that to the user instead of reaching for something related. \"low\" means the passages are leads, not answers. `matched_by` says how each was found: a passage found only by \"vector\" shares no words with the query.","annotations":{"readOnlyHint":true,"openWorldHint":false},"source":"probe","observed_at":"2026-10-19T11:43:43.012Z"}],"dev.protogrid/trust":{"score":82,"components":{"hygiene":80,"liveness":98,"freshness":100,"provenance":55},"drivers":["+dns-namespace","+website","+reachable","+uptime-95%","+updated-5d-ago","-no-repository"],"flags":["no-repository"],"blocked":false,"computed_at":"2026-10-19T14:14:19.044Z","disclaimer":"Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed."},"dev.protogrid/quality":{"score":81,"label":"new","components":{"auth":null,"hygiene":86,"protocol":75,"stability":null,"dependencies":null},"checks":[{"id":"protocol.modern","detail":"newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28","status":"warn","category":"protocol"},{"id":"protocol.stateless","detail":"only applies to 2026-07-28 servers","status":"na","category":"protocol"},{"id":"protocol.transport","detail":"streamable HTTP","status":"pass","category":"protocol"},{"id":"protocol.list_ttl","detail":"only applies to 2026-07-28 servers","status":"na","category":"protocol"},{"id":"auth.prm","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.as_metadata","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.cimd","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.secret_in_url","detail":"no templated URL","status":"na","category":"auth"},{"id":"tools.descriptions","detail":"every tool has a description","status":"pass","category":"hygiene"},{"id":"tools.description_length","detail":"descriptions are concise","status":"pass","category":"hygiene"},{"id":"tools.schemas","detail":"every tool has an object input schema","status":"pass","category":"hygiene"},{"id":"tools.annotations","detail":"8 of 8 tools declare readOnlyHint or destructiveHint","status":"pass","category":"hygiene"},{"id":"tools.directory_hints","detail":"no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: search_texts (destructiveHint, idempotentHint); list_authors (destructiveHint, idempotentHint); browse_work (destructiveHint, idempotentHint); …","status":"fail","category":"hygiene"},{"id":"tools.token_cost","detail":"about 3,108 tokens to load every tool","status":"pass","category":"hygiene"},{"id":"tools.api_dump","detail":"tools are not a one-to-one API dump","status":"pass","category":"hygiene"},{"id":"stability.changes","detail":"tool history recorded for 4 of the 7 days needed","status":"na","category":"stability"},{"id":"stability.rug_pull","detail":"tool history recorded for 4 of the 7 days needed","status":"na","category":"stability"},{"id":"deps.known_vulns","detail":"no npm or PyPI package","status":"na","category":"dependencies"},{"id":"deps.mcp_sdk_version","detail":"no npm or PyPI package","status":"na","category":"dependencies"},{"id":"deps.resolvable","detail":"no npm or PyPI package","status":"na","category":"dependencies"}],"drivers":["-tools.directory_hints","~protocol.modern"],"flags":[],"tool_count":8,"token_estimate":3108,"tools_hash":"4530c11754f9e94adf1e453b13c659cd","tools_changed_at":"2026-10-16T17:07:10.049Z","computed_at":"2026-10-19T14:10:15.286Z","disclaimer":"Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed."},"dev.protogrid/identity":{"canonical_id":"com.vedaword/library","aliases":[],"alias_count":0,"repository_key":null,"owner":{"verified":false,"method":null,"since":null}}},"next_actions":[{"action":"list_tools","description":"Every current tool with input schemas","href":"/v1/servers/com.vedaword%2Flibrary/tools","arguments":{"name":"com.vedaword/library"}},{"action":"get_connection","description":"Minimal connection block for the preferred remote or package","href":"/v1/servers/com.vedaword%2Flibrary/connection?target=mcpServers","arguments":{"name":"com.vedaword/library","target":"mcpServers"}},{"action":"search","description":"Find other servers by intent","href":"/v1/search?q={query}","arguments":{"q":"{query}"}}]}