Skip to main content
Glama

Server Details

Word searches, crosswords, sudoku and Unicode text styles in 6 languages, accents kept.

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
100.0% over 25 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
Artificialss/lettras-sdk
GitHub Stars
0
ChatGPT
–
Claude
–

TDQS

A3.9/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a distinct puzzle type or action: crossword, generate_word_search, sudoku, and solve_sudoku are clearly separate, and fill_word_search is explicitly the completion step for generate_word_search's output. list_languages/list_styles pair naturally with the generators and stylize_text respectively, leaving no real ambiguity.

Naming Consistency4/5

Most tools follow a clean verb_noun pattern (fill_word_search, generate_word_search, list_languages, list_styles, solve_sudoku, stylize_text), but the two puzzle creators are bare nouns (crossword, sudoku) rather than e.g. generate_crossword/generate_sudoku. This is a minor deviation that stays readable.

Tool Count5/5

Eight tools is well-scoped for a puzzle-generation service, with each tool earning its place across the word-search, crossword, sudoku, and text-styling functions. No redundant or filler tools.

Completeness4/5

Word search (generate+fill) and sudoku (create+solve) have full lifecycles, but crossword has only a generator with no solver counterpart, and there is no word-search solver. These gaps are minor since core generation workflows are fully covered.

Available Tools

8 tools
crosswordGenerate a crossword (crucigrama)AInspect

