_ registry / mcp streamable-http · checked 11h ago

localazy-mcp

https://localazy.usefulapi.io

Registry code: 97270e3491403859

api record

Tools for Localazy, hosted by usefulapi.io. Read-only tools never change data; ask the user before a tool that creates, changes or deletes Localazy data. Free plan: 100 tool calls per month. Run localazy_usage_status to see the calls used this month. If the user asks for something none of these tools can do, tell the user and, with their OK, run localazy_request_feature to record the request. Pro (unlimited calls, $9/month or $90/year): when the user wants more calls or reaches the limit, run localazy_upgrade; it returns a Stripe Checkout link for the user to open.…

endpoint
https://localazy.usefulapi.io/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is localazy-mcp live?
Yes — it answered the hub's last check (checked 11h ago). It answered 100% of checks over the last 30 days.
Is localazy-mcp free to use?
No — it asks for a key or a login before it will serve.
What tools does localazy-mcp have?
17 tools: localazy_list_cdn_metadata, localazy_list_glossary, localazy_list_projects, localazy_get_glossary_term, localazy_get_mt_suggestions, localazy_list_import_formats, localazy_list_files, localazy_get_file_keys, ….
Is localazy-mcp safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
279ms

last good check

priced tools
0

of 17 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 17 tools
17 auth-required 17 of 17 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • localazy_list_cdn_metadata auth-required never probed

    List the Localazy CDN release tags of a project and the URL of each tag's metadata file (languages, plural rules). Needs the Manager role. GET /projects/{projectId}/cdn.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "project"
      ],
      "properties": {
        "project": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Localazy project id or slug (from localazy_list_projects)."
        }
      }
    }
    arguments 15 lines
  • localazy_list_glossary auth-required never probed

    All glossary terms of a project: id, description, translate/case-sensitive/exact-match flags and the term in each language. GET /projects/{projectId}/glossary.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "project"
      ],
      "properties": {
        "project": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Localazy project id or slug (from localazy_list_projects)."
        }
      }
    }
    arguments 15 lines
  • localazy_list_projects auth-required 11h ago

    List the Localazy projects the token can reach (a project token reaches one project): id, slug, name, source language, your role and visibility. Optionally add owning-organization limits (keys used/available, feature flags) and per-language progress counts (active, review, current, translated, sourceChanged, needImprovement). GET /projects.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "languages": {
          "type": "boolean",
          "description": "Add per-language translation progress."
        },
        "organization": {
          "type": "boolean",
          "description": "Add the owning organization's key usage and feature flags."
        }
      }
    }
    arguments 14 lines
  • localazy_get_glossary_term auth-required 11h ago

    One glossary term by id. GET /projects/{projectId}/glossary/{id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "project",
        "term_id"
      ],
      "properties": {
        "project": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Localazy project id or slug (from localazy_list_projects)."
        },
        "term_id": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Glossary term id (from localazy_list_glossary)."
        }
      }
    }
    arguments 22 lines
  • localazy_get_mt_suggestions auth-required 11h ago

    Machine Translation suggestions (one per engine) for one source key into a target language. Free: it does not consume Localazy credits (Localazy AI does; see localazy_translate_with_ai). The first request for a key can be slower. Nothing is saved. GET /projects/{projectId}/keys/{keyId}/suggestions/mt.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "project",
        "key_id",
        "to"
      ],
      "properties": {
        "to": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_#-]{2,24}$",
          "description": "Target language code."
        },
        "from": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_#-]{2,24}$",
          "description": "Source language code (default: the project's source language)."
        },
        "key_id": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Source key id (the `id` of a key from localazy_get_file_keys)."
        },
        "project": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Localazy project id or slug (from localazy_list_projects)."
        }
      }
    }
    arguments 33 lines
  • localazy_list_import_formats auth-required never probed

    List the file types Localazy can store strings as (type id, name, support for plurals/arrays/structured keys). The `json` type is what localazy_import_keys uses. GET /import/formats.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {}
    }
    arguments 5 lines
  • localazy_list_files auth-required never probed

    List the files in a project (id, name, type, optional path). Use a file id with localazy_get_file_keys to read its strings. GET /projects/{projectId}/files.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "project"
      ],
      "properties": {
        "project": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Localazy project id or slug (from localazy_list_projects)."
        }
      }
    }
    arguments 15 lines
  • localazy_get_file_keys auth-required never probed

    Read the strings of one file in one language: key id, key path, current translation (a string, an array or a plural object keyed @one/@other). Pages of up to 1000 keys; pass `next` for the following page. Set extra_info for hidden/limit/deprecated/comment, no_content to list keys without text. Counts against the project's daily fetch cap. GET /projects/{projectId}/files/{fileId}/keys/{lang}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "project",
        "file_id",
        "lang"
      ],
      "properties": {
        "lang": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_#-]{2,24}$",
          "description": "Language code, e.g. en, cs, pt_BR, zh#Hans (as listed with localazy_list_projects languages=true)."
        },
        "next": {
          "type": "string",
          "maxLength": 500,
          "minLength": 1,
          "description": "Paging key: pass the previous reply's `next`. Absent `next` = last page."
        },
        "limit": {
          "type": "integer",
          "maximum": 1000,
          "minimum": 1,
          "description": "Items per page, 1-1000 (default 100 for keys; Localazy's own default for links is 1000)."
        },
        "file_id": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "File id (from localazy_list_files)."
        },
        "project": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Localazy project id or slug (from localazy_list_projects)."
        },
        "deprecated": {
          "type": "boolean",
          "description": "Include deprecated keys."
        },
        "extra_info": {
          "type": "boolean",
          "description": "Add hidden, limit, deprecated and comment to each key."
        },
        "no_content": {
          "type": "boolean",
          "description": "Omit the translation text (keys only)."
        },
        "unapproved": {
          "type": "boolean",
          "description": "Include translations that are not yet approved."
        }
      }
    }
    arguments 56 lines
  • localazy_list_key_links auth-required never probed

    List links between duplicate source keys (key id, linked project id, linked key id), paged. Needs the Reviewer role. GET /projects/{projectId}/links.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "project"
      ],
      "properties": {
        "next": {
          "type": "string",
          "maxLength": 500,
          "minLength": 1,
          "description": "Paging key: pass the previous reply's `next`. Absent `next` = last page."
        },
        "limit": {
          "type": "integer",
          "maximum": 1000,
          "minimum": 1,
          "description": "Items per page, 1-1000 (default 100 for keys; Localazy's own default for links is 1000)."
        },
        "project": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Localazy project id or slug (from localazy_list_projects)."
        }
      }
    }
    arguments 27 lines
  • localazy_get_import_progress auth-required never probed

    Progress of an import batch started with localazy_import_keys (pass its `import_batch`). The endpoint is used by Localazy's own API client but is not in the public docs yet, so the reply is returned as Localazy sends it. GET /projects/{projectId}/import/{importBatch}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "project",
        "import_batch"
      ],
      "properties": {
        "project": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Localazy project id or slug (from localazy_list_projects)."
        },
        "import_batch": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "The `import_batch` returned by localazy_import_keys."
        }
      }
    }
    arguments 22 lines
  • localazy_get_tm_suggestions auth-required never probed

    Translation Memory suggestions for one source key into a target language: earlier translations of the same text, with the project they came from. Free; no Localazy credits. GET /projects/{projectId}/keys/{keyId}/suggestions/tm.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "project",
        "key_id",
        "to"
      ],
      "properties": {
        "to": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_#-]{2,24}$",
          "description": "Target language code."
        },
        "from": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_#-]{2,24}$",
          "description": "Source language code (default: the project's source language)."
        },
        "key_id": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Source key id (the `id` of a key from localazy_get_file_keys)."
        },
        "project": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Localazy project id or slug (from localazy_list_projects)."
        }
      }
    }
    arguments 33 lines
  • localazy_create_glossary_term auth-required never probed

    WRITE: add one term to a project's glossary (max 1,000 terms per project). Needs the Reviewer role. The term guides translators and Localazy AI from now on. POST /projects/{projectId}/glossary.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "project",
        "term"
      ],
      "properties": {
        "term": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "lang",
              "term"
            ],
            "properties": {
              "lang": {
                "type": "string",
                "pattern": "^[A-Za-z0-9_#-]{2,24}$",
                "description": "Language code, e.g. en, cs, pt_BR, zh#Hans (as listed with localazy_list_projects languages=true)."
              },
              "term": {
                "type": "string",
                "maxLength": 500,
                "minLength": 1
              }
            }
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "The term in each language: [{lang, term}]. Include the project's source language."
        },
        "project": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Localazy project id or slug (from localazy_list_projects)."
        },
        "description": {
          "type": "string",
          "maxLength": 2000,
          "description": "Explanation for translators."
        },
        "exact_match": {
          "type": "boolean",
          "description": "Match the exact form only (no inflected forms)."
        },
        "case_sensitive": {
          "type": "boolean",
          "description": "Match case exactly."
        },
        "translate_term": {
          "type": "boolean",
          "description": "true = the term is translated; false = keep it as is in every language."
        }
      }
    }
    arguments 58 lines
  • localazy_update_glossary_term auth-required never probed

    WRITE: replace the content of one glossary term (the term list and any flags you pass overwrite the old values). Needs the Reviewer role. Read the term first with localazy_get_glossary_term. PUT /projects/{projectId}/glossary/{id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "project",
        "term_id",
        "term"
      ],
      "properties": {
        "term": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "lang",
              "term"
            ],
            "properties": {
              "lang": {
                "type": "string",
                "pattern": "^[A-Za-z0-9_#-]{2,24}$",
                "description": "Language code, e.g. en, cs, pt_BR, zh#Hans (as listed with localazy_list_projects languages=true)."
              },
              "term": {
                "type": "string",
                "maxLength": 500,
                "minLength": 1
              }
            }
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "The term in each language: [{lang, term}]. Include the project's source language."
        },
        "project": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Localazy project id or slug (from localazy_list_projects)."
        },
        "term_id": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Glossary term id (from localazy_list_glossary)."
        },
        "description": {
          "type": "string",
          "maxLength": 2000,
          "description": "Explanation for translators."
        },
        "exact_match": {
          "type": "boolean",
          "description": "Match the exact form only (no inflected forms)."
        },
        "case_sensitive": {
          "type": "boolean",
          "description": "Match case exactly."
        },
        "translate_term": {
          "type": "boolean",
          "description": "true = the term is translated; false = keep it as is in every language."
        }
      }
    }
    arguments 65 lines
  • localazy_submit_translation auth-required never probed

    WRITE: set the translation of ONE source key in ONE target language. Reviewers, managers, owners and trusted translators set it as the current version (it overwrites the existing translation and goes live in the next download/CDN release); a translator's value is stored as a candidate for review. Values are stored as-is, with no placeholder, plural or length check, and the source language cannot be written. Check the reply's `stored`. POST /projects/{projectId}/keys/{keyId}/translations/{lang}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "project",
        "key_id",
        "lang",
        "value"
      ],
      "properties": {
        "lang": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_#-]{2,24}$",
          "description": "Target language code (not the source language)."
        },
        "value": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 20000
            },
            {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 20000
              },
              "maxItems": 100,
              "minItems": 1
            },
            {
              "type": "object",
              "propertyNames": {
                "type": "string",
                "pattern": "^@?(zero|one|two|few|many|other)$"
              },
              "additionalProperties": {
                "type": "string",
                "maxLength": 20000
              }
            }
          ],
          "description": "The translation: a string for a singular key, an array of strings for an array key, or an object keyed by plural form (zero, one, two, few, many, other; the @one/@other form that localazy_get_file_keys returns is accepted too) for a plural key, with at least one form. It must match the key's form."
        },
        "key_id": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Source key id (the `id` of a key from localazy_get_file_keys)."
        },
        "project": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Localazy project id or slug (from localazy_list_projects)."
        }
      }
    }
    arguments 58 lines
  • localazy_import_keys auth-required never probed

    WRITE: add or update up to 50 string keys in ONE file, in ONE language (flat key -> text; use a key like "home.title" for the key name). Needs the Owner role. Nothing is deleted or deprecated, and Localazy does not overwrite existing current translations by default (translations identical to the source are skipped). By default the language is the project's source language, so this adds new source keys or changes the source text of existing ones (which marks their translations as changed); pass a different language to import translations, optionally through review with import_as_new. Imports count against the project's daily import cap (Free plan: 100/day). Returns an import_batch id for localazy_get_import_progress. POST /projects/{projectId}/import.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "project",
        "language",
        "keys"
      ],
      "properties": {
        "keys": {
          "type": "object",
          "description": "Key name -> text, 1-50 entries (e.g. {\"home.title\": \"Welcome\"}).",
          "propertyNames": {
            "type": "string",
            "maxLength": 512,
            "minLength": 1
          },
          "additionalProperties": {
            "type": "string",
            "maxLength": 5000
          }
        },
        "project": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Localazy project id or slug (from localazy_list_projects)."
        },
        "language": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_#-]{2,24}$",
          "description": "Language of the strings in `keys`, e.g. en. Use the project's source language to add source keys."
        },
        "file_name": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Target file name in the project (default content.json). A new name creates a new file."
        },
        "file_path": {
          "type": "string",
          "maxLength": 500,
          "minLength": 1,
          "description": "Optional path of the file in the project, without the file name."
        },
        "import_as_new": {
          "type": "boolean",
          "description": "Send the imported translations through the review process (recommended for translations you are unsure about)."
        }
      }
    }
    arguments 51 lines
  • localazy_update_key_properties auth-required never probed

    WRITE: change a source key's translator comment, maximum translation length, or hidden flag (fields you omit stay as they are). Needs the Manager role. It does not change texts and cannot deprecate or delete the key. PUT /projects/{projectId}/keys/{keyId}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "project",
        "key_id"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 100000,
          "minimum": -1,
          "description": "Maximum translation length; -1 removes the limit."
        },
        "hidden": {
          "type": "boolean",
          "description": "Hide the key from translators."
        },
        "key_id": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Source key id (the `id` of a key from localazy_get_file_keys)."
        },
        "comment": {
          "type": "string",
          "maxLength": 2000,
          "description": "Context note for translators."
        },
        "project": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Localazy project id or slug (from localazy_list_projects)."
        }
      }
    }
    arguments 37 lines
  • localazy_translate_with_ai auth-required never probed

    COSTS CREDITS: translate up to 10 texts with Localazy AI. Every call consumes Localazy credits from the account balance, by the number of translated words (see localazy.com/pricing); nothing is stored in the project, the translations are only returned. Limits: 10 requests/minute, 32 items and 16,384 characters per request. Beta. Needs the Owner role. POST /projects/{projectId}/ai.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "project",
        "from",
        "to",
        "items"
      ],
      "properties": {
        "to": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_#-]{2,24}$",
          "description": "Target language code, e.g. cs."
        },
        "from": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_#-]{2,24}$",
          "description": "Source language code, e.g. en."
        },
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "source"
            ],
            "properties": {
              "key": {
                "type": "string",
                "maxLength": 512,
                "description": "Key name, as context."
              },
              "source": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 4000,
                    "minLength": 1
                  },
                  {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {
                      "type": "string",
                      "maxLength": 4000
                    }
                  }
                ],
                "description": "Text, or an object of plural forms."
              },
              "comment": {
                "type": "string",
                "maxLength": 1000,
                "description": "Context note."
              },
              "length_limit": {
                "type": "integer",
                "maximum": 32767,
                "minimum": 0,
                "description": "Maximum characters of the translation."
              }
            }
          },
          "maxItems": 10,
          "minItems": 1,
          "description": "1-10 texts to translate."
        },
        "project": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Localazy project id or slug (from localazy_list_projects)."
        },
        "fallback": {
          "enum": [
            "google",
            "deepl"
          ],
          "type": "string",
          "description": "Engine to use when Localazy AI is unavailable."
        }
      }
    }
    arguments 86 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 97270e3491403859.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/97270e3491403859/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/97270e3491403859/badge.svg)](https://brick.blue/agent/97270e3491403859?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.

_ also on usefulapi.io 131 entries

Served from the same domain, which is what was measured. Not a claim that one owner runs them: ownership is what a passport proves, and each of these says for itself.

123 more sit on this domain. All of them.