Skip to main content
Glama

Server Details

15 tools, 38 languages, 8 AIs. Apple-approved 3-day Pro trial; subscription renews, no free Sends.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
97.0% over 56 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Server Listing
polyglot-mcp

TDQS

A4.3/5.0

Scored across 15 tools

Disambiguation4/5

Most tools have clearly distinct purposes, but prepare_compare and prepare_custom_compare are close siblings, as are get_template/search_templates and build_prompt versus the prepare_* tools. Descriptions do a good job differentiating them (built-in vs BYOM targets, fill vs prepare), so an agent can disambiguate with careful reading.

Naming Consistency5/5

All 15 tools use a consistent snake_case verb_noun pattern (get_template, search_templates, build_prompt, prepare_compare, validate_custom_model, etc.). There are no camelCase or mixed-convention outliers, and verb choices (get_/search_/prepare_/run_/validate_) are predictable.

Tool Count5/5

15 tools sit right at the top of the ideal 3-15 range for a multi-feature workspace (templates, translation, localization, transcription, comparison, BYOM, subscription). Each tool maps to a distinct capability and none feel redundant.

Completeness4/5

The surface covers the core multilingual lifecycle: language discovery/detection, translation, localization, transcription, template search/get/build, provider comparison, custom model validation and execution, and subscription/workspace state. Minor gaps exist (e.g., no direct cleanup/update for stored templates or batch/multi-segment translation), but core workflows have no dead ends.

Available Tools

15 tools
build_promptBuild a Poly-Glot promptAInspect

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.

NameRequiredDescriptionDefault
nameYesRequired accessible template name; use search_templates or get_template to find it.
valuesNoMap of template placeholder names to strings, numbers or booleans, e.g. {topic: onboarding}.
uiLanguageNoInterface language name or code, e.g. EN; independent of source and response languages.EN
inputLanguageNoLanguage name or code of input text, e.g. es; defaults to EN.EN
outputLanguageNoRequested output language name or code, e.g. fr; defaults to EN.EN

Output Schema

NameRequiredDescription
nameNo
viewYes
promptNo
messageNo
templateNo
entitlementYes
localizationYes
inputLanguageNo
missingFieldsNo
outputLanguageNo

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations, which only declare readOnlyHint=false, openWorldHint=false, destructiveHint=false. The description discloses subscription gating, the three-day Pro trial path, absence of a continuing free-Send allowance, the fact it cannot start a subscription, and that it does not query external AI providers — all material to whether the call can succeed.

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?

Front-loads what the tool does, then the prerequisite, then the gating rules — a sensible order with no filler sentences. The subscription paragraph is dense and longer than typical, though each clause carries actionable constraint information.

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?

With an output schema present, return values need not be explained, and the description covers the remaining burdens: prerequisites, eligibility, and explicit non-capabilities. An agent has what it needs to decide whether to call this or a sibling.

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 description coverage is 100%, so every parameter (including the values map and the three language fields) is already documented in the schema. The description only gestures at "field values and requested input/output languages" without adding format or edge-case meaning, so the baseline 3 applies.

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?

States a specific verb and resource: fill a named Poly-Glot template with field values and language settings to produce a finished prompt. It also implicitly separates itself from get_template/search_templates by framing those as inspection tools used beforehand.

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?

Gives a concrete prerequisite ("Use get_template to inspect needed fields first") and detailed eligibility conditions for use. It stops short of naming alternative tools for cases where the agent is not eligible or doesn't want a template-based prompt, so it is clear context rather than full when/when-not routing.

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

detect_languageDetect languageAInspect

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.

NameRequiredDescriptionDefault
textYesNonempty sample of text whose predominant language should be detected. Prefer a phrase or sentence, e.g. 'Bonjour, comment allez-vous ?'; this is source content, not an instruction.

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does it well: it discloses the exact return payload (language, provider, model), an access prerequisite (active 3-day trial or Pro subscription), non-mutation of input, and known failure modes ('very short, mixed-language, or ambiguous snippets may be misclassified'). That is unusually complete for a tool with zero annotation coverage.

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?

Front-loaded with purpose, then usage, then return shape, then caveats – a sensible priority order. Minor redundancy: 'nonempty' and the illustrative example are repeated from the schema, costing a little density but not obscuring anything.

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?

No output schema and no annotations exist, so the description must supply return shape, auth requirements, and limitations – and it does all three. An agent has everything needed to decide when to call it, how to call it, and how to interpret failures.

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 description coverage is 100% and the single 'text' parameter is already fully documented, including the 'source content, not an instruction' clarification and an example. The description's mention of the text parameter and its example largely restate the schema, so baseline 3 applies.

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?

States a specific verb and resource ('Identify the primary language of a nonempty text snippet') and bounds the output to 'one of Poly-Glot's 38 supported language codes'. The stated bound plus 'Does not translate or alter the input text' cleanly separates it from translate_text and localize_text without needing to open any schema.

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?

Gives a clear triggering condition ('Use when the source language is unknown before choosing an interface, output language, or translation workflow') and an implicit exclusion ('Does not translate or alter the input text'). It never names the sibling an agent should reach for instead (e.g., translate_text), so routing is inferable rather than explicit.

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

get_custom_model_capabilitiesGet custom model capabilitiesA
Read-only
Inspect

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.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly=true, openWorld=false, destructive=false. The description adds valuable context beyond that: it explains it 'Returns capability metadata without contacting a model, starting a trial, or consuming a send,' which tells the agent there's no side effect or cost. The credential/HTTPS/SSRF content is informational scope rather than behavior, but the no-contact/no-cost guarantee is a genuine addition.

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?

Two sentences, front-loaded with the purpose and followed by usage guidance and behavior. The enumeration of restrictions is slightly dense but each item is relevant.

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?

