Skip to main content
Glama

List Languages

list_languages
Read-only

Returns every language this API can translate from and to.

Free. Never charged, so you can call it at start-up or on a schedule to keep your own list current. It is rate limited like every other key-authenticated route.

Authentication: a vq_key_ key holding translate:read.

Read this instead of hard-coding the list

A code you invent is refused with a 422 before any page is charged, and the error names what is supported. Reading the list means a language we add works on your side with no change, and it means you never pay to discover a typo.

Regional tags are accepted and narrowed to the language, so hi-IN is read as hi. You do not need to strip them yourself.

Scope

English plus the 22 languages of the Eighth Schedule to the Constitution of India. These are the languages Indian courts and governments work in, and each one is backed by script support in rendered output.

auto appears in this list as a SOURCE only. There is no translating into an undetermined language, so sending it as targetLanguage is a 422 that says so.

Direction is not decoration

direction is rtl for Urdu, Sindhi and Kashmiri. Honour it when you render a language's own name and when you display translated output, or a correct translation is shown wrongly.

Example

curl https://api.vaquill.ai/api/v1/translation/languages \
  -H "Authorization: Bearer $VAQUILL_API_KEY"

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_languages"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the readOnly/non-destructive annotations, the description discloses that the call is free and never charged, that it is rate limited like other key-authenticated routes, and that it requires a vq_key_ with translate:read. It also documents edge behaviors: regional tags are narrowed (hi-IN to hi), auto is source-only and rejected as targetLanguage with a 422, and direction is rtl for Urdu, Sindhi and Kashmiri.

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 key fact and the free/rate-limit/auth details are front-loaded, and the section headers make it scannable. It is longer than strictly necessary for a zero-parameter list call, with the curl example and the 'Direction is not decoration' section adding bulk, but each part carries real 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?

For a simple zero-parameter read with an output schema already present, the description covers everything an agent needs: authentication scope, cost, rate limiting, the language scope, and the two traps (auto as target, regional tags). Nothing material 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?

The tool takes zero parameters, so the baseline is 4. The description goes further by explaining how to interpret and apply the returned fields (direction for rendering, auto as source-only), which is useful even though it concerns output rather than inputs.

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?

The opening sentence states a specific verb and resource: 'Returns every language this API can translate from and to.' It is immediately distinguishable from the sibling translate_text, which performs translation rather than enumerating supported 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?

It gives explicit usage context ('call it at start-up or on a schedule') and a clear directive to read the list rather than hard-code it, including the cost rationale (422 before any page is charged). It does not explicitly name translate_text as the consumer of this data, but the surrounding guidance makes the role unambiguous.

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.