Skip to content

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.

Changes · 9

15 tools: 9 change things and 6 only read.

Scanned Oct 21, 2026

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/mcp

Findings

Matches of fixed checks, with the text they matched.

3 warn5 info
  • The server marks "open_workspace" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "open_workspace" says "open": a word for a change.

    What this check looks for
  • The server marks "prepare_compare" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":false}; The name "prepare_compare" says "compare": a word for reading.

    What this check looks for
  • The server marks "prepare_custom_compare" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":false}; The name "prepare_custom_compare" says "compare": a word for reading.

    What this check looks for
  • The description mentions "credential".

    Matched text

    description: "...d Bring Your Own Model (BYOM) adapters, credential handling, HTTPS and SSRF restrictions,..."

    What this check looks for
  • The description mentions "credentials".

    Matched text

    description: "...ed. Returns validation or probe status; credentials are transient and never stored or echoe..."

    What this check looks for
  • The input schema at properties.apiKey.description mentions "credential".

    Matched text

    inputSchema.properties.apiKey.description: "Optional transient API credential, never stored or echoed."

    What this check looks for
Show 2 more findings

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".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "open_workspace" says "open": a word for a change.

      What this check looks for
    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.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":false}; The name "prepare_compare" says "compare": a word for reading.

      What this check looks for
    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".

      Matched text

      inputSchema.properties.customModels.description: "...on descriptors; excludes authentication credentials."

      What this check looks for
    • Warn

      The server marks "prepare_custom_compare" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":false}; The name "prepare_custom_compare" says "compare": a word for reading.

      What this check looks for
    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".

      Matched text

      description: "...rompt content to the selected provider. Credentials are transient, not persisted; localhost..."

      What this check looks for
    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".

      Matched text

      description: "...d Bring Your Own Model (BYOM) adapters, credential handling, HTTPS and SSRF restrictions,..."

      What this check looks for
    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".

      Matched text

      description: "...ed. Returns validation or probe status; credentials are transient and never stored or echoe..."

      What this check looks for
    • Info

      The input schema at properties.apiKey.description mentions "credential".

      Matched text

      inputSchema.properties.apiKey.description: "Optional transient API credential, never stored or echoed."

      What this check looks for
    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/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.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.