For a zero-parameter read-only tool with annotations covering safety, the description does enough: it explains what it returns (capability metadata), when to use it, and that there's no side effect. No output schema, but the description notes it returns metadata, which is sufficient.

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?

Zero parameters, so baseline is 4. The description correctly implies this is a no-argument informational tool; nothing to document.

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?

States a specific verb (explain) and resource (BYOM adapter capabilities, restrictions), and enumerates what it covers: adapters, credential handling, HTTPS/SSRF, localhost limitation. Clearly distinguishable from run_custom_model and validate_custom_model siblings.

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?

Explicitly says 'Use before configuring a custom model,' giving a clear when-to-use cue. Doesn't name exclusions or alternative tools like validate_custom_model, but the pre-configuration context is clear.

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

get_language_optionsGet Poly-Glot language optionsA
Read-only
Inspect

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.

NameRequiredDescriptionDefault
uiLanguageNoUI language code or name such as EN, es or Arabic; defaults to EN.EN

Output Schema

NameRequiredDescription
viewYes
languagesYes
localizationYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint=false, and destructiveHint=false, so the safety bar is low. The description adds specific behavioral context beyond that: "no send or trial activation," which tells the agent this call has no downstream side effects. It also notes localization metadata is returned, though the output schema covers that.

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?

Four tight sentences with the core purpose front-loaded; nothing is buried or padded. The closing "Read-only" clause partially restates the annotations, which is mild redundancy but is paired with the non-duplicative "no send or trial activation" detail.

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?

For a single-optional-parameter, read-only lookup with an output schema present, the description covers purpose, timing, parameter effect, and side-effect profile. Return values need not be explained given the output schema, so nothing essential is missing.

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 100%, so the baseline is 3. The description goes further by stating the parameter is optional and explaining its effect — selecting uiLanguage localizes the returned labels — which clarifies intent beyond the schema's format-only 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?

States a specific verb and resource — listing Poly-Glot's supported languages — with the additional scope detail of UI, input, and AI output categories and the count (38). This clearly separates it from siblings like localize_text, translate_text, and detect_language, which perform work in a language rather than enumerating available languages.

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?

"Use to verify language availability before multilingual work" gives a clear context for invoking the tool. It does not name a specific alternative to use instead, nor state any exclusions, so it falls short of a full when/when-not/alternatives statement.

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

get_subscription_statusGet Poly-Glot subscription statusA
Read-only
Inspect

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.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
viewYes
entitlementYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds real value beyond that: it states the call never starts a trial or charge, and that trials only begin after explicit Apple authorization in the native app. That guards against an agent assuming a side effect.

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 sentences, each front-loaded and serving a purpose: capability, usage trigger, safety clarification. The final Apple sentence is slightly tangential but justified because it explains trial semantics an agent might otherwise misinterpret.

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?

A read-only, zero-parameter tool with an output schema, so return values need not be explained. Usage, safety, and capability are all covered, leaving nothing an agent needs 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?

Zero parameters, so the baseline is 4. The description correctly does not pad with parameter detail, and the schema is empty by design.

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?

