Skip to main content
Glama

list_keys

Read-onlyIdempotent

:

Instructions

Search and list translation keys (i18n string identifiers) in the configured Texterify project. Returns keys with their current translations, tags, and pagination metadata. Use this to find key IDs needed by get_key, update_key, delete_keys, and set_translation. The response includes: data (array of keys with name, description, html_enabled, pluralization_enabled), included (translations with content per language, tags), and meta.total (total count for pagination). Search matches against key name, description, and translation content (case-insensitive).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_idYesThe Texterify project UUID. You can find this value in the project's texterify.json file under the 'project_id' field
searchNoFilter keys by name, description, or translation content (case-insensitive substring match)
only_untranslatedNoIf true, return only keys that have missing translations for one or more project languages. Useful for finding gaps in localization coverage
pageNoPage number, starting from 1 (default: 1). Use meta.total from the response to determine total pages
per_pageNoNumber of results per page (default: 10, max: 50)
Behavior4/5

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

With annotations declaring readOnlyHint, destructiveHint, and idempotentHint, the description adds substantial behavioral context: it details the exact response structure (data array with specific fields, included translations, meta.total) and discloses search matching behavior (case-insensitive matching across name, description, and translation content). It also notes pagination behavior without contradicting any annotations.

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?

Five sentences, each earning its place: (1) core purpose, (2) general return value, (3) sibling workflow integration, (4) detailed response structure (compensating for missing output schema), (5) search behavior specifics. Front-loaded with action verb, no tautology, zero waste.

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?

Given no output schema exists, the description comprehensively documents the return value structure including nested objects (data, included, meta) and specific fields. It covers pagination, search behavior, project context, and sibling relationships. With 5 parameters at 100% schema coverage plus rich annotations, the description provides complete contextual coverage.

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%, establishing a baseline of 3. The description reinforces the search parameter semantics (case-insensitive matching against specific fields) but largely mirrors what the schema already documents. It adds minimal new parameter-specific meaning beyond the well-documented schema, primarily connecting the page parameter to the meta.total response field.

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 description uses specific verbs ('Search and list') and a specific resource ('translation keys (i18n string identifiers)'). It clearly distinguishes from siblings by explicitly stating the tool is used to 'find key IDs needed by get_key, update_key, delete_keys, and set_translation', establishing its role as a discovery/listing operation versus the mutation siblings.

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?

Provides explicit guidance on when to use the tool: 'Use this to find key IDs needed by get_key, update_key, delete_keys, and set_translation.' This directly maps the listing tool to its dependent siblings and explains the workflow. It also implies usage for the only_untranslated flag by noting it finds 'gaps in localization coverage' (implied from context of parameters).

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mogharsallah/texterify-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server