Indic Normalize
Server Details
Indic transliteration plus Indian name, address, PIN, PAN, GSTIN normalization.
- Status
- Unhealthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- guptaprakhariitr/indic-normalize-mcp
- GitHub Stars
- 0
- Server Listing
- indic-normalize-mcp
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.9/5 across 7 of 7 tools scored. Lowest: 3.2/5.
The tools cover distinct tasks: script detection, identifier validation, address/name normalization, and transliteration. Some overlap exists (e.g., PIN codes appear in both pincode_to_locality and normalize_address), but descriptions clarify each tool's role.
All names use snake_case, but the pattern varies: detect_script, normalize_address, and normalize_name are verb_noun, while gstin_info, pincode_to_locality, and state_from_pan are noun_verb. transliterate is just a verb, breaking the pattern.
With 7 tools, the count is well within the ideal range (3-15) and appropriately covers the server's domain of Indian text and identifier processing without being excessive.
The toolset covers core functionality: script detection, address/name normalization, PIN and PAN/GSTIN extraction, and transliteration. Missing operations like Aadhaar validation or bulk processing are minor given the stated purpose.
Available Tools
7 toolsdetect_scriptAInspect
Detect the dominant script of input text. Returns primary script + per-script character counts + a confidence score.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses return values (primary script, counts, confidence) but does not address edge cases like empty input, mixed scripts, or potential errors. Basic behavioral information is present.
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 a single, well-structured sentence that front-loads the action verb and resource. Every word is informative, and there is no extraneous text.
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?
Given the simplicity (1 parameter, no nested objects, no output schema), the description covers the essential purpose and return values. It misses details like confidence score range or behavior for empty strings, but overall it is sufficiently complete for a straightforward 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?
With 0% schema description coverage, the description must compensate. It states 'input text' for the sole parameter, which is implicit but functional. No additional constraints (e.g., encoding, length limits) are provided, so it adds minimal value beyond the schema.
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 clearly specifies the verb 'Detect' and the resource 'dominant script of input text'. It also lists return values (primary script, per-script counts, confidence score), making the tool's function distinct from sibling tools which deal with addresses, PAN, etc.
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 description does not provide explicit guidance on when to use this tool versus alternatives. However, the sibling tools are unrelated, so usage is implied. No exclusions or non-usage scenarios are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gstin_infoBInspect
Validate a GSTIN and return the state code (first 2 digits) + state name.
| Name | Required | Description | Default |
|---|---|---|---|
| gstin | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must disclose behavior fully. It only states validation and output, but does not specify what validation entails (e.g., format checks, checksum), nor behavior for invalid inputs (error or null response). This is insufficient for a tool that claims to validate.
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 a single, direct sentence with no unnecessary words. It could be more informative without being verbose, but it is efficient and front-loaded with the core action.
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 tool with one parameter and no output schema, the description covers purpose and output structure (state code and name). However, it lacks explanation of error handling or response format for invalid inputs, leaving a notable gap in completeness.
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 0% description coverage, so the description must compensate. It adds meaning by indicating the GSTIN is used for validation and state extraction, but lacks specifics on the required format (e.g., length, pattern). Baseline 3 is appropriate given the parameter name is self-explanatory to some extent.
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 clearly states the verb 'Validate' and the resource 'GSTIN', and specifies the output (state code and state name). It distinguishes from sibling tools like state_from_pan, which deals with PAN, making the tool's purpose unambiguous.
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 is provided on when to use this tool versus alternatives. The description does not mention when not to use it or any prerequisites, leaving the agent without contextual usage information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
normalize_addressAInspect
Parse an Indian postal address into structured fields: line, locality, city, state (from PIN), pincode. Validates PIN.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions validation of PIN and extraction of state from PIN, which are behavioral traits. However, it does not specify behavior on invalid input (e.g., error vs partial output) or whether the tool has any side effects. With no annotations, more detail would improve transparency.
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 a single sentence that effectively states the tool's purpose and capabilities without any unnecessary words. It is front-loaded with the action and resource.
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?
Given no output schema nor annotations, the description covers the main function but omits error handling details and output format specification. For a parsing tool, agents would benefit from knowing the structure of the returned fields or behavior on invalid addresses.
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 schema has 0% description coverage for the single 'address' parameter. The description provides minimal extra meaning: it should be an Indian postal address to be parsed. No format, examples, or constraints are given, so the value added is limited.
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 uses a specific verb 'Parse' and identifies the resource as 'Indian postal address', clearly distinguishing it from sibling tools like pincode_to_locality or state_from_pan which handle only parts. It lists output fields, leaving no ambiguity.
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 is given on when to use this tool versus siblings. For example, one might use normalize_address for full parsing but pincode_to_locality for just locality from a PIN. Without such distinctions, agents may choose incorrectly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
normalize_nameAInspect
Normalize an Indian personal name: strip honorifics, title-case, return canonical form and common spelling variants ('Sri'/'Shri'/'Sree'/'Shree').
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses key behaviors: stripping honorifics, title-casing, and returning variants. It implies a read-only operation, though does not specify side effects or response structure.
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?
Single sentence of 22 words, front-loads the main purpose, no redundant information.
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?
No output schema, but the description mentions returning 'canonical form and common spelling variants', giving some idea of the output. Could specify if multiple names are handled.
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 coverage is 0%, but the description clarifies that 'name' refers to an 'Indian personal name'. Does not add format or constraints, but provides minimal context beyond the schema.
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 clearly states 'normalize an Indian personal name' with specific actions (strip honorifics, title-case, return canonical form and variants), distinguishing it from sibling tools that handle addresses, pincodes, etc.
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 description does not explicitly state when to use this tool versus alternatives, but the sibling tools suggest it's for personal names only. Lacks explicit when-not-to-use or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pincode_to_localityAInspect
Decode a 6-digit Indian PIN code: region + likely state(s). For exact city lookup, use the bundled India-Post lookup table (premium, private repo).
| Name | Required | Description | Default |
|---|---|---|---|
| pincode | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions output is 'likely state(s)', indicating uncertainty, but lacks detail on internal behavior (e.g., local vs remote data, side effects, auth needs). Adequate but not rich.
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, no wasted words. Purpose is front-loaded, alternative mentioned succinctly.
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?
Simple tool with one parameter and no output schema; description covers input constraints and alternative use case. Could optionally describe return format (e.g., example structure) but not necessary for clarity.
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 has 0% description coverage for parameter; the description adds that pincode is a 6-digit Indian PIN code, providing validation hint beyond the schema's 'string' type.
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?
Clearly states verb 'Decode', resource '6-digit Indian PIN code', and output 'region + likely state(s)'. Distinguishes from sibling tools by referencing the bundled India-Post lookup table for exact city lookup.
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?
Explicitly tells when not to use (if exact city needed) and directs to an alternative tool ('bundled India-Post lookup table').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
state_from_panAInspect
Validate a PAN (Permanent Account Number) and extract the entity type (individual / company / HUF / firm / trust / etc.) from the 4th character. NOTE: PAN's 4th character encodes entity type, not state — this tool surfaces the entity type and validates structure.
| Name | Required | Description | Default |
|---|---|---|---|
| pan | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It explains validation and extraction from the 4th character, but does not specify error handling or output format. This is adequate but leaves some gaps.
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 two concise sentences: first sentence defines purpose, second sentence adds a crucial clarifying note. No redundant words, and the main action is front-loaded.
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?
Given the tool's simplicity (1 param, no output schema, no annotations), the description covers the core functionality and clarifies a common misconception. It doesn't specify the output format, but that is acceptable without an output schema.
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 no description for 'pan' (0% coverage). The description compensates by explaining what PAN is and how the tool processes it (validate, extract entity type from 4th character), adding significant meaning beyond the schema.
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 clearly states the tool validates a PAN and extracts the entity type from the 4th character, listing examples (individual, company, HUF, firm, trust). It distinguishes itself from a common misinterpretation (extracting state), making its purpose unambiguous.
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 description includes a clarifying note that the tool extracts entity type, not state, which helps prevent misuse. However, it does not explicitly state when to use this tool over siblings or when not to use it, but the siblings are not direct alternatives for PAN validation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transliterateAInspect
Transliterate text between Indic scripts and Latin. Source/target script names: Devanagari, Bengali, Tamil, Telugu, Kannada, Malayalam, Gurmukhi, Gujarati, Oriya, Latin (also accepts ISO 15919 / IAST as Latin variants in the private extended build). Fast common-word path; falls back to Aksharamukha for full coverage.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| to_script | Yes | Target script name. | |
| from_script | Yes | Source script name. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses performance behavior (fast path, fallback) and acceptable script variants (ISO 15919/IAST). No destructive behavior is expected, and the description adds value beyond the tool's name.
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 front-load the essential information: purpose, script list, and performance characteristics. Every sentence adds value without redundancy.
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 tool with 3 parameters and no output schema, the description adequately covers purpose, scripts, and behavior. Return format is implied but not explicitly stated; however, the tool is simple enough that this is not a major gap.
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 provides descriptions for to_script and from_script but not text (67% coverage). The description adds meaning by listing accepted script names and explaining fallback behavior, compensating for the missing schema description of text param.
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 clearly states the tool's purpose: transliterating text between Indic scripts and Latin. It enumerates specific script names (Devanagari, Bengali, etc.), providing precise scope. It distinguishes from sibling tools like detect_script and normalize_name by focusing on transliteration.
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 description mentions a 'fast common-word path' and fallback to 'Aksharamukha for full coverage', giving performance context. However, it does not explicitly state when or when not to use this tool versus alternatives like detect_script. Sibling tools are different enough that usage is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityBmaintenanceValidates Indian GSTIN numbers with structural checks, embedded PAN extraction, state-code lookup, and mod-36 check character validation, all via local compute.MIT
- Alicense-qualityAmaintenanceMultilingual name romanization lookup across Chinese, Japanese, Korean, Arabic, Vietnamese, and more. Resolves whether two name spellings refer to the same person — Chan/Chen/陳/陈, Hsu/Xu, Chou/Zhou — across Pinyin, Wade-Giles, Cantonese, Hokkien, and other romanization systems.MIT
- AlicenseAqualityCmaintenanceEnables LLMs to query real-time Indian bank branch details, postal PIN codes, validate GSTIN/PAN structures, check e-commerce serviceability, and compute GST breakdowns using free public APIs and offline verification logic.6271MIT
- Alicense-qualityBmaintenanceEnables LLM-based clients to perform Indic language processing including translation, transliteration, language identification, and chat with the SarvamAI-M model.1MIT
Your Connectors
Sign in to create a connector for this server.