States a specific verb ('Read') and resource ('current account's access state'), then enumerates what is returned: trial timing, entitlement locks, and pricing. Although siblings are unrelated language tools, the definition leaves no ambiguity about what this call yields.

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?

Explicitly says when to use it: 'before gated tools or when asked about remaining access.' That is a concrete trigger condition. It does not name alternatives or exclusions, which is acceptable here since no sibling overlaps in purpose.

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

get_templateOpen a Poly-Glot templateA
Read-only
Inspect

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.

NameRequiredDescriptionDefault
nameYesRequired template name returned by search_templates.
uiLanguageNoLanguage code for localized template fields; defaults to EN.EN

Output Schema

NameRequiredDescription
viewYes
messageNo
templateYes
entitlementYes
localizationYes

TDQS

A4.7/5.0
Behavior4/5

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

Goes beyond the readOnly/destructive annotations by disclosing what an inaccessible template actually returns (paywall view without Pro fields or prompt content after trial) and that reading does not start the trial or consume a send. This is meaningful side-effect and failure-mode context, though it does not cover rate limits or pagination.

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?

Four short sentences, front-loaded with the core action, then routing, then failure semantics, then the caveat about trial/send consumption. Every sentence carries distinct information with no filler.

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?

With an output schema present, the description needn't enumerate return values, yet it still summarizes them (template, entitlement, localization) and covers the critical entitlement/paywall edge case. Nothing needed to invoke this correctly is missing.

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 100%, so the baseline is 3, but the description meaningfully constrains the 'name' parameter by stating it must be the exact name returned by search_templates, and it hints that localization affects returned fields ('localization data'), which ties the uiLanguage parameter to its effect.

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?

States a specific verb and resource ('Retrieve a named template's fields and entitled prompt body') and immediately distinguishes itself from search_templates, which only locates names. An agent can tell this is the fetch-by-name counterpart to search.

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?

Explicitly routes the agent: 'Use search_templates first to find the exact name.' It also names the failure condition (inaccessible templates return a paywall view) and clarifies the non-side-effect nature of calling it, so the agent knows when this is safe and when it will get degraded results.

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

localize_textLocalize textAInspect

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.

NameRequiredDescriptionDefault
textYesOriginal nonempty copy to adapt for the target culture, region, and audience.
toneNoDesired writing style, such as 'friendly', 'formal', or 'concise'.
localeNoOptional regional locale, such as 'es-MX', 'fr-CA', or 'en-GB'; affects regional spelling and conventions.
audienceNoIntended readers or customers, e.g. 'first-time mobile app users' or 'enterprise developers'.
targetLanguageYesRequired output language name or code, e.g. 'Arabic' or 'ar'.

TDQS

A4.4/5.0
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 well: it discloses the plan prerequisite ('Requires an active trial or Pro'), the return shape, and a review caveat for sensitive/legal/technical output. It omits rate limits and reversibility, but for a non-destructive text adaptation tool those gaps are minor.

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?

Front-loads the differentiating purpose in the first sentence, then usage, params, return, and prerequisites in sequence. Dense but each sentence earns its place; slightly long with the trailing reviewer caveat, though that adds real value.

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?

No output schema exists, and the description compensates by enumerating the returned JSON fields (localized text, targetLanguage, locale, provider, model). Combined with the plan requirement and review caveat, an agent has everything needed to call and interpret this 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 description coverage is 100%, so the schema already documents all five parameters with examples. The description reinforces required vs optional (targetLanguage required; locale, audience, tone optional) but adds no syntax or format detail beyond what the schema provides, so baseline 3 applies.

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?

States a specific verb+resource (adapt text for localization) and immediately distinguishes itself from literal translation, naming the sibling translate_text as the alternative. An agent can route between localize_text and translate_text without opening either schema.

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 when-to-use list (localized product UI, marketing copy, documentation, customer communications) and an explicit when-not with the named alternative ('use translate_text for a closer translation'). Nothing is left to inference.

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

open_workspaceOpen Poly-Glot AI WorkspaceA
Read-only
Inspect

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.

NameRequiredDescriptionDefault
queryNoOptional keyword or goal for template search, e.g. resume. Maximum 200 characters.
uiLanguageNoUI language name or code for template labels; defaults to EN.EN

Output Schema

NameRequiredDescription
viewYes
queryYes
resultsYes
entitlementYes
localizationYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/destructiveHint/openWorldHint, so the safety profile is covered. The description adds genuinely non-obvious behavior beyond them: entitlement-gated catalog results, silent empty results for unsubscribed accounts, and that browsing cannot initiate an Apple subscription.

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?

Four short sentences, front-loaded with the action and followed by the entitlement rule and read-only caveat; nothing is wasted, though the mention of returned 'entitlement and localization' data is redundant given the output schema.

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 annotations and an output schema present, the description only needs to cover access rules and intent, and it does so: entitlement gating, empty results for unsubscribed users, and read-only scope. Nothing critical to a correct call is missing.

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 description coverage is 100%, so query and uiLanguage are already documented with defaults and max lengths. The description only restates their roles (prefilter by query, translate via uiLanguage) without adding format or interaction semantics, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb (Open) and resource (Poly-Glot prompt workspace and template browser), with the optional prefilter/translation behavior spelled out. It is clearly distinct from lookup siblings like get_template or search_templates, though it never names an alternative explicitly.

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 gives clear when/when-not context: the workspace yields the unlocked catalog only for verified subscribers or valid legacy trials, and an unsubscribed account receives no results. That is strong gating guidance, but it does not point to alternative tools (e.g., search_templates) for users who want catalog data another way.

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

prepare_comparePrepare Poly-Glot Compare ModeAInspect

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.

NameRequiredDescriptionDefault
nameNoOptional accessible template name; supply this or a raw prompt.
promptNoOptional original prompt for each provider, maximum 30,000 characters; provide this or name.
valuesNoPlaceholder values used when preparing a named template.
providersNoTwo to eight provider IDs; defaults to ChatGPT and Claude and duplicates are removed.
uiLanguageNoInterface language name or code, e.g. EN; independent of source and response languages.EN
inputLanguageNoLanguage name or code of input text, e.g. es; defaults to EN.EN
outputLanguageNoRequested output language name or code, e.g. fr; defaults to EN.EN

Output Schema

NameRequiredDescription
viewYes
promptNo
messageNo
templateNo
providersNo
entitlementYes
instructionsNo
localizationYes
sourceTemplateNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false, so the description's clarification that this only prepares and returns destinations/instructions without invoking third-party models is genuinely valuable. It also discloses the auth requirement (verified Apple subscription or unexpired legacy trial) and the limitation that MCP cannot start an introductory offer — real context beyond structured fields.

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?

Front-loaded with the core action and return shape before moving to gating and usage. Slightly redundant: 'This is a subscription-gated Send' and 'Compare Mode requires a verified Apple subscription or an unexpired legacy trial' restate the same constraint in adjacent sentences.

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 an output schema present, return values need not be explained, and the description covers behavior, gating, and a usage trigger for a zero-required-parameter tool with nested objects. Only the sibling alternative (prepare_custom_compare) is unaddressed, which is a modest gap.

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%, so all seven parameters (including the prompt/template either-or and the 2-8 provider bound) are already documented in the schema. The description reinforces the either-or input choice and the provider count but adds no syntax or format detail beyond the schema, so baseline 3 applies.

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?

States a specific verb (prepare), resource (canonical prompt for 2-8 providers), and inputs accepted (raw prompt or accessible template). It also draws a clear boundary by declaring it returns destinations/instructions 'without calling third-party models,' which separates it from run_custom_model-style siblings.

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?

'Use when a user explicitly wants side-by-side answers' gives a clear triggering condition, and the subscription gating spells out a prerequisite the agent must check beforehand. It does not name the nearest alternative (prepare_custom_compare) for when the user wants a custom rather than a canonical prompt, so routing is left partly to inference.

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

prepare_custom_comparePrepare custom Compare ModeAInspect

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.

NameRequiredDescriptionDefault
promptYesRequired canonical prompt shared among all selected models, up to 30,000 characters.
uiLanguageNoInterface language name or code, e.g. EN; independent of source and response languages.EN
customModelsYesRequired array of 1 to 5 custom model connection descriptors; excludes authentication credentials.
inputLanguageNoLanguage name or code of input text, e.g. es; defaults to EN.EN
outputLanguageNoRequested output language name or code, e.g. fr; defaults to EN.EN
builtinProvidersNoOptional built-in provider IDs to include alongside custom targets. This preparation tool does not call providers.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only say readOnlyHint=false, destructiveHint=false, openWorldHint=false. The description adds substantial context beyond that: it is a 'Send action,' it returns targets and prompt without model invocation, API keys must not appear in the plan, and it carries gating prerequisites. This is the kind of behavioral disclosure a mutation-flagged tool needs.

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?

Front-loads what the tool produces, then the alternative, then constraints and auth prerequisites. Dense and mostly waste-free, though the subscription/entitlement sentence is long and could be trimmed slightly without losing meaning.

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?

With no output schema, the description still tells the agent what comes back ('returns comparison targets and prompt'), what does not happen (no model invocation), what is required to call it (entitlement), and where execution goes next. Nothing material for correct invocation is missing.

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 100%, so the baseline is 3, but the description adds two constraints not obvious from the schema: the 'at least two targets' requirement and the prohibition on API keys appearing in the comparison plan, plus the notion that the prompt is shared canonically across all selected models.

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?

States a specific verb and resource (prepare a canonical prompt + comparison targets) and bounds the scope precisely: 1–5 custom BYOM models plus optional built-in providers. It is immediately distinguishable from the sibling prepare_compare (built-in only) and from run_custom_model (which actually executes).

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 routes the agent: 'use run_custom_model to execute custom targets separately,' and clarifies this tool does not invoke any models. It also states the exact conditions under which the tool is available (active trial, Pro subscription, unexpired legacy trial) and the limitation that MCP cannot start a subscription or paid trial.

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

run_custom_modelRun a custom modelAInspect

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.

NameRequiredDescriptionDefault
modelNoModel identifier at the custom provider, when needed.
apiKeyNoTransient authentication key sent to the chosen provider; never log or embed in prompts.
promptYesRequired nonempty prompt to send externally, maximum 30,000 characters.
systemNoOptional system instructions supported by the endpoint.
baseUrlNoRequired public HTTPS base URL for openai-compatible mode.
authModeNoCustom REST authentication mode, default bearer.bearer
endpointNoRequired public HTTPS inference URL for custom-rest mode.
maxTokensNoOptional maximum output token count, subject to model limits.
uiLanguageNoInterface language name or code, e.g. EN; independent of source and response languages.EN
adapterModeYesAdapter for the target endpoint: openai-compatible or custom-rest.
promptFieldNoCustom REST request JSON key for prompt content.prompt
systemFieldNoCustom REST request JSON key for system instructions.system
temperatureNoOptional response sampling randomness between 0 and 2.
apiKeyHeaderNoCustom REST API-key authentication header name.x-api-key
extraHeadersNoExtra HTTP headers required by the provider, if any.
inputLanguageNoLanguage name or code of input text, e.g. es; defaults to EN.EN
outputLanguageNoRequested output language name or code, e.g. fr; defaults to EN.EN
responseTextPathNoOptional JSON response field/path containing generated text.

TDQS

A4.4/5.0
Behavior4/5

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

With annotations present, adds strong context: transmits prompt content externally, credentials transient/not persisted, no localhost/private networks, returns model text/name/usage/account state. Missing detail on failure modes or timeout behavior, but rich beyond annotations.

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?

Dense but front-loaded: purpose first, then validate sibling, then returns, then constraints. Every sentence earns its place though it is somewhat packed.

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 an 18-param outbound-call tool with no output schema, the description covers what it returns, the account gate, data transmission, credential handling, and network restrictions. Complete enough for correct invocation.

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%, so the schema already documents all 18 params thoroughly. The description adds the localhost/private-network constraint and auth-mode context but no additional per-parameter meaning beyond 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?

States a specific verb (run a prompt against a model endpoint) and resource (OpenAI-compatible or custom REST endpoint). Clearly distinguishes from validate_custom_model (testing) and prepare_custom_compare.

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?

Explicitly names validate_custom_model as the prerequisite test step and states the account requirement (active trial or Pro). Tells the agent when to use this versus its validation sibling.

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

search_templatesSearch Poly-Glot templatesA
Read-only
Inspect

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.

NameRequiredDescriptionDefault
goalNoOptional intended outcome, e.g. write a help article.
planNoFilter catalog by free or Pro tier; filtering does not grant access.
limitNoMaximum matches to return (1 to 24), default 12.
queryNoSearch phrase or topic; blank lists available templates.
uiLanguageNoLanguage code for localized template labels; defaults to EN.EN

Output Schema

NameRequiredDescription
viewYes
queryYes
resultsYes
entitlementYes
localizationYes

TDQS

A4.7/5.0
Behavior5/5

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

Goes well beyond the readOnlyHint/destructiveHint annotations by disclosing account-tier behavior: expired accounts see locked Pro cards, and selecting one yields a paywall rather than Pro fields or prompt text. It also confirms searching triggers no send or trial, which is real behavioral context an agent needs to interpret results.

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?

Four tight sentences, front-loaded with the operation and its scope, then routing guidance, then the paywall edge case, then the side-effect reassurance. Each sentence contributes distinct information and there is no filler.

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?

An output schema exists, so return structure need not be restated; the description instead covers the two things that would otherwise be missing — when to reach for it versus get_template/build_prompt, and how tier-locked results behave. Nothing needed to call it correctly is absent.

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 description coverage is 100%, so query, goal, plan, limit and uiLanguage are already fully documented, and the description adds no syntax or format detail beyond echoing keywords/goal/free-Pro. Baseline 3 is appropriate when the schema carries the parameter burden.

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?

States a specific verb (Search) and resource (Poly-Glot's template catalog) plus the axis of search (keywords and goal) and an optional filter (free/Pro). It is immediately distinguishable from siblings like get_template and build_prompt, which the description explicitly positions itself before.

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?

Gives an explicit precondition — 'Use before get_template or build_prompt when the exact name is unknown' — naming both alternatives and the condition that selects this tool over them. Nothing about routing is left to inference.

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

transcribe_audioTranscribe audioAInspect

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.

NameRequiredDescriptionDefault
promptNoOptional recognition context, such as expected names or specialist vocabulary; not the text to transcribe.
audioUrlNoPublic HTTPS URL of an audio recording to transcribe. Use this OR audioBase64, never both; private or local URLs are not supported.
filenameNoOriginal audio filename with extension, such as meeting.m4a, to help determine the format.
mimeTypeNoAudio MIME type, such as audio/mpeg, audio/mp4, or audio/wav. Recommended for base64 input.
audioBase64NoBase64-encoded audio bytes, without a data: prefix. Alternative to audioUrl; provide exactly one audio source.
languageHintNoOptional language hint for speech recognition, such as en, es, or fr. Leave blank if unknown.
detectLanguageNoWhen true, also infer a supported Poly-Glot language from the resulting transcript; defaults to false.

TDQS

A4.5/5.0
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 well: it discloses the entitlement requirement ("Requires an active trial or Pro"), names the return payload fields, and warns that audio is submitted to a third-party provider. It omits size limits, failure modes, and latency/rate behavior, which keeps it short of a 5.

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 source constraint and the primary tool purpose are front-loaded, and each subsequent sentence carries distinct, actionable information (entitlement, inputs, return shape, privacy warning) without padding.

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 7-parameter tool with no output schema and no annotations, the description covers purpose, routing, input rules, entitlement, return contents, and a data-handling caveat. Nothing an agent needs to invoke it correctly is missing.

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 description coverage is 100%, so parameters are already documented and the baseline is 3. The description reinforces the exactly-one-source constraint and the mimeType/filename conditional, but adds little syntax or format detail beyond what the schema states.

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?

States a specific verb+resource ("Convert audio to transcript text") and immediately scopes it against the sibling space with "Use for supplied speech recordings, not for translating text." An agent can distinguish this from translate_text/localize_text without opening a schema.

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 when-to-use (supplied speech recordings), when-not (translating text), and the selection rule for inputs ("Provide exactly one source"). It also names the alternative forms of input and their conditions, leaving little to inference.

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

translate_textTranslate textAInspect

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.

NameRequiredDescriptionDefault
textYesNonempty original text to translate, including any formatting to preserve.
sourceLanguageNoOriginal language name or code, such as 'en' or 'English'; 'auto' (default) asks the provider to detect it.auto
targetLanguageYesRequired desired output language name or code among the 38 supported, e.g. 'Spanish' or 'es'.

TDQS

A4.4/5.0
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 well: it discloses the subscription requirement (active trial or Pro), that text is sent to an external provider, the return payload shape, and that quality varies with idiom and context. It does not cover rate limits or error/failure behavior, so it falls short of a 5.

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?

Front-loaded with the core verb and resource, and each sentence adds distinct value (routing, params, return, constraints). The final sentence bundling return shape, quality caveat, and auth requirements is slightly dense but still efficient.

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?

There is no output schema, and the description compensates by naming the returned fields (translated text, targetLanguage, provider, model). Combined with the auth and privacy notes and the routing to localize_text, an agent has everything needed to select and invoke it correctly.

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 description coverage is 100%, so all three parameters are already documented in the schema, establishing a baseline of 3. The description restates targetLanguage and sourceLanguage semantics ('es', 'auto') without adding format or constraint detail beyond the schema, so it does not exceed the baseline.

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?

States a specific verb and resource ('Translate supplied text') with explicit scope (38 supported languages) and names the sibling it is not, localize_text. An agent can distinguish this from localize_text without opening either schema.

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?

Gives an explicit routing rule: use for translation rather than cultural adaptation, and use localize_text when audience, tone, or regional conventions must change. It also clarifies the sourceLanguage='auto' detection path, leaving nothing to inference.

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

validate_custom_modelValidate a custom model endpointA
Read-only
Inspect

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.

NameRequiredDescriptionDefault
modelNoOptional external model identifier for a test probe.
probeNoTrue sends a minimal external request to test the model; false only checks URL safety.
apiKeyNoOptional transient API credential, never stored or echoed.
baseUrlNoPublic HTTPS base URL for openai-compatible mode.
authModeNoCustom REST authentication method: bearer, API-key header, or none.bearer
endpointNoFull public HTTPS URL for custom-rest mode.
adapterModeYesAdapter: openai-compatible or custom-rest.
promptFieldNoJSON request field for test prompt content on custom REST endpoints.prompt
systemFieldNoJSON request field for system instructions on custom REST endpoints.system
apiKeyHeaderNoHeader name when using api-key-header authentication.x-api-key
responseTextPathNoJSON response field or path holding the generated text.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=true, destructiveHint=false), but the description adds real value beyond them: the probe flag triggers an actual outbound request to a third-party provider, credentials are transient and never stored or echoed, and the tool is gated behind trial/Pro. No contradiction with openWorldHint.

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?

Four dense, front-loaded sentences with no filler; the core action and mode-conditional parameters come first, followed by probe semantics, return/credential notes, and the entitlement constraint. Slightly compressed but every sentence carries information.

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 11 parameters and no output schema, the description compensates by naming the return ('validation or probe status'), the credential lifecycle, and the tier requirement, while the schema covers per-field detail. It omits behavior for the custom-REST field-mapping params (promptField, systemField, responseTextPath), but those are adequately documented in the schema.

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 description coverage is 100%, so all 11 parameters are already documented. The description reiterates the baseUrl-vs-endpoint split by adapterMode and the probe semantics, which the schema itself states, and adds little syntax or format detail beyond that. Baseline 3 is appropriate when the schema carries the load.

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?

States a specific verb and resource: 'Validate the HTTPS URL and adapter configuration for an external custom model.' It also delimits scope against the sibling run_custom_model by declaring 'does not perform a user prompt Send,' so an agent can separate validation from execution without opening either schema.

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?

Gives explicit conditional guidance: use baseUrl for OpenAI-compatible mode and endpoint for custom REST, and set probe=true only when an actual external request is intended. It also states the trial/Pro prerequisite. It stops short of naming the alternative tool (run_custom_model) or stating when NOT to validate, which keeps it below a 5.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Changedprepare_compare3 fields changed
      • changedInput schema / properties / providers / description
        Previous value: -"Two to nine provider IDs; defaults to ChatGPT and Claude and duplicates are removed."New value: +"Two to eight provider IDs; defaults to ChatGPT and Claude and duplicates are removed."
      • changedInput schema / properties / providers / items / enum
        Previous value: -[
        -  "chatgpt",
        -  "claude",
        -  "gemini",
        -  "perplexity",
        -  "grok",
        -  "copilot",
        -  "mistral",
        -  "huggingchat",
        -  "duckduckgo"
        -]New value: +[
        +  "chatgpt",
        +  "claude",
        +  "gemini",
        +  "perplexity",
        +  "grok",
        +  "mistral",
        +  "huggingchat",
        +  "duckduckgo"
        +]
      • changedInput schema / properties / providers / maxItems
        Previous value: -9New value: +8
    • Changedprepare_custom_compare1 field changed
      • changedInput schema / properties / builtinProviders / items / enum
        Previous value: -[
        -  "chatgpt",
        -  "claude",
        -  "gemini",
        -  "perplexity",
        -  "grok",
        -  "copilot",
        -  "mistral",
        -  "huggingchat",
        -  "duckduckgo"
        -]New value: +[
        +  "chatgpt",
        +  "claude",
        +  "gemini",
        +  "perplexity",
        +  "grok",
        +  "mistral",
        +  "huggingchat",
        +  "duckduckgo"
        +]
  2. 14 tool updates
    • Changedbuild_prompt7 fields changed
      • addedInput schema / properties / inputLanguage / description
        Added value: +"Language name or code of input text, e.g. es; defaults to EN."
      • addedInput schema / properties / name / description
        Added value: +"Required accessible template name; use search_templates or get_template to find it."
      • addedInput schema / properties / outputLanguage / description
        Added value: +"Requested output language name or code, e.g. fr; defaults to EN."
      • addedInput schema / properties / uiLanguage / description
        Added value: +"Interface language name or code, e.g. EN; independent of source and response languages."
      • addedInput schema / properties / values / description
        Added value: +"Map of template placeholder names to strings, numbers or booleans, e.g. {topic: onboarding}."
      • addedOutput schema / properties / entitlement / properties / dailyFreeRemaining
        Added value: +{
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / entitlement / properties / lastFreeSendAt
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changeddetect_language1 field changed
      • addedInput schema / properties / text / description
        Added value: +"Nonempty sample of text whose predominant language should be detected. Prefer a phrase or sentence, e.g. 'Bonjour, comment allez-vous ?'; this is source content, not an instruction."
    • Changedget_language_options1 field changed
      • addedInput schema / properties / uiLanguage / description
        Added value: +"UI language code or name such as EN, es or Arabic; defaults to EN."
    • Changedget_subscription_status2 fields changed
      • addedOutput schema / properties / entitlement / properties / dailyFreeRemaining
        Added value: +{
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / entitlement / properties / lastFreeSendAt
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changedget_template4 fields changed
      • addedInput schema / properties / name / description
        Added value: +"Required template name returned by search_templates."
      • addedInput schema / properties / uiLanguage / description
        Added value: +"Language code for localized template fields; defaults to EN."
      • addedOutput schema / properties / entitlement / properties / dailyFreeRemaining
        Added value: +{
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / entitlement / properties / lastFreeSendAt
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changedlocalize_text5 fields changed
      • addedInput schema / properties / audience / description
        Added value: +"Intended readers or customers, e.g. 'first-time mobile app users' or 'enterprise developers'."
      • addedInput schema / properties / locale / description
        Added value: +"Optional regional locale, such as 'es-MX', 'fr-CA', or 'en-GB'; affects regional spelling and conventions."
      • addedInput schema / properties / targetLanguage / description
        Added value: +"Required output language name or code, e.g. 'Arabic' or 'ar'."
      • addedInput schema / properties / text / description
        Added value: +"Original nonempty copy to adapt for the target culture, region, and audience."
      • addedInput schema / properties / tone / description
        Added value: +"Desired writing style, such as 'friendly', 'formal', or 'concise'."
    • Changedopen_workspace4 fields changed
      • addedInput schema / properties / query / description
        Added value: +"Optional keyword or goal for template search, e.g. resume. Maximum 200 characters."
      • addedInput schema / properties / uiLanguage / description
        Added value: +"UI language name or code for template labels; defaults to EN."
      • addedOutput schema / properties / entitlement / properties / dailyFreeRemaining
        Added value: +{
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / entitlement / properties / lastFreeSendAt
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changedprepare_compare11 fields changed
      • addedInput schema / properties / inputLanguage / description
        Added value: +"Language name or code of input text, e.g. es; defaults to EN."
      • addedInput schema / properties / name / description
        Added value: +"Optional accessible template name; supply this or a raw prompt."
      • addedInput schema / properties / outputLanguage / description
        Added value: +"Requested output language name or code, e.g. fr; defaults to EN."
      • addedInput schema / properties / prompt / description
        Added value: +"Optional original prompt for each provider, maximum 30,000 characters; provide this or name."
      • addedInput schema / properties / providers / description
        Added value: +"Two to nine provider IDs; defaults to ChatGPT and Claude and duplicates are removed."
      • changedInput schema / properties / providers / items / enum
        Previous value: -[
        -  "chatgpt",
        -  "claude",
        -  "gemini",
        -  "perplexity",
        -  "grok",
        -  "copilot",
        -  "mistral"
        -]New value: +[
        +  "chatgpt",
        +  "claude",
        +  "gemini",
        +  "perplexity",
        +  "grok",
        +  "copilot",
        +  "mistral",
        +  "huggingchat",
        +  "duckduckgo"
        +]
      • changedInput schema / properties / providers / maxItems
        Previous value: -7New value: +9
      • addedInput schema / properties / uiLanguage / description
        Added value: +"Interface language name or code, e.g. EN; independent of source and response languages."
      • addedInput schema / properties / values / description
        Added value: +"Placeholder values used when preparing a named template."
      • addedOutput schema / properties / entitlement / properties / dailyFreeRemaining
        Added value: +{
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / entitlement / properties / lastFreeSendAt
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changedprepare_custom_compare12 fields changed
      • addedInput schema / properties / builtinProviders / description
        Added value: +"Optional built-in provider IDs to include alongside custom targets. This preparation tool does not call providers."
      • changedInput schema / properties / builtinProviders / items / enum
        Previous value: -[
        -  "chatgpt",
        -  "claude",
        -  "gemini",
        -  "perplexity",
        -  "grok",
        -  "copilot",
        -  "mistral"
        -]New value: +[
        +  "chatgpt",
        +  "claude",
        +  "gemini",
        +  "perplexity",
        +  "grok",
        +  "copilot",
        +  "mistral",
        +  "huggingchat",
        +  "duckduckgo"
        +]
      • addedInput schema / properties / customModels / description
        Added value: +"Required array of 1 to 5 custom model connection descriptors; excludes authentication credentials."
      • addedInput schema / properties / customModels / items / properties / adapterMode / description
        Added value: +"Adapter type for this model's API."
      • addedInput schema / properties / customModels / items / properties / baseUrl / description
        Added value: +"Public HTTPS base URL for an OpenAI-compatible model."
      • addedInput schema / properties / customModels / items / properties / endpoint / description
        Added value: +"Public HTTPS inference URL for a custom REST model."
      • addedInput schema / properties / customModels / items / properties / label / description
        Added value: +"Human-readable name of the custom model in the comparison results."
      • addedInput schema / properties / customModels / items / properties / model / description
        Added value: +"Optional external model identifier."
      • addedInput schema / properties / inputLanguage / description
        Added value: +"Language name or code of input text, e.g. es; defaults to EN."
      • addedInput schema / properties / outputLanguage / description
        Added value: +"Requested output language name or code, e.g. fr; defaults to EN."
      • addedInput schema / properties / prompt / description
        Added value: +"Required canonical prompt shared among all selected models, up to 30,000 characters."
      • addedInput schema / properties / uiLanguage / description
        Added value: +"Interface language name or code, e.g. EN; independent of source and response languages."
    • Changedrun_custom_model18 fields changed
      • addedInput schema / properties / adapterMode / description
        Added value: +"Adapter for the target endpoint: openai-compatible or custom-rest."
      • addedInput schema / properties / apiKey / description
        Added value: +"Transient authentication key sent to the chosen provider; never log or embed in prompts."
      • addedInput schema / properties / apiKeyHeader / description
        Added value: +"Custom REST API-key authentication header name."
      • addedInput schema / properties / authMode / description
        Added value: +"Custom REST authentication mode, default bearer."
      • addedInput schema / properties / baseUrl / description
        Added value: +"Required public HTTPS base URL for openai-compatible mode."
      • addedInput schema / properties / endpoint / description
        Added value: +"Required public HTTPS inference URL for custom-rest mode."
      • addedInput schema / properties / extraHeaders / description
        Added value: +"Extra HTTP headers required by the provider, if any."
      • addedInput schema / properties / inputLanguage / description
        Added value: +"Language name or code of input text, e.g. es; defaults to EN."
      • addedInput schema / properties / maxTokens / description
        Added value: +"Optional maximum output token count, subject to model limits."
      • addedInput schema / properties / model / description
        Added value: +"Model identifier at the custom provider, when needed."
      • addedInput schema / properties / outputLanguage / description
        Added value: +"Requested output language name or code, e.g. fr; defaults to EN."
      • addedInput schema / properties / prompt / description
        Added value: +"Required nonempty prompt to send externally, maximum 30,000 characters."
      • addedInput schema / properties / promptField / description
        Added value: +"Custom REST request JSON key for prompt content."
      • addedInput schema / properties / responseTextPath / description
        Added value: +"Optional JSON response field/path containing generated text."
      • addedInput schema / properties / system / description
        Added value: +"Optional system instructions supported by the endpoint."
      • addedInput schema / properties / systemField / description
        Added value: +"Custom REST request JSON key for system instructions."
      • addedInput schema / properties / temperature / description
        Added value: +"Optional response sampling randomness between 0 and 2."
      • addedInput schema / properties / uiLanguage / description
        Added value: +"Interface language name or code, e.g. EN; independent of source and response languages."
    • Changedsearch_templates7 fields changed
      • addedInput schema / properties / goal / description
        Added value: +"Optional intended outcome, e.g. write a help article."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum matches to return (1 to 24), default 12."
      • addedInput schema / properties / plan / description
        Added value: +"Filter catalog by free or Pro tier; filtering does not grant access."
      • addedInput schema / properties / query / description
        Added value: +"Search phrase or topic; blank lists available templates."
      • addedInput schema / properties / uiLanguage / description
        Added value: +"Language code for localized template labels; defaults to EN."
      • addedOutput schema / properties / entitlement / properties / dailyFreeRemaining
        Added value: +{
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / entitlement / properties / lastFreeSendAt
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changedtranscribe_audio7 fields changed
      • addedInput schema / properties / audioBase64 / description
        Added value: +"Base64-encoded audio bytes, without a data: prefix. Alternative to audioUrl; provide exactly one audio source."
      • addedInput schema / properties / audioUrl / description
        Added value: +"Public HTTPS URL of an audio recording to transcribe. Use this OR audioBase64, never both; private or local URLs are not supported."
      • addedInput schema / properties / detectLanguage / description
        Added value: +"When true, also infer a supported Poly-Glot language from the resulting transcript; defaults to false."
      • addedInput schema / properties / filename / description
        Added value: +"Original audio filename with extension, such as meeting.m4a, to help determine the format."
      • addedInput schema / properties / languageHint / description
        Added value: +"Optional language hint for speech recognition, such as en, es, or fr. Leave blank if unknown."
      • addedInput schema / properties / mimeType / description
        Added value: +"Audio MIME type, such as audio/mpeg, audio/mp4, or audio/wav. Recommended for base64 input."
      • addedInput schema / properties / prompt / description
        Added value: +"Optional recognition context, such as expected names or specialist vocabulary; not the text to transcribe."
    • Changedtranslate_text3 fields changed
      • addedInput schema / properties / sourceLanguage / description
        Added value: +"Original language name or code, such as 'en' or 'English'; 'auto' (default) asks the provider to detect it."
      • addedInput schema / properties / targetLanguage / description
        Added value: +"Required desired output language name or code among the 38 supported, e.g. 'Spanish' or 'es'."
      • addedInput schema / properties / text / description
        Added value: +"Nonempty original text to translate, including any formatting to preserve."
    • Changedvalidate_custom_model11 fields changed
      • addedInput schema / properties / adapterMode / description
        Added value: +"Adapter: openai-compatible or custom-rest."
      • addedInput schema / properties / apiKey / description
        Added value: +"Optional transient API credential, never stored or echoed."
      • addedInput schema / properties / apiKeyHeader / description
        Added value: +"Header name when using api-key-header authentication."
      • addedInput schema / properties / authMode / description
        Added value: +"Custom REST authentication method: bearer, API-key header, or none."
      • addedInput schema / properties / baseUrl / description
        Added value: +"Public HTTPS base URL for openai-compatible mode."
      • addedInput schema / properties / endpoint / description
        Added value: +"Full public HTTPS URL for custom-rest mode."
      • addedInput schema / properties / model / description
        Added value: +"Optional external model identifier for a test probe."
      • addedInput schema / properties / probe / description
        Added value: +"True sends a minimal external request to test the model; false only checks URL safety."
      • addedInput schema / properties / promptField / description
        Added value: +"JSON request field for test prompt content on custom REST endpoints."
      • addedInput schema / properties / responseTextPath / description
        Added value: +"JSON response field or path holding the generated text."
      • addedInput schema / properties / systemField / description
        Added value: +"JSON request field for system instructions on custom REST endpoints."
  3. 6 tool updates
    • Changedbuild_prompt3 fields changed
      • addedOutput schema / properties / entitlement / properties / compareLocked
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / entitlement / properties / dailyFreeLimit
        Added value: +{
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / entitlement / properties / nextResetAt
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changedget_subscription_status3 fields changed
      • addedOutput schema / properties / entitlement / properties / compareLocked
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / entitlement / properties / dailyFreeLimit
        Added value: +{
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / entitlement / properties / nextResetAt
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changedget_template3 fields changed
      • addedOutput schema / properties / entitlement / properties / compareLocked
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / entitlement / properties / dailyFreeLimit
        Added value: +{
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / entitlement / properties / nextResetAt
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changedopen_workspace3 fields changed
      • addedOutput schema / properties / entitlement / properties / compareLocked
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / entitlement / properties / dailyFreeLimit
        Added value: +{
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / entitlement / properties / nextResetAt
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changedprepare_compare3 fields changed
      • addedOutput schema / properties / entitlement / properties / compareLocked
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / entitlement / properties / dailyFreeLimit
        Added value: +{
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / entitlement / properties / nextResetAt
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changedsearch_templates3 fields changed
      • addedOutput schema / properties / entitlement / properties / compareLocked
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / entitlement / properties / dailyFreeLimit
        Added value: +{
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / entitlement / properties / nextResetAt
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
  4. 15 tool updates
    • First observedbuild_prompt
    • First observeddetect_language
    • First observedget_custom_model_capabilities
    • First observedget_language_options
    • First observedget_subscription_status
    • First observedget_template
    • First observedlocalize_text
    • First observedopen_workspace
    • First observedprepare_compare
    • First observedprepare_custom_compare
    • First observedrun_custom_model
    • First observedsearch_templates
    • First observedtranscribe_audio
    • First observedtranslate_text
    • First observedvalidate_custom_model

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Invoice by Ouroboros Apps (https://ouroborosapps.com). Freelance invoice records: approved invoice line items, quantities, agreed rates, due dates, and late terms; invoice changes need explicit approval. Connect by pasting https://invoice-continuity2.vercel.app/mcp into Claude, Cursor, Grok, or ChatGPT developer mode (OAuth). Docs: https://ouroborosapps.com/docs/invoice
    4 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Claim by Ouroboros Apps (https://ouroborosapps.com). Brand claims and marketing copy compliance: approved claims, offers, proof, brand voice, and banned phrases, with a check that rejects copy inventing a guarantee or discount. Connect by pasting https://claim-continuity2.vercel.app/mcp into Claude, Cursor, Grok, or ChatGPT developer mode (OAuth). Docs: https://ouroborosapps.com/docs/claim
    46 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources