Skip to main content
Glama
wtigero

Thai Toolkit MCP

by wtigero

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation5/5

    Each tool targets a distinct aspect of Thai data (currency, tax, date, phone, province, ID) with no functional overlap. An agent can easily select the appropriate tool without ambiguity.

    Naming Consistency5/5

    All tools follow a consistent 'thai_verb_noun' pattern using snake_case, making the API predictable and easy to remember.

    Tool Count5/5

    Six tools cover a well-scoped set of common Thai-specific utilities without being too few or too many. Each tool serves a clear purpose.

    Completeness4/5

    The tool set addresses core Thai localization needs (currency, tax, date, phone, location, ID). Minor gaps exist (e.g., address formatting, income tax) but are acceptable for a focused toolkit.

  • Average 4/5 across 6 of 6 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 1 commit in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior4/5

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

    The description adds return structure (JSON with fields: input, local, e164, type, valid) beyond annotations, which do not mention output format. No contradictions with annotations.

    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?

    Two sentences with no wasted words. First sentence states purpose, second lists return fields. Efficient and clear.

    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?

    Given a simple tool with one parameter and no nested objects, the description is adequate. It provides return fields, which is helpful. Could mention classification types but not necessary.

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

    Parameters1/5

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

    With schema description coverage at 0% per context, the description should compensate but does not mention the phone_number parameter at all. The schema itself provides a description, but the rubric states the burden falls on the tool description when coverage is low.

    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?

    The description clearly states that the tool normalizes and classifies a Thai phone number, specifying the verb 'normalize' and the resource 'phone number'. It distinguishes from sibling tools like thai_validate_id which is for validation, not formatting.

    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?

    No explicit guidance on when to use this tool versus alternatives like thai_validate_id or other phone-related utilities. The context of use is implied but not stated.

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

  • Behavior4/5

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

    Annotations declare readOnlyHint, idempotentHint, etc. Description adds return format details (JSON with thai, english, region fields, partial matches, error messages). No contradictions.

    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, clear and front-loaded. No wasted words. Could list return types more concisely, but overall efficient.

    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?

    Simple tool with 1 param; output schema exists (not shown). Description covers return shapes and error cases, fully sufficient for context.

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

    Parameters2/5

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

    Schema description coverage is 0% per context. Description mentions 'Thai/English name' but does not elaborate on parameter structure beyond schema's own description of 'query'. Minimal added value for single param.

    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?

    Description clearly states verb 'Look up', resource 'Thai province', and scope 'Thai/English name and its region'. Sibling tools are different (baht, VAT, date, phone, ID), so distinction is clear.

    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?

    No explicit instructions on when to use or avoid. Implied by purpose but no comparisons or exclusions. Siblings are distinct, reducing ambiguity, but guidance is missing.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint, destructiveHint, idempotentHint. The description adds value by detailing the return JSON structure for both modes, which is beyond the annotations. However, it does not explicitly state safety or idempotency, but annotations cover that.

    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?

    The description is two sentences: the first states the primary purpose, the second lists return fields. It is front-loaded, concise, and every sentence adds value without redundancy.

    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?

    The description explains the return structure and the two modes, but does not cover edge cases or error handling. Given the tool's moderate complexity and the presence of output schema and annotations, the description is fairly complete for typical usage.

    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?

    The input schema has detailed parameter descriptions, so the description adds limited new meaning beyond the schema. The description summarizes the two operation modes, which is slightly helpful, but the schema already explains each parameter. Baseline 3 is appropriate.

    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?

    The description clearly states the tool formats an ISO date as a Thai date string or converts years CE/BE, distinguishing two modes. It uses specific verbs and resources, and naturally differentiates from siblings which are unrelated Thai utilities.

    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?

    The description identifies two use cases (formatting or year conversion) but does not provide explicit guidance on when to use this tool over alternatives or when not to use it. Siblings are unrelated, so no direct comparison is needed, but the description could state that for date-related conversions this is the appropriate tool.

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

  • Behavior4/5

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

    Annotations declare readOnlyHint and idempotentHint, which are consistent. Description adds that it uses an official checksum and returns a JSON with 'valid' and 'formatted' fields, providing behavioral context beyond annotations. No contradictions.

    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?

    Two sentences long, front-loaded with purpose and return type. No wasted text. Perfectly concise.

    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 validation tool with one parameter and a return object, the description covers the validation method (checksum) and return fields. Annotations provide safety info. Output schema not provided but inline description covers it. Nearly complete.

    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 for id_number parameter is clear ('Spaces/dashes are ignored'). Tool description does not add extra information about parameters beyond what the schema provides. With 0% schema_description_coverage (description doesn't mention params), the schema already covers the parameter well.

    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?

    Description clearly states it validates a 13-digit Thai national ID or tax ID using the official checksum. The verb 'validate' and specific resource distinguish it from sibling tools like thai_format_phone or thai_lookup_province.

    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?

    Implies usage when validating a Thai national/tax ID, but no explicit when-to-use or when-not-to-use guidance. Sibling tools are different operations, so ambiguity is low, but lack of exclusions reduces score.

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

  • Behavior4/5

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

    Annotations already indicate readOnlyHint, destructiveHint, and idempotentHint. The description adds the return format (JSON with amount and text), which is not in annotations. However, edge cases like zero, satang, or large numbers are not mentioned.

    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?

    Three sentences with no redundancy. Purpose, use cases, and return format are presented in a front-loaded manner. Every sentence adds value.

    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 conversion tool, the description covers purpose and output. It doesn't mention handling of satang or limit of input range, but given the output schema exists, this is acceptable. Slightly missing details on parameter behavior.

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

    Parameters2/5

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

    Schema description coverage is 0% meaning the description adds no param info. The schema itself has a description for 'amount', but the tool description does not explain the parameter further, violating the expectation to compensate for low coverage.

    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?

    The description clearly states the action: 'Convert a baht amount to its Thai reading' with an example, and the resource is well-defined. It distinguishes from sibling tools which focus on other Thai-related conversions.

    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 description mentions use cases ('invoices, receipts, and cheques') but does not explicitly say when not to use it or suggest alternatives. This provides context but lacks exclusion criteria.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, indicating a safe, read-only calculation. The description adds valuable context about the return format (JSON with base, vat, total, and optional withholding), which goes beyond annotations without contradicting them.

    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?

    The description is extremely concise: two short sentences and a bullet list for returns. It front-loads the core action and provides structured return information without any superfluous words.

    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?

    The tool is simple, and the explanation of return values is adequate. The annotation and output schema (indicated as present) fill in remaining context. The description does not cover edge cases, but for a straightforward tax calculator, this level of detail is sufficient.

    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?

    The input schema already provides descriptions for all four parameters (amount, mode, rate, withholding_rate_percent), effectively covering their meanings. The description adds little parameter-specific detail beyond the schema, so a baseline score of 3 is appropriate given the high schema description coverage.

    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?

    The description clearly states the tool's function: 'Add or extract 7% Thai VAT, and optionally compute withholding tax.' It specifies the verb and resource (VAT and withholding tax), and the sibling tools are all distinct (baht to text, date conversion, etc.), so there is no ambiguity or overlap.

    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 description implies usage for VAT calculations but does not explicitly provide when-to-use or when-not-to-use guidelines. However, the sibling tools are unrelated, so no exclusions are necessary, and the context is clear enough for an AI to infer appropriate use.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

thai-toolkit-mcp MCP server

Copy to your README.md:

Score Badge

thai-toolkit-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wtigero/thai-toolkit-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server