Poly-Glot AI Workspace
by hmoses · remote · no sign-in to list tools · v1.11.1 · published by GitHub user hmoses
15 tools, 38 languages, 8 AIs. Apple-approved 3-day Pro trial; subscription renews, no free Sends.
15 tools: 9 change things and 6 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things9Claude Code: ask: see these tools
- Only reads6Claude Code: allow: see these tools
8 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http poly-glot-ai-workspace https://br-steep-leaf-ae2o29qz-mcp.compute.c-2.us-east-2.aws.neon.tech/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnopen_workspace
The server marks "open_workspace" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "open_workspace" says "open": a word for a change.
- Warnprepare_compare
The server marks "prepare_compare" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":false}; The name "prepare_compare" says "compare": a word for reading.
The server marks "prepare_custom_compare" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":false}; The name "prepare_custom_compare" says "compare": a word for reading.
The description mentions "credential".
What this check looks forMatched text
description: "...d Bring Your Own Model (BYOM) adapters, credential handling, HTTPS and SSRF restrictions,..."
The description mentions "credentials".
What this check looks forMatched text
description: "...ed. Returns validation or probe status; credentials are transient and never stored or echoe..."
The input schema at properties.apiKey.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.apiKey.description: "Optional transient API credential, never stored or echoed."
Show 2 more findingsShow fewer
- Inforun_custom_model
The description mentions "Credentials".
What this check looks forMatched text
description: "...rompt content to the selected provider. Credentials are transient, not persisted; localhost..."
The input schema at properties.customModels.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.customModels.description: "...on descriptors; excludes authentication credentials."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
15 tools
Changes things 9Claude Code: ask
build_promptFill a named Poly-Glot template with field values and requested input/output languages, producing a finished prompt.No findings
Why it is in this group
- The description's first verb is "fill": a word for a change.
Description, as the server wrote it Fill a named Poly-Glot template with field values and requested input/output languages, producing a finished prompt. Use get_template to inspect needed fields first. This is a subscription-gated Send. Eligible users must authorize a three-day Pro introductory trial through Apple's native subscription purchase flow, or have an active verified Pro subscription or an unexpired legacy trial. There is no continuing free-Send allowance. This tool cannot start an Apple subscription or trial and does not directly query external AI providers.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
detect_languageIdentify the primary language of a nonempty text snippet and map it to one of Poly-Glot's 38 supported language codes.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Identify the primary language of a nonempty text snippet and map it to one of Poly-Glot's 38 supported language codes. Use when the source language is unknown before choosing an interface, output language, or translation workflow. Provide natural-language text in the text parameter (for example, '¿Dónde está la estación?'). Returns JSON with language, provider, and model. Does not translate or alter the input text. Requires an active 3-day trial or Pro subscription; very short, mixed-language, or ambiguous snippets may be misclassified.
localize_textAdapt supplied text for a target language and audience, including culturally appropriate phrasing, tone, and regional conventions rather than literal translation.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Adapt supplied text for a target language and audience, including culturally appropriate phrasing, tone, and regional conventions rather than literal translation. Use for localized product UI, marketing copy, documentation, or customer communications; use translate_text for a closer translation. Set required targetLanguage and optionally locale (e.g. 'es-MX'), audience, and tone. Returns JSON containing localized text, targetLanguage, locale, provider, and model. Requires an active trial or Pro. Review sensitive, legal, and technical output with a qualified local reviewer.
open_workspaceOpen the embedded Poly-Glot prompt workspace and template browser, optionally prefiltered by a query and translated via uiLanguage.1 finding
Why it is in this group
- The name "open_workspace" says "open": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "open_workspace" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "open_workspace" says "open": a word for a change.
Description, as the server wrote it Open the embedded Poly-Glot prompt workspace and template browser, optionally prefiltered by a query and translated via uiLanguage. Returns the unlocked template catalog only for verified subscribers or valid legacy trials, plus entitlement and localization. An unsubscribed account receives no catalog results. Browsing is read-only and cannot start an Apple subscription.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
prepare_comparePrepare the same canonical prompt for two to eight selected AI providers using a raw prompt or accessible template.1 finding
Why it is in this group
- The name "prepare_compare" says "compare": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "prepare_compare" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":false}; The name "prepare_compare" says "compare": a word for reading.
Description, as the server wrote it Prepare the same canonical prompt for two to eight selected AI providers using a raw prompt or accessible template. Returns provider destinations, prompt and usage instructions without calling third-party models. This is a subscription-gated Send; Compare Mode requires a verified Apple subscription or an unexpired legacy trial. MCP cannot start an introductory offer. Use when a user explicitly wants side-by-side answers.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
prepare_custom_comparePrepare a canonical prompt and instructions for comparing at least two targets, including one to five custom BYOM models and optional supported built-in AI providers.2 findings
Why it is in this group
- The name "prepare_custom_compare" says "compare": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Info
The input schema at properties.customModels.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.customModels.description: "...on descriptors; excludes authentication credentials."
- Warn
The server marks "prepare_custom_compare" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":false}; The name "prepare_custom_compare" says "compare": a word for reading.
Description, as the server wrote it Prepare a canonical prompt and instructions for comparing at least two targets, including one to five custom BYOM models and optional supported built-in AI providers. API keys must not appear in the comparison plan; use run_custom_model to execute custom targets separately. Returns comparison targets and prompt without invoking any models. This is a Send action requiring an active Apple-authorized introductory trial, active Pro subscription, or existing unexpired legacy app-managed trial. MCP cannot start an Apple subscription or paid trial.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
run_custom_modelRun a user-supplied prompt against a developer-provided OpenAI-compatible or custom REST HTTPS model endpoint.1 finding
Why it is in this group
- The name "run_custom_model" says "run": a word for a change.
Findings
- Info
The description mentions "Credentials".
What this check looks forMatched text
description: "...rompt content to the selected provider. Credentials are transient, not persisted; localhost..."
Description, as the server wrote it Run a user-supplied prompt against a developer-provided OpenAI-compatible or custom REST HTTPS model endpoint. Use validate_custom_model to test URL and adapter settings before sending. Returns model-generated text, model name, optional usage, and account state. Requires active trial or Pro and transmits prompt content to the selected provider. Credentials are transient, not persisted; localhost/private networks are not supported.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: true
transcribe_audioConvert audio to transcript text for Poly-Glot workflows.No findings
Why it is in this group
- The description's first verb is "convert": a word for a change.
Description, as the server wrote it Convert audio to transcript text for Poly-Glot workflows. Use for supplied speech recordings, not for translating text. Provide exactly one source: a publicly reachable HTTPS audioUrl or base64-encoded audioBase64 (without a data-URL prefix). For base64 audio, supply mimeType and filename when known; languageHint can improve recognition. Set detectLanguage=true to identify the resulting text's language. Requires an active trial or Pro. Returns JSON containing transcript text, optional detectedLanguage, provider, and model. Audio is submitted to a transcription provider; do not send material without permission.
translate_textTranslate supplied text into one of Poly-Glot's 38 supported languages while aiming to preserve meaning, names, formatting, code, and URLs.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Translate supplied text into one of Poly-Glot's 38 supported languages while aiming to preserve meaning, names, formatting, code, and URLs. Use for translation rather than cultural adaptation; use localize_text when audience, tone, or regional conventions must change. Specify required targetLanguage (language name or code, e.g. 'es'); set sourceLanguage to 'auto' to detect the source automatically. Returns JSON containing translated text, targetLanguage, provider, and model; quality can vary with idiom and context. Requires an active trial or Pro; text is processed by the configured translation provider.
Only reads 6Claude Code: allow
get_custom_model_capabilitiesExplain the supported Bring Your Own Model (BYOM) adapters, credential handling, HTTPS and SSRF restrictions, and inability of a public remote MCP server to connect directly to loc…1 finding
Why it is in this group
- The name "get_custom_model_capabilities" says "get": a word for reading.
Findings
- Info
The description mentions "credential".
What this check looks forMatched text
description: "...d Bring Your Own Model (BYOM) adapters, credential handling, HTTPS and SSRF restrictions,..."
Description, as the server wrote it Explain the supported Bring Your Own Model (BYOM) adapters, credential handling, HTTPS and SSRF restrictions, and inability of a public remote MCP server to connect directly to localhost. Use before configuring a custom model. Returns capability metadata without contacting a model, starting a trial, or consuming a send.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_language_optionsList Poly-Glot's 38 supported UI, input, and AI output languages.No findings
Why it is in this group
- The name "get_language_options" says "get": a word for reading.
Description, as the server wrote it List Poly-Glot's 38 supported UI, input, and AI output languages. Use to verify language availability before multilingual work. Optionally select uiLanguage to localize labels. Returns language records and localization metadata. Read-only, with no send or trial activation.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_subscription_statusRead the current account's access state, trial timing, subscription entitlement locks and subscription pricing.No findings
Why it is in this group
- The name "get_subscription_status" says "get": a word for reading.
Description, as the server wrote it Read the current account's access state, trial timing, subscription entitlement locks and subscription pricing. Use before gated tools or when asked about remaining access. This read-only operation never starts a trial or a charge. Eligible introductory trials begin only after an Apple subscription is explicitly authorized in the native app.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_templateRetrieve a named template's fields and entitled prompt body.No findings
Why it is in this group
- The name "get_template" says "get": a word for reading.
Description, as the server wrote it Retrieve a named template's fields and entitled prompt body. Use search_templates first to find the exact name; inaccessible templates return a paywall view without Pro fields or prompt content after the trial. Returns template, entitlement and localization data. Reading a template alone neither starts the trial nor consumes a send.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
search_templatesSearch Poly-Glot's template catalog by keywords and goal, optionally filtered to free or Pro results.No findings
Why it is in this group
- The name "search_templates" says "search": a word for reading.
Description, as the server wrote it Search Poly-Glot's template catalog by keywords and goal, optionally filtered to free or Pro results. Use before get_template or build_prompt when the exact name is unknown. Expired accounts see locked Pro template cards. Selecting one returns a paywall, not Pro fields or prompt text. Searching is read-only and does not trigger a send or trial.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
validate_custom_modelValidate the HTTPS URL and adapter configuration for an external custom model.2 findings
Why it is in this group
- The name "validate_custom_model" says "validate": a word for reading.
Findings
- Info
The description mentions "credentials".
What this check looks forMatched text
description: "...ed. Returns validation or probe status; credentials are transient and never stored or echoe..."
- Info
The input schema at properties.apiKey.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.apiKey.description: "Optional transient API credential, never stored or echoed."
Description, as the server wrote it Validate the HTTPS URL and adapter configuration for an external custom model. For OpenAI-compatible mode provide baseUrl; for custom REST use endpoint. Set probe=true only when an actual minimal request to the external provider is intended. Returns validation or probe status; credentials are transient and never stored or echoed. Requires active trial or Pro; does not perform a user prompt Send.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.11.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http poly-glot-ai-workspace https://br-steep-leaf-ae2o29qz-mcp.compute.c-2.us-east-2.aws.neon.tech/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__poly-glot-ai-workspace__get_language_options",
"mcp__poly-glot-ai-workspace__get_subscription_status",
"mcp__poly-glot-ai-workspace__search_templates",
"mcp__poly-glot-ai-workspace__get_template",
"mcp__poly-glot-ai-workspace__get_custom_model_capabilities",
"mcp__poly-glot-ai-workspace__validate_custom_model"
],
"ask": [
"mcp__poly-glot-ai-workspace__open_workspace",
"mcp__poly-glot-ai-workspace__build_prompt",
"mcp__poly-glot-ai-workspace__prepare_compare",
"mcp__poly-glot-ai-workspace__run_custom_model",
"mcp__poly-glot-ai-workspace__prepare_custom_compare",
"mcp__poly-glot-ai-workspace__transcribe_audio",
"mcp__poly-glot-ai-workspace__detect_language",
"mcp__poly-glot-ai-workspace__translate_text",
"mcp__poly-glot-ai-workspace__localize_text"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as poly-glot-ai-workspace. Review it before you use it.
