Skip to main content
Glama

Extraer emojis

extract-emojis
Read-onlyIdempotent

Extrae emojis (incluye tonos de piel y secuencias ZWJ) de un texto. Cuándo: hay que transformar, comparar o medir un texto con exactitud y no por aproximación. No para: contar la frecuencia de cada carácter (char-frequency). Efectos secundarios: ninguno (solo lectura, sin red, sin estado guardado). Determinista: la misma entrada da la misma salida. Límites: entrada JSON de hasta 64 KB, 1 s por llamada, resultado de hasta 1 MB.

EN: Finds emoji grapheme clusters (including skin tones, ZWJ sequences and flags) in text. When: text has to be transformed, compared or measured exactly instead of approximated. Not for: counting how often each grapheme appears, sorted by frequency then by first appearance (char-frequency). Side effects: none (read-only, no network access, no stored state). Deterministic: the same input gives the same output. Limits: JSON input up to 64 KB, 1 s per call, result up to 1 MB.

Input Schema

NameRequiredDescriptionDefault
textYesText (string; required).
uniqueNoRemove duplicates (boolean; optional; default true).

Output Schema

NameRequiredDescriptionDefault
countNo
itemsNoany JSON value

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / text / examples
      Added value: +[
      +  "ok 👍🏽 family 👨‍👩‍👧 🇨🇴"
      +]
  2. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, and the description largely restates those ("solo lectura, sin red, sin estado guardado", "Determinista"). The added value is the operational limits block — 64 KB JSON input, 1 s per call, 1 MB result — which is genuine behavioral context an agent cannot get from 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?

The paragraph is front-loaded and segmented with explicit labels (Cuándo / No para / Efectos secundarios / Determinista / Límites), so any line can be scanned in isolation. The cost is full duplication across Spanish and English, roughly doubling tokens for identical 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?

An output schema exists, so return values need no prose, and annotations plus the limits block cover the safety and determinism story well. Two gaps remain: the default-on deduplication via unique is never mentioned, and the stated "64 KB JSON input" limit sits oddly against the schema's 1,048,576-character text field, leaving ambiguous which bound actually applies.

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 both text and unique are documented with types, defaults and an example, which sets the baseline at 3. However the description is silent on the most consequential parameter behavior: unique defaults to true, so results are deduplicated unless the caller opts out — a caller reading only the prose would not know that.

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 ("Extrae emojis / Finds emoji grapheme clusters") and scopes it precisely by naming what counts as an emoji unit: skin tones, ZWJ sequences, flags. That scope detail is what separates it from generic extractors like extract-numbers or extract-urls in the sibling list, and an agent can pick it without opening the 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?

Explicitly names the boundary case and the alternative tool: "No para: contar la frecuencia de cada carácter (char-frequency)", which is a real routing decision. The positive "When" clause ("transformar, comparar o medir un texto con exactitud") is abstract and doesn't give a concrete trigger, so it stops short of full when/when-not coverage.

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