Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation4/5

    Each tool has a distinct purpose: finding new keys, listing cultures/modules, checking duplicates, building entries, and syncing. The main ambiguity is between find_keys, search_keys, and sync_keys, but the descriptions clearly differentiate them, and prepare_sync explicitly replaces the discovery tools for the common workflow.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun snake_case pattern (find_keys, list_cultures, build_upload_entries, prepare_sync). No mixed conventions or unpredictable naming.

    Tool Count5/5

    7 tools is well within the ideal range and appropriately scoped for a translation synchronization workflow, covering discovery, dedup, and file generation without unnecessary bloat.

    Completeness4/5

    The tool set covers the core add-new-translation-keys workflow end-to-end: find, dedupe, prepare, and write upload files. Minor gaps include lack of an actual upload/publish tool and no way to fetch existing translations for editing, but these may be outside the server's intended scope.

  • Average 4.5/5 across 7 of 7 tools scored.

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

    • No community issues in the last 6 months
    • 8 commits 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
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • 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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the output format and tenant context, but does not explicitly state that this is a read-only operation, any authorization requirements, rate limits, or side effects. For a simple listing tool, this coverage is insufficient without 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?

    The description is two sentences with no unnecessary words. It front-loads the action and immediately adds practical usage context. Every sentence earns its place.

    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?

    Given the tool's simplicity (0 params, no output schema), the description is complete: it states what is returned, examples of module names, and how the output is used by other tools. No additional context is needed for an agent to invoke it correctly.

    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 has zero parameters, so the baseline is 4 per the rubric. The description adds value by clarifying the output structure (name + id) and usage, even though no parameter explanation is needed.

    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 uses a specific verb 'Lists' and clearly identifies the resource ('modules available in the configured Blocks tenant'), specifying the output as name + id. It also distinguishes itself from siblings by noting the purpose of resolving module names to ModuleIds needed by other tools.

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

    Usage Guidelines5/5

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

    The description explicitly states when to use the tool: 'Use this to resolve a module name...to the ModuleId needed by search_keys and build_upload_entries.' This provides a clear use case and references specific downstream sibling tools, offering practical guidance beyond generic context.

    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?

    With no annotations, the description carries the full burden of behavioral disclosure. It thoroughly explains the pipeline (scans working-tree + staged + untracked, groups by module prefix, fetches tenant cultures, exact-dedupes against module plus BLOCKS_DEDUP_MODULES) and the in-code nature (no LLM work). It also reveals the return structure. It doesn't mention side effects or auth requirements, but this is a read-only prep tool, so adequate.

    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?

    The description is long but front-loaded with the key message ('FIRST and usually ONLY prep call'). Every sentence contributes: scope, process, output, exclusions, and follow-up actions. It is dense but justified for a tool with this complexity.

    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?

    Without an output schema, the description explicitly defines the return value ({ cultures, modules: [{ module, newKeys, existingSkip }] }) and explains the full usage flow including subsequent sync_keys calls. It lacks edge-case details but is remarkably complete for a prep 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 80% with parameter descriptions for most fields. The description adds workflow-level context (e.g., 'Handles a diff spanning several modules in ONE call') and references dedupe modules, but most parameter details are already in the schema. It doesn't significantly elevate understanding beyond the schema, hence baseline 3.

    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 FIRST and usually ONLY prep call for a translation sync' and details its function: scanning the diff, grouping keys by module, fetching cultures, and exact-deduping. It explicitly distinguishes itself from siblings: 'Do NOT call find_keys / list_modules / list_cultures / search_keys separately — this replaces them.'

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

    Usage Guidelines5/5

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

    Provides explicit when-to-use context ('FIRST and usually ONLY prep call') and when-not-to-use with named alternatives. It also prescribes the next steps: infer English, translate, then call sync_keys per module, omitting outputPath.

    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?

    With no annotations, the description carries the full burden and does a good job: it discloses default diff behavior, support for untracked files, deduplication, framework configurability, and a notable limitation (no module slug resolution). It doesn't explicitly state read-only semantics or return structure, but the scan nature implies safety.

    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, each earning its place: purpose, mode details, and exclusions/alternatives. Front-loaded with the main action and highly scannable, with no fluff or repetition.

    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 there is no output schema, the description provides reasonable return info (deduped with prefix) but lacks a precise return shape. It thoroughly covers inputs, modes, framework, and relationships to sibling tools, making it adequately complete for an agent to decide and invoke it.

    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% and both parameters have detailed descriptions (diffBase explains git ref and default; framework explains override). The description adds marginal value by mentioning the default mode and framework list, but largely mirrors the schema, so the 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 scans for added/changed translation keys and returns them deduped with a source-derived prefix. It explicitly differentiates from siblings by noting it does NOT resolve the Blocks module slug (list_modules) and is a standalone block (prepare_sync composes it).

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

    Usage Guidelines5/5

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

    Provides explicit when-to-use guidance: default mode reads working-tree + staged diff plus untracked files, with an alternative diffBase mode. It also names alternatives—list_modules for slug resolution and prepare_sync for full sync—making the tool's role in the workflow crystal clear.

    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?

    No annotations are provided, so the description carries full burden. It discloses key behaviors: no translation performed ('translate them yourself first'), moduleName resolution cached to disk, and the computed IsPartiallyTranslated based on culture completeness. It stops short of explicitly saying it does not perform the actual import, but 'Pure JSON assembly' strongly implies it.

    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?

    Three dense sentences; each adds value. Front-loaded with the primary purpose and followed by necessary caveats and alternatives. Slightly long but every clause earns its place.

    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?

    With no output schema and no annotations, the description explains the output array shape, the caching behavior, the translation prerequisite, and tool alternatives. It gives enough context to use the tool correctly in a workflow. Could add error cases, but overall quite complete.

    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 documents 3 of 4 params (moduleId, tenantId, moduleName) with descriptions, but the required entries param has no schema description. Description compensates by explaining the expected entry content (already-translated keys, 7 cultures) and the exact output fields, adding meaningful context 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?

    Clear and specific: 'Pure JSON assembly' plus the exact output shape ('stamps them into the exact array shape the Blocks portal JSON import expects'). Distinguishes itself from siblings by naming sync_keys and search_keys as alternatives for different cases.

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

    Usage Guidelines5/5

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

    Explicit guidance: 'Prefer sync_keys for the common case' and 'Run search_keys first to avoid re-uploading keys that already exist.' This clearly states when to use this tool vs the alternatives, covering both prerequisites and exclusions.

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

  • Behavior5/5

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

    With no annotations provided, the description carries full responsibility for behavioral disclosure. It reveals that no login is required (public endpoint), details the two distinct matching methods (exact KeyName and case-insensitive trimmed English text), explains the scope (target module + BLOCKS_DEDUP_MODULES), and notes how to widen it. This is rich contextual information beyond simple 'searches for keys'.

    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?

    The description is dense but well-organized, starting with the core purpose and then expanding with numbered checks, an illustrative example, and scope details. It is longer than strictly necessary but every sentence contributes useful information, so it earns a 4 rather than 3.

    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 the tool's moderate complexity (3 parameters, nested object array, no output schema, no annotations), the description covers the core behavior, use case, authentication, and parameter intent. It does not describe the return format or match result structure, which prevents a 5, but it is sufficiently complete for an agent to correctly select and invoke the tool.

    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 coverage is 67%, with descriptions for targetModuleName, extraModuleNames, and englishText. The description adds value by explicitly tying targetModuleName to 'module being worked on', explaining extraModuleNames as a widening mechanism, and defining the matching semantics (trimmed, case-insensitive) that affect how the keys array is interpreted. This supplements the schema rather than repeating it.

    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 opens with a clear verb+resource: 'Checks each key two ways before you upload it', immediately identifying it as a dedup-check tool for existing Blocks keys. The title and description together distinguish it from sibling tools like find_keys by emphasizing pre-upload duplicate detection.

    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?

    It explicitly states when to use the tool ('before you upload it') and why ('so you reuse the existing key instead of creating a duplicate string'). It also explains how to broaden scope with extraModuleNames. However, it does not explicitly contrast with alternative tools like find_keys, leaving some room for interpretation.

    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?

    With no annotations, the description carries the full burden. It discloses the API source, disk caching, reports the default culture, and the refresh behavior. This is strong transparency, though it doesn't detail failure modes or side effects beyond caching.

    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 concise and well-structured: core purpose first, then usage guidance, a warning, and refresh semantics—all in four sentences with no redundancy.

    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 simple tool with one optional parameter and no output schema, the description covers purpose, usage, source of truth, and return content (culture codes + default). It is complete for an agent to invoke correctly.

    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 schema already fully documents the single 'refresh' parameter. The description adds practical semantics by explaining when to use refresh (if the tenant recently added a language), going beyond the schema's basic type/description.

    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 purpose: it returns the culture codes supported by the tenant, with examples. It also distinguishes itself from siblings by declaring itself the source of truth and instructing not to read local i18n files.

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

    Usage Guidelines5/5

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

    Explicit guidance is provided: call this before sync_keys/build_upload_entries, and do NOT rely on local files or memory. It also explains when to use the refresh parameter, making usage unambiguous.

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

  • Behavior5/5

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

    With no annotations provided, the description carries the full burden and exceeds expectations: it discloses dedup rules, exact-key skip behavior, duplicateWarnings, compact-summary response, path resolution via BLOCKS_OUTPUT_PATH_PATTERN, automatic parent directory creation, and the warning not to invent an output path. This is unusually transparent.

    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?

    The description is long but every clause contributes a distinct behavioral fact. It is front-loaded with the core purpose and remains readable, though it could benefit from light bullet-point formatting for even faster scanning.

    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?

    Given the tool's complexity, lack of output schema, and absence of annotations, the description covers all necessary context: return shape (compact summary, not full JSON), where to find the actual entries, output path rules, parent dir creation, dedup edge cases, and tenant default. It is self-sufficient.

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

    Parameters5/5

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

    Although schema coverage is high (80%), the description adds significant parameter-level meaning: how outputPath behaves when omitted, how modules are resolved and dedup-checked against BLOCKS_DEDUP_MODULES, and how entries are processed (exact key skip vs duplicate-text warning). This goes well beyond the schema's bare field labels.

    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 is built around a specific verb-resource combination ('one-call path for adding new translation keys') followed by a clear step-by-step summary: resolve module, dedup-check, build entries, and write to disk. It distinguishes itself from siblings like build_upload_entries by emphasizing the write side and dedup logic, leaving no doubt about what this tool uniquely accomplishes.

    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?

    It explicitly frames itself as the single-call path for adding new keys and gives actionable advice (omit outputPath, do not invent an output path, call list_cultures first). It provides clear context for when to use it, though it does not name explicit alternatives or exclusions for sibling tools.

    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

blocks-translation-mcp MCP server

Copy to your README.md:

Score Badge

blocks-translation-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/mahmudul006/blocks-translation-mcp'

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