Scroll the Gurbani
Server Details
Gurbani a few lines a day in Gurmukhi with English, any Ang or shabad, and whole banis.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- GoodTurnStudio/goodturn-mcp
- GitHub Stars
- 0
- Server Listing
- goodturn-mcp
TDQS
Scored across 9 tools
get_card, get_today, and get_reading all retrieve reading content line by line, with get_card and get_today describing nearly the same today's-reading behavior. An agent could easily misselect among them, and the repeated generic description does little to clarify the boundaries.
All tool names follow a consistent snake_case verb_noun pattern: get_ang, get_card, get_reading, get_shabad, get_today, list_books, list_readings, read_book, search_readings. The convention is predictable throughout.
Nine tools is well-scoped for a Gurbani reading and lookup server. The set covers multiple content types without being excessively large or thin.
Core reading workflows are covered: Ang lookup, shabad lookup, daily reading, plans/readings, books, and passage reading. A general search across Gurbani or shabads is missing, since search_readings only targets curated readings.
Available Tools
9 toolsget_angEvery line on an Ang in Gurmukhi with transliteration and EnglishCRead-onlyIdempotentInspect
Every line on an Ang in Gurmukhi with transliteration and English. Gurbani: daily shabad, plans, search, Ang and shabad lookup; whole books from the Library, read a passage at a time
| Name | Required | Description | Default |
|---|---|---|---|
| ang | Yes | The Ang (page) of Sri Guru Granth Sahib, 1 to 1430. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety and determinism profile is fully covered without the description. The description's only added behavior detail is the return content (Gurmukhi + transliteration + English), with no mention of output size, pagination, or handling of out-of-range Ang values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The output format is front-loaded, but the second sentence is a boilerplate catalogue of unrelated app capabilities that earns no place in a single-parameter page-fetch tool. Half the description is effectively off-topic padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only tool with no output schema, the definition is minimally viable: it conveys that a full page of lines is returned with three text forms. It omits anything about response size or ordering, but with the schema and annotations covering the rest, the gap is modest.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'ang' parameter is documented with its 1–1430 range and meaning (page of Sri Guru Granth Sahib) directly in the schema. The description adds no syntax, unit, or edge-case detail beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states the resource and content ('every line on an Ang ... Gurmukhi with transliteration and English'), but it is a verbatim restatement of the title rather than a specific verb+resource statement. The second sentence is an app-level feature list ('daily shabad, plans, search, Ang and shabad lookup; whole books') that describes the whole Gurbani suite, not this tool, so it dilutes rather than sharpens the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus siblings such as get_shabad, get_reading, or read_book. The phrase 'Ang and shabad lookup' gestures at a lookup family but does not say which lookup applies when, leaving the agent to infer selection from names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cardToday's reading one line at a time, for voiceCRead-onlyIdempotentInspect
Today's reading one line at a time, for voice.. Gurbani: daily shabad, plans, search, Ang and shabad lookup; whole books from the Library, read a passage at a time
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | Which card, starting at 1. Defaults to 1. | |
| date | No | Optional day as YYYY-MM-DD. Defaults to today (UTC). | |
| reading | No | A reading or plan id from /readings. Defaults to today's reading. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds nothing behavioral beyond that: it does not say what a 'card' contains, whether n indexes lines or cards, or how much output is returned per call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence repeats the tool title verbatim (even duplicating the trailing period), and the second sentence describes the whole Gurbani product surface rather than this tool. Space is spent on redundancy and off-topic content instead of front-loading useful specifics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a non-obvious return shape ('one line at a time'), the description should explain what is returned and how many lines/cards a call yields, but it does not. The core concept of a 'card' is left undefined, which is a meaningful gap for an agent trying to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so n, date, and reading are already documented in the schema, which sets the baseline of 3. The description adds no extra meaning about parameter interaction (e.g. how n relates to reading/date) beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title/description states a reasonably specific idea (today's reading, one line at a time, for voice), which implies a verb (fetch) and resource (a line/card of a reading). However, it never clarifies what a 'card' is relative to siblings like get_reading or get_today, so an agent cannot reliably distinguish it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no when-not-to-use guidance, and no mention of the sibling tools (get_reading, get_today, get_ang, get_shabad). The second sentence is a catalog-level blurb about the Gurbani domain rather than routing guidance for this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_readingOne reading or plan, line by lineCRead-onlyIdempotentInspect
One reading or plan, line by line. Gurbani: daily shabad, plans, search, Ang and shabad lookup; whole books from the Library, read a passage at a time
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | A reading or plan id from /readings, or a plan name such as "japji" or "The Gita in 18 Days". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, covering the safety profile. The description adds a small amount of behavioral context by indicating output is returned 'line by line' and that one may 'read a passage at a time,' but it does not explain pagination, response shape, or any auth/rate-limit constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but the second sentence is a poorly structured run-on list that mixes content types and siblings without clearly tying them to this tool. It fails to earn its place by adding confusion rather than useful front-loaded guidance after the title-like opening.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter getter with full schema coverage and comprehensive read-only annotations, the description supplies the bare minimum: it says one reading or plan is returned line by line. However, without an output schema, it should do more to clarify what a reading/plan is and what the return looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage and fully documents the single 'id' parameter, including that it can be a reading/plan ID or a plan name like 'japji'. The description adds no further parameter semantics, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence is a verbatim restatement of the title and does not add a clear verb or scope beyond the name 'get_reading'. The second sentence lists many content types (daily shabad, plans, search, Ang, shabad lookup, whole books) that mostly belong to sibling tools, making the actual purpose ambiguous rather than sharpening it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is provided. The description never names alternatives such as get_shabad, get_ang, read_book, or list_readings, so an agent must infer routing from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_shabadA whole shabad by BaniDB id, with transliteration and EnglishBRead-onlyIdempotentInspect
A whole shabad by BaniDB id, with transliteration and English. Gurbani: daily shabad, plans, search, Ang and shabad lookup; whole books from the Library, read a passage at a time
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | A BaniDB shabad ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed-world scope, so the safety profile is fully covered without the description. The description adds only that the result includes transliteration and English, which is useful return context but no extra behavioral detail such as invalid-id handling. With annotations carrying the load, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first sentence, which is good. The second sentence is a loose catalogue of unrelated Gurbani features that does not clearly attach to this tool, adding length without routing value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must carry return-value information, and it does minimally state that transliteration and English are included. It says nothing about the shape of the result (verses/lines) or behavior on an unknown id, which leaves gaps for a fetch-by-id tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage ('A BaniDB shabad ID'), so the schema already documents it fully. The description reinforces 'by BaniDB id' but adds no format, range, or validity information beyond that. Baseline 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific verb-less but unambiguous action: retrieve a whole shabad identified by BaniDB id, with transliteration and English. That distinguishes it reasonably from get_ang (whole Ang) and search_readings. It stops short of explicitly naming siblings, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence is a domain catalogue ('daily shabad, plans, search, Ang and shabad lookup; whole books from the Library') rather than guidance for this tool. It never says when to call get_shabad instead of get_ang, get_reading, or get_today, leaving the agent to infer selection from sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_todayToday's reading, line by line (same as the app shows today)CRead-onlyIdempotentInspect
Today's reading, line by line (same as the app shows today). Gurbani: daily shabad, plans, search, Ang and shabad lookup; whole books from the Library, read a passage at a time
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Optional day as YYYY-MM-DD. Defaults to today (UTC). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior, so the safety profile is covered. The description adds only "same as the app shows today," which is vague and does not disclose what content is returned or how the default date is resolved beyond what the schema says.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The trailing catalog of Gurbani features (“daily shabad, plans, search, Ang and shabad lookup; whole books from the Library”) describes other tools and consumes most of the text without earning its place. The actual scope, today's reading, is buried in a four-word fragment.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations and a fully described schema, this is a simple read tool, but the description still leaves the core question unanswered: what is a "reading" and how does it relate to get_reading/list_readings. The appended feature list adds noise rather than completing the picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single optional date parameter is fully documented in the schema, so baseline is 3. The description adds no extra semantics about the date format or default behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence gives a resource ("Today's reading, line by line") but no verb beyond an implicit fetch, and "reading" is undefined while siblings get_reading and list_readings exist. The second sentence is a generic catalog of unrelated app features (search, Ang, shabad, books) that does not describe this tool at all, actively muddying what it returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given, and the nearest sibling, get_reading, is neither named nor contrasted. Nothing tells the agent whether to call get_today with an explicit date versus using get_reading.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_booksThe whole books in the Library that can be read a passage at a timeCRead-onlyIdempotentInspect
The whole books in the Library that can be read a passage at a time. Gurbani: daily shabad, plans, search, Ang and shabad lookup; whole books from the Library, read a passage at a time
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, fully covering the safety profile. The description adds no behavioral context beyond this (no ordering, pagination, or scope disclosure), so it provides no value on top of the structured data, though it does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence duplicates the title verbatim, and the second clause piles in unrelated Gurbani feature keywords that do not describe this tool. Content is not front-loaded with useful information over noise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless read-only list tool this could be complete with a short, accurate statement, but the text conflates multiple sibling tools' features and never explains what a 'book' is or how results relate to read_book/list_readings. The agent is left with ambiguity about the tool's actual output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to document; the schema is 100% covered and empty. Baseline for a parameterless tool is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description largely restates the title ('The whole books in the Library that can be read a passage at a time'), so it reads as a tautology. The appended 'Gurbani: daily shabad, plans, search, Ang and shabad lookup' describes features belonging to sibling tools (get_shabad, get_ang, search_readings), muddying rather than clarifying this tool's purpose of listing books.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no disambiguation from siblings like list_readings or read_book. An agent cannot infer from the text whether to call this or list_readings for a given request.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_readingsAll curated daily readings and plansCRead-onlyIdempotentInspect
All curated daily readings and plans. Gurbani: daily shabad, plans, search, Ang and shabad lookup; whole books from the Library, read a passage at a time
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds nothing beyond that — no return shape, no pagination or size behavior — and 'read a passage at a time' appears to describe read_book rather than this listing tool, which muddies rather than clarifies behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is short and front-loaded, but the second is a semicolon-driven run-on that lumps unrelated sibling capabilities together. It is not wasteful in length so much as diffuse in structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no input parameters, no output schema, and rich annotations, the description only needs to say what comes back. It gestures at 'curated daily readings and plans' but never describes the returned list (fields, ordering, size), and the sibling enumeration adds ambiguity for a simple zero-argument listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the scoring baseline this dimension is a 4. The description introduces no parameter concepts that could conflict, and none are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence ('All curated daily readings and plans') conveys a listing of curated content, which is roughly right. But no verb of action is stated and the second sentence mostly enumerates other tools' domains (search, Ang/shabad lookup, whole books), so an agent can't cleanly tell what this specific tool returns versus its siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no stated condition for when to call this versus get_reading, search_readings, get_today, or list_books. The second sentence alludes to other capabilities ('search', 'Ang and shabad lookup') without saying which tool owns them or when this one is the right entry point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_bookFollow next for the next passage; it carries on into the next chapterCRead-onlyIdempotentInspect
Follow next for the next passage; it carries on into the next chapter. Gurbani: daily shabad, plans, search, Ang and shabad lookup; whole books from the Library, read a passage at a time
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | Passage within the section, starting at 1. | |
| ref | No | Optional: jump straight to a passage by its reference, for example "Havamal 139", "Meditations 4.3", "Gita 2.47", "Iliad 1.5" or "10b". Overrides section and n. | |
| book | Yes | Book id or title from /books, for example japji, sukhmani. | |
| section | No | Chapter, book, poem, letter or daf to start at, as listed in the book (for example 5, "chapter 2", "havamal", or 10b for the second side of a daf). Defaults to the beginning; Bekhorot defaults to today's Daf Yomi page while the cycle is in it. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so safety is covered. The description's 'follow next ... it carries on into the next chapter' hints that the response exposes a continuation pointer across chapter boundaries, which is genuine behavioral context not in the annotations, though it is stated obliquely and never explains what a returned passage contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, but the second is a semicolon-laden feature dump spanning unrelated tool domains, and the actual 'read a passage at a time' purpose arrives last instead of being front-loaded. The title sentence duplicates the first sentence of the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must explain the return value, yet it only alludes to a 'next' pointer and never says what a passage looks like, how the sequence terminates, or how ref/section/n interact at return time. It also fails to clarify boundaries against the many sibling reading tools, leaving selection ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so book, section, n, and ref are each fully documented in the schema (including the ref examples and the Bekhorot/Daf Yomi default). The description adds nothing to parameter meaning, so the baseline 3 is warranted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence, 'Follow next for the next passage; it carries on into the next chapter,' describes a navigation/pagination behavior rather than the tool's action, and the second sentence lumps in sibling domains (daily shabad, plans, search, Ang and shabad lookup) plus the actual purpose ('read a passage at a time'). An agent cannot cleanly tell whether read_book reads a book passage or wraps get_ang/get_shabad/get_today, so the purpose is muddled rather than specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is a weak usage hint ('follow next for the next passage'), but no statement of when this tool is preferred over get_ang, get_shabad, get_today, get_reading, or search_readings. Worse, enumerating those sibling capabilities inside this description implies read_book covers them, which actively misleads selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_readingsSearch the curated readings, best match firstBRead-onlyIdempotentInspect
Search the curated readings, best match first. Gurbani: daily shabad, plans, search, Ang and shabad lookup; whole books from the Library, read a passage at a time
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Words or a bani's name to search for, for example Japji or humility. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and a closed-world scope, so the safety profile is fully covered. The description does add one genuine behavioral fact beyond the annotations: results are returned ranked best-match-first. That is useful, but nothing is said about result count, pagination, or what a match against a book versus a passage looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is tight and front-loaded, which is good. The second sentence is a dense semicolon-joined list that mixes corpora, features, and reading modes without a clear subject, so it costs attention without fully resolving what the tool searches.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter search with rich read-only annotations and no output schema, the definition is minimally adequate: the agent knows what to pass and that it is safe. It still leaves the agent guessing about result volume and how the ranked results relate to the follow-up get_reading/get_shabad tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single required 'q' parameter, and the schema already gives examples ('Japji or humility'), so the baseline of 3 applies. The description adds no query syntax guidance (phrase vs. keyword, bani names, Ang references) beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Search the curated readings') and adds a ranking promise ('best match first'), which is more than a restatement of the name. The trailing clause about Gurbani, plans, Ang and shabad lookup describes corpus coverage rather than differentiating it from siblings like get_shabad or get_reading, so sibling separation is only partial.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to pick this over get_reading, get_shabad, or list_readings, nor any exclusions or prerequisites. The mention of 'Gurbani: daily shabad, plans, search, Ang and shabad lookup' reads as a domain listing rather than routing guidance, leaving the agent to infer when searching beats a direct lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
9 tool updates
- First observed
get_ang - First observed
get_card - First observed
get_reading - First observed
get_shabad - First observed
get_today - First observed
list_books - First observed
list_readings - First observed
read_book - First observed
search_readings
Related MCP Connectors
The Bhagavad Gita a few verses a day in Sanskrit with English, any verse, and the whole Gita.
91Jyotish, Panchang, Hindu festival and Sanatan Dharma knowledge tools with citations.
Talmud a few lines a day, explained, with today's Daf Yomi, search and tractates in English.
81Free Vedic astrology: panchang, kundali, transits, matching, doshas, eclipses, numerology
Related MCP Servers
- AlicenseAqualityCmaintenanceA local self-hosted MCP server for searching and verifying Gurmukhi quotes from Sri Guru Granth Sahib, offering keyword search, authenticity verification, and text guarding via an MCP or HTTP API.6MIT
- AlicenseAqualityAmaintenanceMCP server for the full Pāli Tipiṭaka — ~444,000 segments at parity with SuttaCentral (Sutta + Vinaya + Abhidhamma). Hybrid search, full-sutta fetch with cross-references, segment-aligned translation comparison, and Pāli word lookup. Offered as Dhamma Dāna.1111MIT

bda-mcpofficial
AlicenseNot gradedqualityCmaintenanceAn MCP server providing Jyotish, Panchang, and Sanatan Dharma knowledge tools including panchang computation, festival calendars, muhurat windows, Jyotish concept explanations, and a source-grounded Sanatan encyclopedia with citations and provenance metadata.MIT- AlicenseNot gradedqualityBmaintenanceMCP server that provides access to the Sefaria library (Tanakh, Talmud, Mishneh Torah, etc.) with tools for text, links, search, and calendars. It enables grounded, source-cited answers to religious questions and daily study resources.32 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.