Lays out a crossword from words with clues. Returns two matrices of the same size: puzzle (the game position: "-" is a blank cell, a word's number is on its first cell, "0" marks the other cells where a letter goes, and "a/d" such as "3/4" appears when an across word and a down word start in the same cell) and solution (the same matrix with the correct letters, one grapheme per cell). placements lists every word with its number, clue, direction (across/down) and start cell; unplaced lists words that did not fit. Offer more words than you need: the engine keeps the best layout it finds. Native letters (Ñ, Ç, ẞ…) stay one cell each. Free, no usage limit. The same seed gives the same crossword.

NameRequiredDescriptionDefault
colsNoLargest width. Default: rows.
openNoMarker of letter cells that do not start a word in puzzle. Default "0".
rowsYesLargest height; the result is cropped to what it uses.
seedNoRepeatable crossword.
blockNoMarker of blank cells. Default "-".
entriesYesWords with their clues.
attemptsNoLayouts to try (default 30); more attempts, denser crossword.
classicModeNoStrip accents (ñ becomes N).

TDQS

A3.8/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 that the tool is free with no usage limit, that the seed makes output reproducible, that native graphemes stay one cell, and that unused words land in an `unplaced` list. It does not explicitly state the absence of side effects or any failure mode when too few words fit, 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single dense paragraph, front-loaded with the core purpose and the output structure before the peripheral notes. Every clause is informative, though the long inline explanation of the puzzle-marker conventions is heavy to parse and could be tightened.

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, so the description must describe the return value, and it does so thoroughly: both matrices, the marker semantics for blank/number/letter cells, the placements and unplaced lists. Combined with 100% schema coverage on inputs, an agent has everything needed to call and interpret the 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 8 parameters, making 3 the baseline. The description reinforces a few semantics (seed reproducibility, entries as over-supply, native-letter handling) but largely repeats what the schema and title already convey, adding limited meaning beyond the structured fields.

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 opens with a specific verb+resource ("Lays out a crossword from words with clues") and immediately clarifies the return shape. It is clearly distinct from the word-search/sudoku siblings in spirit, though it never explicitly names or contrasts an alternative. Clear and unambiguous, but no sibling differentiation.

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

Usage Guidelines3/5

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

It gives practical input guidance ("Offer more words than you need: the engine keeps the best layout it finds") and notes determinism via seed, which implies how to use the tool. However, there is no explicit when-to-use / when-not-to-use statement and no reference to the sibling generation tools to help an agent choose between them.

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

list_languagesList supported languagesBInspect

Languages Lettras supports, with the native letters each one adds to its grid alphabet.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about read-only safety, idempotency, caching, or response shape. The zero-argument nature implies a harmless static lookup, but that is inferred rather than stated.

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?

A single front-loaded sentence with no filler; every word describes the returned content. The phrasing ('Languages Lettras supports') is slightly elliptical but still economical.

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 no output schema, the description partially compensates by describing what comes back: languages plus the native letters they contribute. That is adequate for a trivial no-arg enumeration, though it omits the concrete return format (e.g., whether letters come as an array or string).

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 no parameters, which sets the baseline at 4. There is no parameter semantics to explain, and the description correctly does not invent any.

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 the resource (supported languages) and even specifies the payload detail — the native letters each language adds to its grid alphabet. It's a noun phrase rather than a verb+resource, and it doesn't differentiate itself from the analogous sibling list_styles, so it falls short of a 5.

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 guidance on when to call this tool, no prerequisites, and no mention of alternative ways to discover languages or styles. The agent is left to infer that this is a discovery helper rather than being told.

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

list_stylesList text stylesAInspect

The Unicode text styles stylize_text offers, with the id to pass, an English name and a category (bold-italic, sans, script, gothic, mono, enclosed, decoration, other).

NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/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 disclosure burden, and it does disclose the shape of each returned entry (id, English name, category) plus the full category enum. It does not mention ordering, stability, or that no side effects occur, but for a zero-parameter read-only catalog this is solid.

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?

A single sentence with no filler, front-loading the resource and then the item shape. The embedded list of categories makes the clause slightly dense but nothing is wasted.

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?

There is no output schema, so the description correctly compensates by describing the returned fields and the category set. That covers what an agent needs to decide to call it and interpret results; only minor details like result ordering are absent.

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 there are no parameter semantics to explain; baseline 4 applies. The description's mention of 'the id to pass' usefully clarifies how this output relates to another tool's parameters.

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 the specific resource (the Unicode text styles offered by stylize_text) and ties it to the sibling tool that consumes the output, so an agent can tell it apart from crossword/sudoku/style siblings. It stops just short of an explicit verb phrase, but the scope is unambiguous.

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

Usage Guidelines3/5

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

The phrase 'the id to pass' implicitly signals this is a lookup step whose output feeds stylize_text, which is the main when-to-use cue. However, there is no explicit statement of when to call this versus alternatives or any prerequisite/ordering guidance.

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

solve_sudokuSolve a sudokuAInspect

Solves a sudoku grid (0 = empty cell; sizes 4, 6, 9, 12, 16) and says whether the solution is the only one. Free, no usage limit.

NameRequiredDescriptionDefault
puzzleYesRows of numbers, 0 for empty cells.

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses accepted sizes (4, 6, 9, 12, 16), that 0 marks empty cells, that uniqueness is reported, and that there is no cost/rate limit. It omits behavior for unsolvable, malformed, or contradictory grids and does not describe the returned solution format.

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?

A single tight sentence front-loads the operation, then parenthetically supplies the cell convention, then the uniqueness behavior and cost note. No filler.

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 one-parameter tool with no output schema, the description covers input conventions, supported sizes, and part of the return semantics (solution + uniqueness). Error/edge-case behavior remains unexplained, which is the main residual gap.

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 meaning the schema does not: the schema permits any row/column length from 4 to 16, while the description narrows valid sizes to 4, 6, 9, 12, 16. That constraint is directly useful for constructing a valid puzzle.

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?

States a specific verb+resource ('solves a sudoku grid') plus the extra behavior of reporting solution uniqueness, which is more than the title conveys. It does not explicitly distinguish itself from the sibling 'sudoku', which the agent must infer is the generation counterpart.

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

Usage Guidelines3/5

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

Usage is implied: supply a puzzle, get a solution. The 'free, no usage limit' note is useful context but there is no explicit when-to-use/when-not guidance or reference to the sibling sudoku tool for generating instead of solving.

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

stylize_textWrite text in Unicode stylesAInspect

Turns text into Unicode styles for social media bios and posts: bold, italic, script, fraktur, monospace, circled, squared, fullwidth, small caps, strikethrough, underline and more (22 styles). Accents are kept: an accented letter becomes its styled base letter plus the combining accent (ñ, ç, ü, ß work). Not every style can draw every character: letters such as ß, Æ, Œ, Ø or non-Latin scripts stay plain, and accented letters rely on a combining mark that some fonts draw badly. Those characters are listed in notNative for each style, and parts with missing: true mark them, so you can warn the user or show an empty box. Set classic to strip accents first. Pass one style id, several, or none for all styles (see list_styles). Runs locally and has no usage limit.

NameRequiredDescriptionDefault
textYesThe text to style, in its normal spelling (accents kept).
styleNoWhich style(s) to use. Omit for all 22. Ids come from list_styles.
classicNoStrip accents first (ñ becomes n), for places that render combining accents badly.

TDQS

A4.6/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 burden and does so richly: accents are preserved via combining marks, some characters stay plain, those are surfaced in notNative and per-part missing flags, and it runs locally with no usage limit. An agent knows the output shape and limitations before calling.

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, followed by caveats, output hints, the classic flag, and invocation guidance. Sentences are dense and occasionally long, but nearly every clause carries information an agent needs; little is wasted.

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, so the description compensates by describing the return structure and its edge-case fields (notNative, missing: true). Combined with invocation and character-coverage caveats, nothing needed to call it 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 adds real meaning beyond the schema: omitting style means all 22, classic strips accents first (ñ becomes n), and it explains result fields (notNative, missing) the schema never mentions.

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 ('Turns text into Unicode styles'), enumerates the style families, and gives the count (22 styles). It also routes the agent to the sibling list_styles for ids, so it is distinguishable from siblings 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 Guidelines4/5

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

Explains exactly how to invoke: pass one style id, several, or none for all styles, and points at list_styles for valid ids. It gives the condition for classic (fonts that render combining accents badly), but there is no alternative styling tool to compare against, so no explicit when-not-to-use.

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

sudokuGenerate a sudokuAInspect

Creates a sudoku with exactly one solution. Returns puzzle (0 = empty cell) and solution. Sizes 4, 6, 9 (default), 12 and 16; difficulty 1 easy (most clues) to 4 expert. Free, no usage limit. The same seed gives the same sudoku.

NameRequiredDescriptionDefault
seedNoRepeatable sudoku.
sizeNoSide of the grid. Default 9.
difficultyNo1 easy to 4 expert. Default 2.

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden and does reasonably well: it discloses the return shape ('puzzle (0 = empty cell) and solution'), a uniqueness guarantee, determinism ('the same seed gives the same sudoku'), and cost/limits ('Free, no usage limit'). It omits repr details for non-9 grids, but the behavioral profile is solidly covered.

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?

Three short sentences, front-loaded with purpose then return value then parameter/behavior notes. Every clause carries 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?

For a zero-required-parameter generator with no output schema, the description covers what it does, what it returns, the valid parameter ranges and defaults, cost, and determinism. Nothing material an agent needs in order to call it 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 description coverage is already 100%, so the baseline is 3, but the description adds genuine meaning: it spells out the allowed sizes, expands difficulty as '1 easy (most clues) to 4 expert', and clarifies the seed as producing a repeatable puzzle. That exceeds what the schema alone conveys.

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 ('Creates a sudoku with exactly one solution') and immediately names the return payload. The uniqueness guarantee makes it unambiguous that this is a generator, cleanly separating it from the sibling solve_sudoku.

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

Usage Guidelines3/5

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

The description implies when to reach for it (you want a new puzzle with a given size/difficulty/seed) but never names an alternative or a condition for choosing one. There is no explicit when-not guidance relative to solve_sudoku or the word-search siblings.

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. 3 tool updates
    • Addedcrossword
    • Addedsolve_sudoku
    • Addedsudoku
  2. 2 tool updates
    • Addedlist_styles
    • Addedstylize_text
  3. 3 tool updates
    • First observedfill_word_search
    • First observedgenerate_word_search
    • First observedlist_languages

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides tools to inspect Unicode characters, escape/unescape strings in various formats (JS, HTML, URL), all offline and keyless.
    221 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables recognizing and converting between keyboard layouts (QWERTY, ЙЦУКЕН, QWERTZ, AZERTY), auto-correcting text typed in the wrong layout, and predictive T9 input from numeric sequences.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Bilingual (EN/ES) AI-writing detection that shows the evidence instead of a percentage: named tells with line and column, hidden-character inspection, and citation cross-checking against a document's own bibliography. Seven of its nine tools run entirely locally and never touch the network.
    10
    28
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.