Skip to main content
Glama

AstroWay Astrology API (full catalogue)

Translate batch

astroway_content_localization_translate_batch
Read-onlyIdempotent

Translate up to 25 strings (≤2000 chars each, ≤20000 total) sharing one target language + domain. Credits: 15 + ceil(total_chars/40).

[Group: Content Localization] [Endpoint: POST /v1/translate/batch] [Required: items, target_lang] [Cost: 16 credits (Tier 1)]

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "items": "<items>",
      "target_lang": "<target_lang>"
    },
    "name": "astroway_content_localization_translate_batch"
  }
}

Input Schema

NameRequiredDescriptionDefault
itemsYes
domainNo
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
source_langNo
target_langYes

Output Schema

NameRequiredDescriptionDefault
charsNo
countNo
itemsNo
domainNo
creditsNo
source_langNo
target_langNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed13 schema fields changed
    • removedOutput schema / properties / chars / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / chars / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / count / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / count / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / credits / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / credits / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / domain / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / domain / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / items / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "anyOf": [
      -        {
      -          "additionalProperties": {},
      -          "properties": {
      -            "provider": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "translated": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            }
      -          },
      -          "type": "object"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ]
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "properties": {
      +            "provider": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "translated": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            }
      +          },
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / source_lang / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / source_lang / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / target_lang / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / target_lang / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  2. First observed

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered without help. The description does add genuinely useful non-annotation facts: the per-call quotas and the credit formula 15 + ceil(total_chars/40). However, it then states "[Cost: 16 credits (Tier 1)]", which reads as a flat cost and is inconsistent with the formula, creating confusion about actual billing rather than clarifying it.

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?

The first sentence is tightly front-loaded with verb, capacity, and limits, and the bracketed metadata block is scannable. A small amount of space is spent on a redundant, conflicting cost line and on restating required parameters already enforced by the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/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-shape explanation is appropriately omitted, and the quota/cost information covers the main operational risk. Still missing for a 6-parameter tool: source_lang behavior when omitted, how domain changes output, and sibling routing among the three translate tools. The self-contradictory cost figures also leave the agent without a trustworthy budget estimate.

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 only 33% (only fields and precision are documented), so the description must compensate. It partly does: it explains that all items share one target_lang and domain and adds the 20000-character aggregate cap that appears nowhere in the schema. It says nothing about source_lang (e.g. auto-detection when omitted) or about domain's role in terminology selection, leaving half the parameters unexplained.

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 gives a specific verb and resource ("Translate up to 25 strings") plus hard scope limits (2000 chars each, 20000 total, one shared target language + domain), which is far more precise than the bare title "Translate batch". It does not, however, contrast itself with the closely named siblings astroway_content_localization_translate_astro and astroway_content_localization_translate_glossary_lang, so the agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use statement and no named alternative. Three translation siblings exist in the same group, and the description never says which one an agent should pick for a single astro string versus a glossary lookup versus a multi-string payload. The size limits implicitly hint at batch use, but that 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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources