Skip to main content
Glama

Server Details

Indic MCP: transliterate into all 22 Indian languages, convert scripts, keymaps. Hosted or local.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
Codegres-com/Bhasini
GitHub Stars
0

TDQS

A3.9/5.0

Scored across 5 tools

Disambiguation4/5

Each tool targets a distinct operation: script-to-script conversion, Latin-to-script transliteration, keyboard map retrieval, language listing, and digit substitution. The only mild overlap is convert_script vs transliterate, but descriptions clearly separate them by input type (Indian script vs Latin) and purpose.

Naming Consistency4/5

convert_script, get_keymap, and list_languages follow a clean verb_noun pattern, while transliterate is a bare verb and native_digits is adjective_noun. These are minor deviations that remain readable and predictable in intent.

Tool Count5/5

Five tools is well-scoped for a transliteration/script utility server, with each tool earning its place and no redundancy.

Completeness4/5

The surface covers the main transliteration workflows (Latin→script, script→script, digits, keymaps, language codes) with good supporting lookups. The notable gap is a reverse romanization tool (Indic→Latin), which agents must work around.

Available Tools

5 tools
convert_scriptConvert between Indian scriptsA
Read-onlyIdempotent
Inspect

Rewrites text from one Indian script into another letter by letter, e.g. Devanagari 'नमस्ते' → Kannada 'ನಮಸ್ತೇ'. The language does not change, only the letters. Works between the Brahmic scripts (Devanagari, Bengali, Gurmukhi, Gujarati, Odia, Tamil, Telugu, Kannada, Malayalam) and Meetei Mayek; sounds the target script lacks use the nearest letter. Text in other scripts is kept as it is.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText in any Brahmic script or Meetei Mayek.
targetLanguageYesLanguage whose script to convert into, e.g. 'ta', 'Telugu', 'mni'.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered; the description instead contributes real behavioural detail: letter-by-letter mapping, language preservation, nearest-letter fallback for missing sounds, and pass-through of non-Brahmic text. That fallback/pass-through behaviour is exactly the kind of edge-case disclosure an agent needs and cannot get from annotations.

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?

Four short sentences, front-loaded with the core transformation and immediately followed by a concrete Devanagari→Kannada example. Every sentence carries information, though the script enumeration could be tightened.

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

Completeness4/5

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

There is no output schema, so the description's statement that unmapped text is kept as-is usefully implies the return shape (transformed text with pass-through). Error behaviour for unsupported targets is unstated, but otherwise the definition is complete for this low-complexity, two-parameter tool.

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

Parameters3/5

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

Schema coverage is 100%, so both parameters are already documented, and the description adds only a worked example of the mapping rather than new parameter detail. Baseline 3 applies when the schema carries the parameter burden.

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

Purpose4/5

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

The description gives a precise verb+resource ('rewrites text from one Indian script into another letter by letter') and enumerates the exact script families handled, which lets an agent separate this from generic Romanisation tools. It stops short of naming the sibling `transliterate` or stating how it differs from it, so sibling differentiation is only implicit.

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

Usage Guidelines3/5

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

Usage is implied by the enumerated script set and the note that 'text in other scripts is kept as it is', which tells the agent when this tool will and won't transform input. However, no alternative is named and no explicit when-to-use-this-vs-`transliterate` guidance is given.

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

get_keymapGet phonetic keyboard mapA
Read-onlyIdempotent
Inspect

Returns the phonetic keyboard map for a language: which Latin keys produce each letter. Useful for teaching someone to type a language or for building correct romanised input for transliterate.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageYesLanguage code or name, e.g. 'ml', 'Odia'.

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already cover read-only, idempotent, non-destructive, and closed-world behavior, so the bar for additional disclosure is lower. The description adds the return semantics (a key-to-letter map), which is useful, but says nothing about format, size, language coverage, or error behavior.

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?

Two sentences, front-loaded with the core return value followed by use cases; little waste. The phrasing 'for transliterate' is slightly awkward for 'for transliteration', but the structure remains clear and efficient.

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

Completeness4/5

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

For a simple read-only lookup with rich schema and annotation coverage, the description adequately explains what the tool returns. It could be more complete by hinting at the output format (e.g., object vs. list) since no output schema exists, but the core information is present.

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

Parameters3/5

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

Schema description coverage is 100% and the single language parameter is already documented as accepting codes or names. The description only restates 'for a language' and adds no syntax, examples, or constraints beyond the schema.

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 (returns) and resource (phonetic keyboard map for a language), and describes the content (Latin keys → letters). It also names the sibling transliterate and positions itself as an input-building helper, giving an agent enough to distinguish it from the conversion tools.

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?

Provides two clear use cases: teaching typing and building romanised input for transliterate. It does not state when not to use it or explicitly compare against convert_script/list_languages/native_digits, but the context is sufficient to guide selection.

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

list_languagesList Indian languagesA
Read-onlyIdempotent
Inspect

Lists the 22 scheduled languages of India (plus extra official scripts for Kashmiri, Manipuri and Sindhi) with the codes the other tools accept.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is fully covered structurally. The description adds useful content context (what the list contains and why the codes matter) but says nothing about ordering, return shape, or whether the extras are distinguished in the output.

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

