Vedaword MCP — a public MCP server that won't make up scripture
A public MCP server over the Vedaword library — about 110,000 Sanskrit verses with translations and commentaries. Any AI assistant can search it and quote real verses with a citation and a link. Its main rule: when the library has no good answer, it says so, instead of handing the model a weak match to build on.
- Role
- Solo — design, implementation, tests
- Stack
- TypeScript · Next.js · MCP (Streamable HTTP) · PostgreSQL · pgvector · hybrid search
- Period
- 2026

The problem
Ask an AI assistant what an old text says, and it will happily answer — often with a verse that sounds right but doesn't exist, or a real verse with the wrong number. For scripture that is the worst possible mistake: people quote it, teach from it, and trust it.
The fix is not a better prompt. The assistant needs a way to look the text up, and it needs to be told plainly when there is nothing to find.
What I built
An MCP server for Vedaword, a library of Sanskrit scripture: the
Mahābhārata, the Rāmāyaṇa, all 108 Upaniṣads, the Bhagavad-gītā, the Vedānta-sūtra with its
commentary and more — about 110,000 verses. Any assistant that speaks MCP (Claude, ChatGPT,
Cursor…) can connect to https://mcp.vedaword.com and use a few focused tools:
- search_texts — find passages by meaning and by wording at the same time, so a paraphrased question works as well as an exact phrase.
- get_verse — one verse in full: Sanskrit, word-by-word meaning, translation, commentary.
- lookup_sanskrit_term — what a Sanskrit word means and where it appears.
- find_similar_verses — other places that say the same thing.
- list_works — what is in the library and in which languages.
The rules that matter
- Honest "no answer". Every search returns a confidence level. When it is
none, the server returns nothing to quote, and the tool description tells the model to say so — instead of building an argument on a weak match. - Checkable quotes. Every result carries the exact citation, a link to the verse on the site, and a version hash of the text, so a quote can be checked later.
- Say which language you got. Some works exist only in Russian. The server says what language each passage is in, so the assistant knows when it is translating and doesn't pretend to quote.
- Few tools, clear names. Five tools with no overlap, because more tools with similar descriptions make a model pick the wrong one.
How it's built
The server is a route in the same Next.js app as the site, speaking Streamable HTTP. Search is hybrid: full-text search and vector search (PostgreSQL with pgvector) run together and their results are merged and ranked. It is public and read-only, so it needs no login. Every change is checked against real questions with known right answers before it ships.
Why it exists
It is the cleanest proof of what I sell: an MCP server that turns a real body of knowledge into tools any AI assistant can use — and that is designed around the one failure that matters most for its data.