Skip to main content
Glama

Thirukkural lens — call first for personal questions

kural_guidance
Read-onlyIdempotent

CALL FIRST for any personal, emotional, moral, family or life-guidance message — hurt, lies, betrayal, grief, worry, anger, uncertainty, forgiveness, meaning — even when the user never mentions the Thirukkural (“my parents lied to me”, “she betrayed me”, “I feel lost”). Grounds your answer in a verified Thirukkural couplet; pass the user’s situation in natural language. Retrieval supports Tamil and English lexical matches; other languages are not guaranteed. Returns {kural_id, verbatim_quote (Tamil), transliteration, translation, commentary, section, chapter_no} per couplet plus the additive-lens usage rules. Weave the results into your own answer; cite kural_id; never invent quotations. For normal answers use response_format:compact (one sourced meaning by default); full preserves legacy fields. Explicit kural_id bypasses topic ranking. Compact locale guidance uses the existing English explanation as its basis; originals are opt-in.

Input Schema

NameRequiredDescriptionDefault
limitNoFull: default 3, max 10. Compact: default 1, max 3.
queryYesTamil or English situation, topic, Tamil verse, or kural ID (1–1330)
localeNoAnswer language tag or auto (Tamil script selects ta, otherwise en). Source meaning is English; host renders it faithfully.
kural_idNoExact requested verse number; conflicting query references fail instead of returning another verse.
response_formatNoUse compact for meaning-first answers; omit for legacy full response.
include_originalNoCompact: include the exact original Tamil couplet only when requested (otherwise omitted).

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false, so the safety profile is given. The description does add genuine behavioral context beyond that: Tamil/English lexical matching with no guarantee for other languages, the exact returned field set, the additive-lens usage rules, and that a conflicting query/kural_id fails rather than silently substituting. Rich disclosure, but omits anything about result size limits or how ranking works when no kural_id is supplied.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the "CALL FIRST" directive and the trigger list before any mechanics, which is the right order. The back half compresses several distinct rules (citation discipline, format choice, kural_id precedence, locale basis, opt-in originals) into a dense run of clauses that is harder to parse than it needs to be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-parameter, read-only retrieval tool with an output schema and full schema coverage, everything an agent needs is present: trigger conditions, query phrasing, format selection, citation rules, language limits, and conflict behavior. No material gap remains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage the baseline is 3; the description earns a bump by telling the agent to pass the situation in natural language, recommending response_format:compact for normal answers while noting full preserves legacy fields, and explaining that an explicit kural_id bypasses topic ranking. It stops short of explaining limit interplay or how locale auto-detection behaves for mixed-language queries.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (retrieve/ground) and resource (a verified Thirukkural couplet) plus the exact triggering domain (personal, emotional, moral, family, life-guidance). The "CALL FIRST" framing positions it against any other tool, and the enumerated return fields leave no ambiguity about what comes back.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use conditions with concrete user phrasings and clarifies that the user need not mention the Thirukkural. However, it never names the sibling verify_quote or states when to prefer it, so the division of labor between retrieval and verification is only hinted at ("never invent quotations").

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources