multilocale-mcp
Registry code: ad58473935a373c3
# Localization workspace with Multilocale
## Interactive workspace
- endpoint
- https://mcp.multilocale.com/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 multilocale-mcp live?
- Yes — it answered the hub's last check (checked 2h ago). It answered 100% of checks over the last 30 days.
- Is multilocale-mcp free to use?
- Not anonymously — it asks for a key or a login before it will serve. Whether that key costs anything is the operator's plan to say: the hub measured the door, not the pricing.
- What tools does multilocale-mcp have?
- 18 tools: list_projects, get_project, search_phrases, export_locale_dictionary, list_team_members, show_project_overview, add_project, update_project, ….
- Is multilocale-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.
90 days 99.8%· all time 99.8%
last good check
of 18 tools
- degraded → live
- live → degraded· timeout after 20000ms
- unknown → live
- used for
- manage app translation strings
- find missing translations
- add a new language to a project
- takes → gives
- text → data
- tools
- 11 reads7 changes data
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.
through this hub
successful
what callers paid
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.
list_projects reads auth-required 41d ago
Use this when someone asks which localization projects they have in MultiLocale. Returns each project's id, name, default locale, languages and timestamps, up to 100 projects. Not for listing the strings inside a project.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "additionalProperties": false }arguments 6 linesget_project reads auth-required 41d ago
Use this when someone asks about one localization project, such as which languages it has or its default locale. Returns the project's id, name, default locale, configured locales and creation and edit times. Not for how complete its translations are.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "projectIdOrName" ], "properties": { "projectIdOrName": { "type": "string", "maxLength": 128, "description": "Project id or name" } }, "additionalProperties": false }arguments 15 linessearch_phrases reads auth-required 41d ago
Use this when someone asks to find translation strings that contain a word or phrase, in their keys or text. Returns up to 100 matches with id, key, language and value from a case-insensitive match within one project. Not for one exact key.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "project", "query" ], "properties": { "query": { "type": "string", "maxLength": 200, "minLength": 1, "description": "Text to find in keys or values, case-insensitive, 1 to 200 characters" }, "project": { "type": "string", "maxLength": 128, "description": "Project name; an id matches nothing" }, "language": { "type": "string", "maxLength": 35, "description": "Only search this locale code; every language when absent" } }, "additionalProperties": false }arguments 27 linesexport_locale_dictionary reads auth-required never probed
Use this when someone wants the key and value pairs of one language, for example to review or copy a translation file. Returns up to 50 entries per call (25 by default) sorted by key, values cut to 500 characters, with nextSkip for the next page. Not for a complete file download, which the MultiLocale CLI provides.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "project", "language" ], "properties": { "skip": { "type": "integer", "maximum": 10000, "minimum": 0, "description": "Keys to skip in alphabetical order, for paging: pass the previous nextSkip; defaults to 0, at most 10000" }, "limit": { "type": "integer", "maximum": 50, "description": "Entries to return, from 1 to 50; defaults to 25", "exclusiveMinimum": 0 }, "project": { "type": "string", "maxLength": 128, "minLength": 1, "description": "Project name; an id matches nothing" }, "language": { "type": "string", "maxLength": 35, "minLength": 1, "description": "Locale code to export, such as en" } }, "additionalProperties": false }arguments 35 lineslist_team_members reads auth-required 41d ago
Use this when someone asks who is on their MultiLocale team or what role each person has. Returns each member's display name and role, up to 100 members (no emails, ids or contact details). Not for inviting or removing people.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "additionalProperties": false }arguments 6 linesshow_project_overview reads auth-required 41d ago
Use this when someone wants a quick overview of one of their localization projects. Returns an overview card with the project's default locale, up to 24 configured locales and timestamps. Not for translation completeness.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "projectIdOrName" ], "properties": { "projectIdOrName": { "type": "string", "maxLength": 128, "minLength": 1, "description": "Project id or name" } } }arguments 15 linesadd_project changes data auth-required never probed
Use this when someone asks to create a new localization project with a given name and languages. Returns the new project with its default locale and locales; if the name is taken it returns already-exists and creates nothing. Not for adding a language to an existing project.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "name", "defaultLocale" ], "properties": { "name": { "type": "string", "maxLength": 128, "minLength": 1, "description": "Name of the new project, 1 to 128 characters; a URL-safe slug such as my-app is easiest to reference later" }, "locales": { "type": "array", "items": { "type": "string", "maxLength": 35, "minLength": 1 }, "maxItems": 200, "description": "Other locale codes to start with, such as it or de; the default locale is added automatically" }, "defaultLocale": { "type": "string", "maxLength": 35, "minLength": 1, "description": "Locale code of the source language, such as en" } }, "additionalProperties": false }arguments 33 linesupdate_project changes data auth-required never probed
Use this when someone asks to change a project's default locale, replace its list of languages, or set its translation context. Returns which fields changed. The language list is replaced as a whole, no strings are translated or deleted, and the project name stays fixed. Not for adding a language with its translations.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "projectIdOrName" ], "properties": { "context": { "type": "string", "maxLength": 600, "description": "Translation context for the whole project, up to 600 characters; an empty string clears it" }, "locales": { "type": "array", "items": { "type": "string", "maxLength": 35, "minLength": 1 }, "maxItems": 200, "minItems": 1, "description": "Complete replacement list of locale codes, including the default locale" }, "defaultLocale": { "type": "string", "maxLength": 35, "minLength": 1, "description": "New default locale code; it has to be one of the project's locales" }, "projectIdOrName": { "type": "string", "maxLength": 128, "minLength": 1, "description": "Project id or name" } }, "additionalProperties": false }arguments 38 lineslist_phrases reads auth-required 41d ago
Use this when someone asks to see the translation strings in a project, optionally in one language or for one key. Returns up to 100 phrases with id, key, language and value, plus the total count. Not for finding strings by the words they contain.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "project" ], "properties": { "key": { "type": "string", "maxLength": 256, "description": "Only this exact key" }, "project": { "type": "string", "maxLength": 128, "description": "Project name; an id matches nothing" }, "language": { "type": "string", "maxLength": 35, "description": "Only strings in this locale code, such as en, it or pt-BR" } }, "additionalProperties": false }arguments 25 linesget_phrase reads auth-required 41d ago
Use this when someone asks how one exact key is translated, in every language or in one. Returns that key's text per locale, up to 24 locales and 2,000 characters each, with machine-translation flags and the projects sharing it, and renders a phrase card. Not for searching keys by text.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "project", "key" ], "properties": { "key": { "type": "string", "maxLength": 256, "minLength": 1, "description": "Exact key, matched case-sensitively" }, "project": { "type": "string", "maxLength": 128, "description": "Project name; an id matches nothing" }, "language": { "type": "string", "maxLength": 35, "description": "One locale code such as en or it; every language when absent" } }, "additionalProperties": false }arguments 27 linesfind_duplicate_phrase_values reads auth-required 41d ago
Use this when someone wants to clean up a project by finding keys that repeat the same default-language text. Returns up to 25 repeated values with the keys that share them, scanning 1,000 default-locale strings by default and at most 2,000. Not for untranslated strings.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "project" ], "properties": { "project": { "type": "string", "maxLength": 128, "minLength": 1, "description": "Project id or name" }, "scanLimit": { "type": "integer", "maximum": 2000, "description": "Default-locale strings to scan, from 1 to 2000; defaults to 1000", "exclusiveMinimum": 0 } }, "additionalProperties": false }arguments 22 linesfind_missing_translations reads auth-required 41d ago
Use this when someone asks which strings are not translated yet, or how complete each language is. Returns completion percentages and up to 25 missing keys per locale, for one locale or up to 10, compared with the default locale. Nothing is translated or written. Not for filling in the missing translations.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "project" ], "properties": { "project": { "type": "string", "maxLength": 128, "minLength": 1, "description": "Project id or name" }, "language": { "type": "string", "maxLength": 35, "minLength": 1, "description": "One locale code to check; omit to check the configured locales" }, "scanLimit": { "type": "integer", "maximum": 2000, "description": "Strings to scan per locale, from 1 to 2000; defaults to 1000", "exclusiveMinimum": 0 }, "localeLimit": { "type": "integer", "maximum": 10, "description": "How many configured locales to check when language is omitted, from 1 to 10; defaults to 10", "exclusiveMinimum": 0 } }, "additionalProperties": false }arguments 34 linesadd_phrase changes data auth-required never probed
Use this when someone asks to add a new string or key to their app's translations. Returns the created key with one machine translation per configured locale, made from the source text in the default locale. A key that already exists returns already-exists and is left unchanged. Not for changing an existing translation.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "project", "key" ], "properties": { "key": { "type": "string", "maxLength": 256, "minLength": 1, "description": "New key, 1 to 256 characters" }, "model": { "type": "string", "maxLength": 64, "description": "Translation model id; defaults to gpt-6-luna" }, "value": { "type": "string", "maxLength": 2000, "minLength": 1, "description": "Source text in the default locale, up to 2,000 characters; defaults to the key itself" }, "context": { "type": "string", "maxLength": 600, "description": "Note for the translator that disambiguates the string, up to 600 characters" }, "project": { "type": "string", "maxLength": 128, "minLength": 1, "description": "Project id or name" } }, "additionalProperties": false }arguments 39 linesupdate_phrase changes data auth-required never probed
Use this when someone asks to fix or change the text of one key in one language. Returns the previous and new text and the projects sharing that string; the change applies in all of them and marks the text as human-edited. Not for adding a new key.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "project", "key", "language", "value" ], "properties": { "key": { "type": "string", "maxLength": 256, "minLength": 1, "description": "Exact existing key" }, "value": { "type": "string", "maxLength": 2000, "minLength": 1, "description": "New text for that language, 1 to 2,000 characters" }, "project": { "type": "string", "maxLength": 128, "description": "Project name; an id matches nothing" }, "language": { "type": "string", "maxLength": 35, "minLength": 1, "description": "Locale code of the translation to change, such as en or it" } }, "additionalProperties": false }arguments 36 linesadd_locale changes data auth-required never probed
Use this when someone asks to add a new language to a project and translate their strings into it. Returns the updated language list and how many strings were machine-translated, one per key, all before anything is saved, so a very large project can time out. Not for a language the project already has.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "project", "locale" ], "properties": { "model": { "type": "string", "maxLength": 64, "description": "Translation model id; defaults to gpt-6-luna" }, "locale": { "type": "string", "maxLength": 35, "minLength": 1, "description": "Locale code to add, such as it or pt-BR" }, "context": { "type": "string", "maxLength": 600, "description": "Note applied to every translation in this run, up to 600 characters" }, "project": { "type": "string", "maxLength": 128, "minLength": 1, "description": "Project id or name" } }, "additionalProperties": false }arguments 33 linesshare_phrase changes data auth-required never probed
Use this when someone asks to reuse a key's translations in other projects, such as a common button label. Returns the target projects and how many language rows were attached, up to 25 targets; later edits to that string apply in every attached project. Not for a copy that can differ per project.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "project", "key", "targetProjects" ], "properties": { "key": { "type": "string", "maxLength": 256, "minLength": 1, "description": "Exact key to share, with all of its languages" }, "project": { "type": "string", "maxLength": 128, "minLength": 1, "description": "Project id or name that already has the key" }, "targetProjects": { "type": "array", "items": { "type": "string", "maxLength": 128, "minLength": 1 }, "maxItems": 25, "minItems": 1, "description": "1 to 25 project ids or names to attach the key to" } }, "additionalProperties": false }arguments 35 linesdelete_phrase changes data auth-required never probed
Use this when someone asks to remove a key from their translations. Returns how many language rows were deleted and which other projects shared them; a shared string is deleted permanently for those projects too. Not for removing only one language's translation.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "project", "key" ], "properties": { "key": { "type": "string", "maxLength": 256, "minLength": 1, "description": "Exact key to delete in every language" }, "project": { "type": "string", "maxLength": 128, "minLength": 1, "description": "Project id or name that has the key" } }, "additionalProperties": false }arguments 23 linesopen_multilocale reads auth-required never probed
Use this when someone wants to open Multilocale and browse their workspace interactively. Localization projects, strings and translations. Starts with up to 100 items. Not for changing data.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": {} }arguments 5 lines
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.
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.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - 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. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's idad58473935a373c3.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/ad58473935a373c3/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/ad58473935a373c3?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.
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.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- 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.
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.
- www.multilocale.com Multilocale Documentation Agent