Conciseness5/5

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

A single sentence, front-loaded with the verb and resource, with the qualifying parenthetical folded in. Every clause carries information; nothing is padding.

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

Completeness4/5

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

For a zero-parameter, read-only listing tool with rich annotations and no output schema, the description covers what is returned and why it matters. Slightly short of complete only because it does not describe the response structure or whether the extra scripts are flagged.

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?

The tool takes zero parameters, so there is nothing to disambiguate; baseline for no-param tools is 4. The description still earns its place by explaining the semantic content of the returned codes rather than leaving them unexplained.

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 and resource (lists languages) and narrows the scope precisely: the 22 scheduled languages of India plus extra official scripts for Kashmiri, Manipuri and Sindhi. No sibling (convert_script, get_keymap, native_digits, transliterate) is a listing tool, and the description makes this one obviously the discovery entry point.

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?

The clause 'with the codes the other tools accept' implies a clear use case: call this first to obtain valid language codes for the other tools. It gives good context but stops short of explicit when-not guidance or naming which sibling to call next.

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

native_digitsWrite digits in a native scriptA
Read-onlyIdempotent
Inspect

Replaces ASCII digits 0-9 with a language's native digits, e.g. '2026' → '२०२६' (Hindi), '௨௦௨௬' (Tamil), '۲۰۲۶' (Urdu).

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText containing digits.
languageYesLanguage code or name.

TDQS

A3.6/5.0
Behavior3/5

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 usefully shows the exact input→output transformation, but says nothing about what happens to non-digit characters, unsupported languages, or the return format.

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

Conciseness5/5

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

A single front-loaded sentence with three illustrative examples; every element earns its place and nothing is padded.

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

Completeness4/5

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

For a two-parameter, no-output-schema, non-destructive utility, the description is nearly complete — the transformation is fully conveyed by example. It would be stronger with a note on handling of unsupported languages or non-digit text.

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

Parameters3/5

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

Schema description coverage is 100% and both params are documented there, so the schema carries the burden and baseline is 3. The description adds only indirect value: the Hindi/Tamil/Urdu examples hint that the language parameter accepts names as well as codes, but no format or validation detail is provided beyond that.

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

Purpose4/5

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

The description states a specific verb+resource: replacing ASCII digits 0-9 with a language's native digits, with concrete transformation examples. It is unambiguous about what it does, though it never distinguishes itself from overlapping siblings like transliterate or convert_script, which also transform text into other scripts.

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

Usage Guidelines3/5

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

Usage is implied by the narrow framing (digit-only replacement) and the examples, but the description never states when to pick this over transliterate or convert_script, which are the obvious alternatives for script-related work. No prerequisites or exclusions are given.

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

transliterateTransliterate romanised textA
Read-onlyIdempotent
Inspect

Writes romanised (Latin-letter) text in an Indian script by sound, e.g. 'namaste' → 'नमस्ते' for Hindi or 'vaNakkam' → 'வணக்கம்' for Tamil. This is transliteration, not translation: spell the words as they sound in the target language. Keys follow ITRANS/Baraha conventions: capitals for long vowels and retroflex consonants (A I U E O, T D N L Sh), M = anusvara, H = visarga. Use get_keymap for a language's exact keys.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesRomanised text to transliterate. Punctuation, digits and spaces are kept.
languageYesTarget language code or name, e.g. 'hi', 'ta', 'kn', 'Bengali', 'sat' (Santali, Ol Chiki).

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false. The description adds genuine behavioral context beyond that: the input key conventions (ITRANS/Baraha, capitals for long vowels/retroflex, M=anusvara, H=visarga) and the sound-based rather than meaning-based interpretation. It does not describe the return format, but annotations carry the safety profile.

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 purpose and examples before the key-convention details. Dense but each sentence contributes; only minor verbosity in listing conventions that could be looked up via get_keymap.

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

Completeness4/5

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

For a two-parameter, no-output-schema tool this is nearly complete: purpose, examples, input conventions, and a pointer to get_keymap. The main gap is that it doesn't hint at error/fallback behavior for unsupported languages or the expected return shape.

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?

Schema description coverage is 100%, so both parameters are already documented. The description still adds value by explaining the key conventions governing how the 'text' parameter is interpreted and giving language examples ('hi', 'ta', 'sat'), going beyond the schema's raw param descriptions.

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 (writes/transliterates) and resource (romanised Latin text → Indian script), and provides concrete examples for Hindi and Tamil. It explicitly distinguishes itself from translation and its purpose is clearly separable from siblings like convert_script.

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?

Clarifies the key semantic distinction ('transliteration, not translation: spell the words as they sound'), which tells the agent when this tool applies. It routes to get_keymap for exact per-language keys, but does not explicitly contrast with convert_script or list_languages.

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.

  1. 5 tool updates
    • First observedconvert_script
    • First observedget_keymap
    • First observedlist_languages
    • First observednative_digits
    • First observedtransliterate

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables LLM-based clients to perform Indic language processing including translation, transliteration, language identification, and chat with the SarvamAI-M model.
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.