Lettras for developers
A free SDK for npm, Kotlin and an MCP server for AI agents: word searches, sudokus, crosswords and Unicode styles with every accent, running locally with no keys.
One engine, every language
The same engine runs locally in each library, with the same puzzles for the same seed. Install it from your language's package manager.
- JavaScript · TypeScript
npm i lettras - Kotlin · Java · Android
org.lettras.artificialss:lettras - RustSoon
cargo add lettras - GoSoon
go get github.com/Artificialss/lettras-sdk/go - SwiftSoon
github.com/Artificialss/lettras-sdk - .NET · C#Soon
dotnet add package Lettras - Dart · FlutterSoon
dart pub add lettras - HomebrewSoon
brew install artificialss/lettras/lettras - VS CodeSoon
artificialss.lettras - JetBrainsSoon
Lettras (Marketplace) - MCP
https://mcp.lettras.org/mcp
Rust, Go, Swift, .NET and Dart, the Homebrew formula and the VS Code and JetBrains extensions are built and being published to their stores. Until they appear there, use the GitHub repository.
All librariesWord search SDK
Generate, fill and check word searches with every accent, and write text in Unicode styles. A local Rust engine for npm, Kotlin and an MCP server for your AI agents.
- npm
npm i lettras - Kotlin
org.lettras.artificialss:lettras - MCP server
https://mcp.lettras.org/mcp
Free use of the MCP server
- Small puzzles (up to 10×10 and 10 words): free and unlimited.
- Larger puzzles: 5 free per client.
- Filling with letters: 100 uses per client.
- Unicode text styles: no limit.
Unicode styles SDK
Write text in 22 Unicode styles (bold, italic, script, fraktur, circled, strikethrough…) that keep accents. It is the engine behind Social Media Styles, available in npm, Kotlin and the MCP server.
- npm
npm i lettras - Kotlin
org.lettras.artificialss:lettras - MCP server
https://mcp.lettras.org/mcp
npm stylize('piña', { style: 'bold' })
Kotlin lettras.stylize("piña", style = "bold")
MCP stylize_text · list_styles- Accents are kept: an ñ is the styled n plus its tilde.
- It tells you which characters a style cannot draw (ß, Æ, Œ, Ø…), so you can show them as an empty box.
- No usage limit, local and with no keys.
Sudoku SDK
Generate and solve sudokus with a unique solution from your code, in five sizes. It is the engine behind our sudoku maker, available in npm, Kotlin and the MCP server.
- npm
npm i lettras - Kotlin
org.lettras.artificialss:lettras - MCP server
https://mcp.lettras.org/mcp
npm sudoku({ size: 9, difficulty: 2, seed: 5 })
Kotlin Lettras().sudoku(size = 9, difficulty = 2, seed = 5)
MCP sudoku · solve_sudoku- Every sudoku has exactly one solution.
- Five sizes (4, 6, 9, 12 and 16) and four levels, repeatable with a seed.
- A solver that tells you whether a grid has a single solution. No usage limit, local and with no keys.
Crossword SDK
Lay out crosswords from words and clues, with numbered entries and a solution grid. It is the engine behind our crossword maker, available in npm, Kotlin and the MCP server.
- npm
npm i lettras - Kotlin
org.lettras.artificialss:lettras - MCP server
https://mcp.lettras.org/mcp
npm crossword({ entries, rows: 12, seed: 4 })
Kotlin Lettras().crossword(entries, rows = 12, seed = 4)
MCP crossword- Words with clues go in, the crossword and its solution come out, with the numbers already placed.
- Every language works and accents are kept; ß is a single cell shown as ẞ.
- No usage limit, local and with no keys.